随笔分类 - Python
编程苦短,python是岸
摘要:cpython解释器 在源码ceval.c 的 _PyEval_EvalFrameDefault函数有一个大的 switch (opcdoe) 就是字节码解释器的主要部分,示例代码如下: switch (opcode) { case LOAD_FAST: // 实现 LOAD_FAST 操作的代码
阅读全文
摘要:type hint大纲 什么是类型安全以及我们为什么需要类型安全 如何使用Python3的type hint 老项目如何逐步引入type hint Type hint在运行时的应用 疑问 type hint在编译时会被去掉吧? 是的,Python的类型提示(Type Hints)只是一种语法糖,它们
阅读全文
摘要:2024年最推荐的python3版本为3.11 python虚拟机和对象 Python对象和虚拟机_v4.pdf Python虚拟机的原理 • 字节码生成 • 虚拟机运行 Python对象的实现 • 数据结构 • 类型系统 • 内存管理 Python虚拟机 字节码和机器码有什么区别 字节码和机器码是
阅读全文
摘要:在pycharm中打开单个python文件后,减少warning的数量 Python3不支持此语法。print 语句已替换为 print() 函数 打开Settings > Editor > Inspections(检查),在Python中搜索"Code compatibility inspecti
阅读全文
摘要:Python 速查表中文版 本手册是 Python cheat sheet 的中文翻译版。原作者:Arianne Colton and Sean Chen(data.scientist.info@gmail.com) 编译:ucasFL 目录 常规 数值类类型 数据结构 函数 控制流 面向对象编程
阅读全文
摘要:在 Python 2 中,str.format() 函数可以使用一些高级的格式化选项,下面是一些常用的高级用法: 1. 格式化数字 可以使用格式化选项来控制数字的显示方式,例如: # 将数字格式化为带千位分隔符的字符串 n = 1234567 s = "{:,}".format(n) print(s
阅读全文
摘要:python中的metaclass可谓熟悉而又陌生,自己开发时很少用,阅读源码时却经常遇到,那么到底什么是metaclass呢?何时使用metaclass呢? 动态创建class的方法 假设我们需要动态创建一个class,那么一般我们有这样几种方法 通过一个函数动态创建class 通过type动态创
阅读全文
摘要:python的可变参数 方法定义 #*args是可以传list类型的可变参数,**kwargs是可以传dict的可变参数 def wrapper(*args, **kwargs): 使用示例 def foo(*args, **kwargs): print 'args = ', args print
阅读全文
摘要:## 终于搞懂了python2的编码 在python2下碰到非常多次的中文乱码,这次来梳理一下编码问题。 在python 2中默认编码是 ASCII,而在python 3中默认编码是 unicode。 > unicode是中间编码,任何字符编码之前的转换都必须解码成unicode,再编码成目标字符编
阅读全文
摘要:备份文件同步法 最传统的方法就是把配置文件备份,然后在其它电脑上通过导入的方式来恢复,这种方法在很多软件中都实测可行。 具体对应到pycharm中,可以在pycharm菜单栏file - export 和import在多台电脑之间同步设置。 ps.pycharm的快捷键导入后,需要手动修改键盘映射修
阅读全文
摘要:pycharm社区版可用于商业项目 pycharm社区版可用于商业项目,来源于官方的回答:Can I use Community Editions of JetBrains IDEs for developing commercial proprietary software? – Licensin
阅读全文
摘要:The Pylance server crashed 5 times in the last 3 minutes. The server will not be restarted. See the output for more information. 当Pylance server挂了之后,v
阅读全文
摘要:注释中多了一行:type 设置为Epytext PyCharm 2020.3.5 (Community Edition) def test(param1,param2,param3): """ :param param1: :param param2: :param param3: :return:
阅读全文
摘要:获取python的源码 3.x及最新版本的源码:https://github.com/python/cpython python2.7分支的源码:https://github.com/python/cpython/tree/v2.7.18 python官网也提供源码下载:https://www.py
阅读全文
摘要:代码规范 在我们项目中python代码使用tab缩进,并统一大家的编辑器设置。 如果同一个python文件中即有空格又有tab缩进,那么运行此文件会报错。 关于使用空格还是tab,这里就不展开讨论了,每个项目组有自己的规范,使用空格缩进会增加代码中无意义的字符个数。 vscode和pycharm v
阅读全文
摘要:在脚本语言中查找引用时,如果有同名函数,在动态用法那一栏会出现大量的结果,,如何缩小或者动态用法(dynamic usages)的结果呢? 在官网上也有提出了这个问题,但官方没有给出答案issue:Please give an option to ignore dynamic usages in F
阅读全文
摘要:在编辑py文件时,cpu占用100%其实和内存的关系不大,因为这个现象是间歇性的,不是持续的。 我试过给pycharm分配16GB的内存,也是一样没有缓解CPU占用高。 项目和pycharam也都是存放在SSD中,所以磁盘也不会成为影响cpu占用高的因素。 通过观察我发现在这几种情况下pycharm
阅读全文
摘要:记几个笔记 文件后缀不一定要.xml,可以是任意后缀,只要内容是符合xml和格式即可解析出来 文件编码需要是utf-8,python和c#都需要,或者xml文件头有这样一句:<?xml version="1.0" encoding="utf-8"?> 一些比较复杂的文件,如果按照从上往下一层一层节点
阅读全文
摘要:为什么要从py3到py2 背景:之前自学写过一些py3,而且我写的工具是基于python3来写的,但是公司项目是使用python2版本,希望已有工具或者新写的工具能同时在py2和py3上执行,所以记录此踩坑篇。 常见踩坑 python3中print要输出的内容要加上(),比如py2:print xx
阅读全文
摘要:python版本历史 我们端游项目使用是python2.7版本 32位 python2 2.7.18 last version on 2020.4.20 2.7 first version on 2010.7.3 python 2.0发布于2000.10.16 python3 python3.0 发
阅读全文