29

下冰雹 · 2023年05月10日

ICer必备技能,一文带你了解Python的使用!

各位ICer对面向对象的语言Python想必并不陌生,作为继Perl之后最知名,且一直持续保持着版本 更新的脚本语言,Python已经更新到了3.62版本,由于其优秀的标准库,以及各式各样的的模块组件, 使得Python能够活跃在各个领域中,充当环境运行,脚本编写,信息抓取(爬虫,文本处理等),并且 随着Perl的停止更新,老环境,老函数,老脚本必将随着时间的推移逐渐被Python给替代,不夸张的 说,Python凭借其强大的标准库可以更方便快捷的实现Perl能实现的功能,所以掌握Python也将是未来 IC工程师所必备的技能!
image.png

  • 既然提到Python丰富的库,学习Python就要从import 函数开始,使用import函数可以从模块中 导入函数比如 from module\_name import 函数名。进而从模块中调用函数,要想使用各式各样 的函数,多个库的导入是必不可少的。
  • python的数据类型(这个和多数脚本语言如tcl,perl类似,比如int,str等等)

image.png

  • Python的短路逻辑
    image.png
  • Python的数据结构(这个是Python学习非常重要的部分,除了基本定义,可修改与否,小窍门在 于元组,列表,字典等数据声明的时候,包元素的括号类型不一样)

image.png
image.png

  • Python的条件语句以及循环控制(python书写要注意缩进,不能随意添加,缩进相当于括号)

image.png

  • Python 推导式(目的在于创建新的数据序列的struct,并实现某一特殊功能)

image.png

  • Python函数(这个def其实和其他脚本语言一样,类似tcl的proc,shell的function)

image.png

  • 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 等。

image.png

  • Python的脚本处理(也是日常工作生活中最常用的一项,以处理Log当中的grep出的语句为例,不 过新出现的chatGPT很擅长处理类似文件批量操作)

image.png

到这里,Python的基本语法与应用小编就基本介绍完了,当然Python还有很多应用,比如说统 计RTL代码中XOR的数量,统计netlist单个Module内所有instance的面积,看前后两级的setup slack,追信号等等IC工程师想知道的设计信息,但是这所有的一切前提都是了解其中的原理, Python也只是ICer的手头工具而已,所以感觉学习起来吧!

我是处芯积律,感谢阅读。

原文:处芯积律
作者:处芯积律

相关文章推荐

更多FPGA干货请关注IC设计技术专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
19598
内容数
1303
主要交流IC以及SoC设计流程相关的技术和知识
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息