随笔记录

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. 官方出品,比 mydumper 更快的逻辑备份工具

    mysqldump 和 mydumper 是我们常用的两个逻辑备份工具. 无论是 mysqldump 还是 mydumper 都是将备份数据通过 INSERT 的方式写入到备份文件中. 恢复时,myl ...

  2. Python 微博搜索爬虫

    微博搜索爬虫 网页分析 由于网页端反爬虫机制比较完善所以才去移动端进行爬虫. url地址:https://m.weibo.cn/ 搜索框,输入关键词进行搜索 对网页进行抓包,找到相关数据 查看数据是否 ...

  3. Spring IOC 常用注解与使用

    @Component 注解@component代表spring ioc 会把这个类扫描生成Bean实例 @Component public class Role{ @Value("1&quo ...

  4. python基础学习7

    python基础学习7 内容概要 字符串的内置方法 字符串的内置方法(补充) 列表的内置方法 可变类型与不可变类型 队列与堆栈 内容详情 字符串的内置方法 # 1.strip 移除字符串首尾的指定字符 ...

  5. 【Redis】事件驱动框架源码分析(多线程)

    IO线程初始化 Redis在6.0版本中引入了多线程,提高IO请求处理效率. 在Redis Server启动函数main(server.c文件)中初始化服务之后,又调用了InitServerLast函 ...

  6. Redis之时间轮机制(五)

    一.什么是时间轮 时间轮这个技术其实出来很久了,在kafka.zookeeper等技术中都有时间轮使用的方式. 时间轮是一种高效利用线程资源进行批量化调度的一种调度模型.把大批量的调度任务全部绑定到同 ...

  7. 7.脚本三剑客之awk

    脚本三剑客之awk 目录 脚本三剑客之awk awk介绍 awk工作原理 awk命令格式 awk基础用法 awk命令高级用法 date命令使用 awk介绍 AWK 是一种处理文本文件的语言,是一个强大 ...

  8. java中常见的锁

    1.悲观锁 认为别的线程都会修改数据,二话不说先锁上 synchronized 2.乐观锁 乐观豁达,起初不操作.最后修改的时候比对一下版本,不一致再上锁 3.可重入锁 外层锁了之后,内层仍可以直接使 ...

  9. Java获取当天或者明天等零点时间(00:00:00)0时0分0秒的方法

    SimpleDateFormat sdfYMD = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Calendar calendar = ...

  10. (一)Linux环境的学习环境的搭建

    我们使用VMWARE来安装Debian11系统来进行我们的LINUX学习 Debian虚拟机的安装 vmware-tools的安装 xShell的安装使用 samba的配置 gcc环境的配置 Debi ...