随笔记录

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. Android——RelativeLayout

    代码:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android= ...

  2. uniapp设置竖屏

    //在APP.vue中的onLaunch钩子写入plus.screen.lockOrientation('portrait-primary');

  3. 什么!Sentinel流控规则可以这样玩?

    项目源码地址:公众号回复 sentinel,即可免费获取源码 前言 上一篇文章中,我们讲解了关于sentinel基本介绍以及流控规则中直接和快速失败的效果,有兴趣的可以去看上一篇文章,今天,我们给大家 ...

  4. 分布式任务调度ScheduleMaster

    1.什么是ScheduleMaster ScheduleMaster是分布式任务调度系统.简称:集中任务调度系统,最简单的理解ScheduleMaster,就是对不同的系统里面的调度任务做统一管理的框 ...

  5. “摆地摊“都找不到全栈工程师?JNPF帮你分分钟搞定!

    大街上捕捉野生程序员 都这样了还找不到全栈工程师 全栈工程师(Full-Stack Engineer)图鉴: 全栈工程师,也叫全端工程师(同时具备前端和后台能力),英文Full Stack  deve ...

  6. Xmind演讲主题大纲

    参考:https://www.bilibili.com/video/BV1Rb411s7VG?p=9

  7. Number.prototype.toString()方法

    Number.prototype.toString(radix)方法返回指定基数对应Number的字符串值 radix可选参数,值范围为2~36,转化基数,如果未指定,默认值为10,如果radix值不 ...

  8. LayUI+SSM实现一个简单的后台管理系统

    该后台管理系统是用于管理视频网站数据的,目前分5个菜单项,这篇博客主要讲述[影片管理]的具体功能和实现 后台代码结构和[影片管理]的界面如下图 该界面分为上下2部分,[搜索条件]和[影片列表],2部分 ...

  9. <%= %> <%- %> <% %>是什么意思?

    .ejs文件后缀的数据渲染,这是服务器端的.把 .html改成 .ejs, (1)<%= %>相当于html中的innerTEXT,导出不包含标签 . (2)<%- %>相当于 ...

  10. Ansible Playbook概览

    Ansible playbook 执行需要三步路执行: 1.编写playbook 2.定义主机清单文件 3.设置运行环境,写入配置文件 1.编写playbook Playbook使用YAML语法格式进 ...