各位ICer对面向对象的语言Python想必并不陌生,作为继Perl之后最知名,且一直持续保持着版本 更新的脚本语言,Python已经更新到了3.62版本,由于其优秀的标准库,以及各式各样的的模块组件, 使得Python能够活跃在各个领域中,充当环境运行,脚本编写,信息抓取(爬虫,文本处理等),并且 随着Perl的停止更新,老环境,老函数,老脚本必将随着时间的推移逐渐被Python给替代,不夸张的 说,Python凭借其强大的标准库可以更方便快捷的实现Perl能实现的功能,所以掌握Python也将是未来 IC工程师所必备的技能!
- 既然提到Python丰富的库,学习Python就要从import 函数开始,使用import函数可以从模块中 导入函数比如 from module\_name import 函数名。进而从模块中调用函数,要想使用各式各样 的函数,多个库的导入是必不可少的。
- python的数据类型(这个和多数脚本语言如tcl,perl类似,比如int,str等等)
- Python的短路逻辑
- Python的数据结构(这个是Python学习非常重要的部分,除了基本定义,可修改与否,小窍门在 于元组,列表,字典等数据声明的时候,包元素的括号类型不一样)
- Python的条件语句以及循环控制(python书写要注意缩进,不能随意添加,缩进相当于括号)
- Python 推导式(目的在于创建新的数据序列的struct,并实现某一特殊功能)
- Python函数(这个def其实和其他脚本语言一样,类似tcl的proc,shell的function)
- Python的标准库
Python 标准库非常庞大,所提供的组件涉及范围十分广泛,使用标准库可以让用户轻松地完成各 种任务。以下是一些 Python3 标准库中的模块:os 模块:os 模块提供了许多与操作系统交互的函数,例如创建、移动和删除文件和目录,以 及访问环境变量等。
sys 模块:sys 模块提供了与 Python 解释器和系统相关的功能,例如解释器的版本和路径, 以及与 stdin、stdout 和 stderr 相关的信息。
time 模块:time 模块提供了处理时间的函数,例如获取当前时间、格式化日期和时间、计时 等。
datetime 模块:datetime 模块提供了更高级的日期和时间处理函数,例如处理时区、计算 时间差、计算日期差等。
random 模块:random 模块提供了生成随机数的函数,例如生成随机整数、浮点数、序列 等。
math 模块:math 模块提供了数学函数,例如三角函数、对数函数、指数函数、常数等。
re 模块:re 模块提供了正则表达式处理函数,可以用于文本搜索、替换、分割等。
json 模块:json 模块提供了 JSON 编码和解码函数,可以将 Python 对象转换为 JSON 格 式,并从 JSON 格式中解析出 Python 对象。
urllib 模块:urllib 模块提供了访问网页和处理 URL 的功能,包括下载文件、发送 POST 请 求、处理 cookies 等。
- Python的脚本处理(也是日常工作生活中最常用的一项,以处理Log当中的grep出的语句为例,不 过新出现的chatGPT很擅长处理类似文件批量操作)
到这里,Python的基本语法与应用小编就基本介绍完了,当然Python还有很多应用,比如说统 计RTL代码中XOR的数量,统计netlist单个Module内所有instance的面积,看前后两级的setup slack,追信号等等IC工程师想知道的设计信息,但是这所有的一切前提都是了解其中的原理, Python也只是ICer的手头工具而已,所以感觉学习起来吧!
我是处芯积律,感谢阅读。
原文:处芯积律
作者:处芯积律
相关文章推荐
- 一份MCU的验证计划,大家看看全不全?
- 浅谈验证平台的通讯机制
- UVM中add_typewide_sequence和add_sequence的区别
- 灵动微课堂 |开源项目:基于MM32F0160微控制器的机械键盘
- 从FPGA说起的深度学习(七)-循环并行化
- 从FPGA说起的深度学习(六)-任务并行性
更多FPGA干货请关注IC设计技术专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。