随笔记录

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中文官方文档记录的更多相关文章

  1. springboot中文官方文档

    springboot中文官方文档 https://www.breakyizhan.com/springboot/3028.html spring框架 https://www.breakyizhan.c ...

  2. Beautiful Soup4.4.0中文官方文档!最权威的参考---中文官方文档

    最好用的解析库Beautiful Soup 解析库-----中文官方文档 https://beautifulsoup.readthedocs.io/zh_CN/v4.4.0/

  3. js模拟浏览器加载效果 pace.js 中文官方文档

    2017年2月20日12:11:25 官网URL:http://github.hubspot.com/pace/docs/welcome/ 文档 http://github.hubspot.com/p ...

  4. IntelliJ IDEA 中文官方文档

    目录 认识IntelliJ IDEA IntelliJ IDEA 安装和设置 IntelliJ IDEA如何使用 IntelliJ IDEA中不容错过的快捷键 IntelliJ IDEA专业的使用技巧 ...

  5. Kafka中文官方文档

    参见链接:http://orchome.com/kafka/index

  6. Python中定义文档字符串__doc__需要注意格式对齐的处理

    Python中的文档字符串是个很不错的提升代码交付质量.编写文档方便的特征,但是需要注意在使用文档字符串时,将文档字符串标识的引号对必须遵守缩进的规则,否则Python语法检查时会无法通过,而引号内的 ...

  7. jira与wiki官方文档记录

    jira:https://confluence.atlassian.com/display/JIRA/Home wiki:https://confluence.atlassian.com/doc/co ...

  8. Python中的文档字符串作用

    文档字符串是使用一对三个单引号 ''' 或者一对三个双引号 """来包围且没有赋值给变量的一段文字说明(如果是单行且本身不含引号,也可以是单引号和双引号), 它在代码执行 ...

  9. Python中docstring文档的写法

    该写法根据Python的PEP 257文档总结. 类的函数称为方法(method),模块里的函数称为函数(function) 每一个包,模块,类,函数,方法都应该包含文档,包括类的__init__方法 ...

随机推荐

  1. DCM:一个能够改善所有应用数据交互场景的中间件新秀

    摘要:几乎所有涉及应用数据交互的场景都可以通过DCM来改善应用结构,提升开发与计算效率. 本文分享自华为云社区<DCM:中间件家族迎来新成员>,作者: 石臻臻的杂货铺. DCM是什么 现代 ...

  2. 【freertos】009-任务控制

    目录 前言 9.1 相对延时 9.1.1 函数原型 9.1.2 函数说明 9.1.3 参考例子 9.2 绝对延时 9.2.1 函数原型 9.2.2 函数说明 9.2.3 参考例子 9.3 获取任务优先 ...

  3. AtCoder ABC 242 题解

    AtCoder ABC 242 题解 A T-shirt 排名前 \(A\) 可得 T-shirt 排名 \([A+1,B]\) 中随机选 \(C\) 个得 T-shirt 给出排名 \(X\) ,求 ...

  4. 1.windows编程入门MessageBox使用 -windows编程

    引言:刚开始入门windows编程的时候,我记得当时我对MFC的给出的一大堆代码感到束手无策.因为历史的缘故,windows编程入门的代码并没有体现出C++语言的简洁性,相反一上来就给了我们一大堆代码 ...

  5. 3D还原货拉拉女孩身亡真相,这一环值得反思!

    货拉拉女孩跳车身亡的消息,让人惋惜又震惊.司机多次偏离原始路线,女孩最终选择跳车,结果不幸身亡. 货拉拉女孩跳车真相被3D还原 有人质疑平台监管不力,造成如此惨剧,有人吐槽企业压榨员工,司机绕路是不得 ...

  6. jQuery获取市、区县、乡镇、村

    效果图: 首先根据自己方法把地区树状结构json字符串拿到 html下拉框和js写法如下: <select class="form-control" style=" ...

  7. VScode中配置Java环境

    vscode 中配置Java环境 转载说明:本篇文档原作者[@火星动力猿],文档出处来自哔哩哔哩-[教程]VScode中配置Java运行环境 转载请在开头或显眼位置标注转载信息. 1.下载VScode ...

  8. 浏览器js调试

    经常忘记,还是需要记录一下啊 右键,检查元素 在元素DOM节点右击,复制CSS选择器 function sleep (time) { return new Promise((resolve) => ...

  9. e.printStackTrace() 原理的分析

    e.printStackTrace(); 先查看下源码 如图片中1所示,使用的是 PrintStreamOrWriter public void printStackTrace() { printSt ...

  10. 5-15 Virtual 虚拟机

    虚拟机基本使用 Virtualbox安装流程 RockyLinux VirtualBox清华大学个版本下载路径 https://mirrors.tuna.tsinghua.edu.cn/virtual ...