python中文官方文档记录
随笔记录 
python3.10中文官方文档百度网盘链接:https://pan.baidu.com/s/18XBjPzQTrZa5MLeFkT2whw?pwd=1013
提取码:1013
1、python解释器
启动解释器的另一种方式,建议用单引号标注整个 command。python -c command [arg] ...
Python 模块也可以当作脚本使用。输入: python -m module [arg] ... ,会执行 module 的源文件,这跟在命令行把路径写全了一样。
解释器读取命令行参数,把脚本名与其他参数转化为字符串列表存到sys.argv,import sys
除法运算:( / )返回浮点数,// 运算返回整数.
交互模式下,上次输出的表达式会赋给变量 _
2、python速览
内置支持 复数,后缀 j 或 J 用于表示虚数(例如 3+5j )。
print() 函数输出的内容更简洁易读,它会省略两边的引号,并输出转义后的特殊字符。
使用 原始字符串,在引号前添加 r 即可:print(r'C:\some\name')
字符串字面值可以实现跨行连续输入。实现方式是用三引号: """...""" 或 '''...''' ,字符串行尾会自动加上回车换行,如果不需要回车换行,在行尾添加 \ 即可.
相邻的两个或多个 字符串字面值 (引号标注的字符)会自动合并.
索引越界会报错, 但是,切片会自动处理越界索引.
Python 字符串不能修改,是 immutable 的。因此,为字符串中某个索引位置赋值会报错.
列表
遍历某个集合的同时修改该集合的内容,很难获取想要的结果。要在遍历时修改集合的内容,应该遍历该集合的副本或创建新的集合:for user, status in users.copy().items():
range右边界取不到,sum(range(4))返回6。
else 子句可以属于 for 循环,不属于 if 语句
match 语句接受一个表达式并将它的值与以一个或多个 case 语句块形式给出的一系列模式进行比较。
1. def http_error(status): #如果status传404,返回Not found
2. match status:
3. case 400:
4. return "Bad request"
5. case 404:
6. return "Not found"
7. case 401 | 403 | 404:
8. return "I'm a teapot"
9. case _: #通配符,一定会匹配成功
10. return "Something's wrong with the internet"
“|” 和”or ”都表示或者,&表示且。
3、其他流程控制工具
没有 return 语句的函数也返回值,只不过这个值比较是 None (是一个内置名称)。
return 语句不带表达式参数时,返回 None。
列表append()相当于result = result + [a]
函数
默认值只计算一次
1. def f(a, L=[]):
2. L.append(a)
3. return L
4.
5. print(f(1))#[1]
6. print(f(2))#[1, 2]
7. print(f(3))#[1, 2, 3]
*name 形参接收一个 元组,**name 形式时,接收一个字典,def cheeseshop(kind, *arguments, **keywords):
def f(pos1, pos2, /, pos_or_kwd, *, kwd1, kwd2):仅限位置形参应放在 / (正斜杠)前,/ 后可以是 位置或关键字 或 仅限关键字 形参。应在参数列表中第一个 仅限关键字 形参前添加。使用仅限位置形参,可以让用户无法使用形参名。
1. >>> def pos_only_arg(arg, /):
2. ... print(arg)
3. ...
4. >>> def kwd_only_arg(*, arg):
5. ... print(arg) 1. >>> pos_only_arg(1)
2. 1
3. >>> pos_only_arg(arg=1) #报错
4. >>> kwd_only_arg(3)#报错
5. >>> kwd_only_arg(arg=3)
6. 3
字典可以用 ** 操作符传递关键字参数
1. >>> def parrot(voltage, state='a stiff', action='voom'):
2. ... print("-- This parrot wouldn't", action, end=' ')
3. ... print("if you put", voltage, "volts through it.", end=' ')
4. ... print("E's", state, "!")
5. ...
6. >>> d = {"voltage": "four million", "state": "bleedin' demised", "action": "VOOM"}
7. >>> parrot(**d)
8. -- This parrot wouldn't VOOM if you put four million volts through it. E's bleedin' demised !
lambda小巧灵活
1. >>> def make_incrementor(n):
2. ... return lambda x: x + n
3. ...
4. >>> f = make_incrementor(42)
7. >>> f(1)
8. 43
1. >>> pairs = [(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]
2. >>> pairs.sort(key=lambda pair: pair[1]#排序
4、数据结构
list.extend (iterable) 用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表).
pop()、append() 类似栈,后进先出
实现队列(先进先出)最好用 collections.deque ,可以快速从两端添加或删除元素。
queue.append后入,queue.popleft()前出,删除最左边元素
map接收一个函数f和一个list,并通过把函数f依次作用在list的每个元素上,得到一个新的list并返回。
list(map(lambda x: x**2, range(10)))等价于[x**2 for x in range(10)],
#连续使用for循环
1. >>> [(x, y) for x in [1,2,3] for y in [3,1,4] if x != y]
2. [(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]
3. >>> vec = [[1,2,3], [4,5,6], [7,8,9]]
4. >>> [num for elem in vec for num in elem]
5. [1, 2, 3, 4, 5, 6, 7, 8, 9]
t = 12345, 54321, 'hello!' 等价于12345, 54321, 'hello!' = t 默认t为一个元组,输入元组时,圆括号可有可无
u = t, (1, 2, 3, 4, 5)
((12345, 54321, 'hello!'), (1, 2, 3, 4, 5))
只有一个元素的元组可以通过在这个元素后添加逗号来构建
集合是由不重复元素组成的无序容器.
set('abracadabra') 返回 {'a', 'r', 'b', 'c', 'd'}
对字典执行 list(dic) 操作,返回该字典中所有键的列表,sorted(dic)字典可以按键 排序
dict() 构造函数可以直接用键值对序列创建字典:
1. >>> dict([('sape', 4139), ('guido', 4127), ('jack', 4098)])
2. {'sape': 4139, 'guido': 4127, 'jack': 4098}
3. >>> dict(sape=4139, guido=4127, jack=4098)
4. {'sape': 4139, 'guido': 4127, 'jack': 4098}
enumerate() 函数可以同时取出位置索引和对应的值
同时循环两个或多个序列时,用 zip() 函数可以将其内的元素一一匹配:
1. >>> questions = ['name', 'quest', 'favorite color']
2. >>> answers = ['lancelot', 'the holy grail', 'blue']
3. >>> for q, a in zip(questions, answers):
4. ... print('What is your {0}? It is {1}.'.format(q, a))
5. ...
6. What is your name? It is lancelot.
7. What is your quest? It is the holy grail.
8. What is your favorite color? It is blue.
for i in reversed(range(1, 10):倒叙显示
5、输入与输出
f'Results of the {year} {event}'
str.format()
把值转化为字符串,str() 函数返回供人阅读的值, repr() 则生成适于解释器读取的值,多一个‘’,s='hello moto',repr(s)="'hello moto'"
str.rjust() 方法通过在左侧填充空格,同类方法还有str.ljust() 和 str.center()
>>>str = 'runoob'
>>> str.center(20, '*')
'*******runoob*******'
>>> str.center(20)
' runoob '
str.zfill() ,该方法在数字字符串左边填充零
json.load:表示读取文件,返回python对象
json.dump:表示写入文件,文件为json字符串格式,无返回
json.dumps:将python中的字典类型转换为字符串类型,返回json字符串 [dict→str]
json.loads:将json字符串转换为字典类型,返回python对象 [str→dict]
load和dump处理的主要是 文件
loads和dumps处理的是 字符串
6、类
如果同样的属性名称同时出现在实例和类中,则属性查找会优先选择实例:
7、标准库简介
删除文件:os.remove() ; 删除一个空目录:os.rmdir()
shutil.copyfile('data.db', 'archive.db')复制出一个新文件; shutil.rmtree(directory_path)
,删除文件
shutil.move('/build/executables', 'installdir') 重命名文件
glob 模块提供了一个在目录中使用通配符搜索创建文件列表的函数
1. >>> import glob
2. >>> glob.glob('*.py')
3. ['primes.py', 'random.py', 'quote.py']
终止脚本的最直接方法是使用 sys.exit()
忍辱负重型的人永远难以获得幸福
python中文官方文档记录的更多相关文章
- springboot中文官方文档
springboot中文官方文档 https://www.breakyizhan.com/springboot/3028.html spring框架 https://www.breakyizhan.c ...
- Beautiful Soup4.4.0中文官方文档!最权威的参考---中文官方文档
最好用的解析库Beautiful Soup 解析库-----中文官方文档 https://beautifulsoup.readthedocs.io/zh_CN/v4.4.0/
- js模拟浏览器加载效果 pace.js 中文官方文档
2017年2月20日12:11:25 官网URL:http://github.hubspot.com/pace/docs/welcome/ 文档 http://github.hubspot.com/p ...
- IntelliJ IDEA 中文官方文档
目录 认识IntelliJ IDEA IntelliJ IDEA 安装和设置 IntelliJ IDEA如何使用 IntelliJ IDEA中不容错过的快捷键 IntelliJ IDEA专业的使用技巧 ...
- Kafka中文官方文档
参见链接:http://orchome.com/kafka/index
- Python中定义文档字符串__doc__需要注意格式对齐的处理
Python中的文档字符串是个很不错的提升代码交付质量.编写文档方便的特征,但是需要注意在使用文档字符串时,将文档字符串标识的引号对必须遵守缩进的规则,否则Python语法检查时会无法通过,而引号内的 ...
- jira与wiki官方文档记录
jira:https://confluence.atlassian.com/display/JIRA/Home wiki:https://confluence.atlassian.com/doc/co ...
- Python中的文档字符串作用
文档字符串是使用一对三个单引号 ''' 或者一对三个双引号 """来包围且没有赋值给变量的一段文字说明(如果是单行且本身不含引号,也可以是单引号和双引号), 它在代码执行 ...
- Python中docstring文档的写法
该写法根据Python的PEP 257文档总结. 类的函数称为方法(method),模块里的函数称为函数(function) 每一个包,模块,类,函数,方法都应该包含文档,包括类的__init__方法 ...
随机推荐
- netty系列之:protobuf在UDP协议中的使用
目录 简介 UDP在netty中的表示 DatagramPacketEncoder DatagramPacketDecoder 总结 简介 netty中提供的protobuf编码解码器可以让我们直接在 ...
- CoaXPress 时间戳 Time Stamping
背景 在CXP2.0之前,CXP没有定义Time Stamping时间戳的概念,但是用户对Time Stamping是有实际需求的,比如我们要对比多台设备拍摄同一个物体不同角度的照片,或者记录触发完成 ...
- 使用 Vite 插件开发构建 Tampermonkey 用户脚本
起因 一直以来,我都是直接在浏览器 Tampermonkey 扩展页面直接新建用户脚本来开发的: 对于一些简单的脚本,这没有什么问题,即改即看.但当代码多了以后问题就来了,自带编辑器开发体验确实不太舒 ...
- Python Django 功能模块
Python Django模块 Django模块,是针对有django基础,对django功能进行模块化,方便下次使用. 一.注册模块 该注册采用邮箱验证,注册成功后会发送激活链接到邮箱. 邮箱验证参 ...
- 【二分图】匈牙利 & KM
[二分图]匈牙利 & KM 二分图 概念: 一个图 \(G=(V,E)\) 是无向图,如果顶点 \(V\) 可以分成两个互不相交地子集 \(X,Y\) 且任意一条边的两个顶点一个在 \(X\) ...
- Linux免密登陆配置(互信配置)
Linux免密登陆配置(互信配置) 1.生成当前用户的秘钥文件 [oracle@localhost .ssh]$ ssh-keygen -t rsa 2.配置远程登录用户的公钥文件 将公钥文件拷贝至另 ...
- 部署ASP.NET Core最简单的办法,使用IIS部署ASP.NET Core应用
本文迁移自Panda666原博客,原发布时间:2021年3月28日.写原文的时候.NET的最新版本是5.0,现在7的preview出来了,时间真快啊.抽空再写个在Windows Server Core ...
- 想学嵌入式?要不一起玩 Arduino 吧
作者:HelloGitHub-Anthony 这里是 HelloGitHub 推出的<讲解开源项目>系列,本期介绍的是如何用开源硬件开发平台 Arduino,自己动手做一个温湿度显示器. ...
- 2.如何正确理解古典概率中的条件概率《zobol的考研概率论教程》
写本文主要是帮助粉丝理解考研中的古典概率-条件概率的具体定义. "B事件发生的条件下,A事件发生的概率"? "在A集合内有多少B的样本点"? "在B约 ...
- 关于使用 koa路由与mysql模块, ctx.body获取不到值的问题
var Koa = require('koa');var Router = require('koa-router' );var bodyParser = require('koa-bodyparse ...