随笔记录

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. Python实现将csv文件转化为html文件

    核心技术: Pandas 需要转化的csv文件(business.csv): 源代码: import pandas as pd f=pd.read_csv("business.csv&quo ...

  2. Android 子线程 UI 操作真的不可以?

    作者:vivo 互联网大前端团队- Zhang Xichen 一.背景及问题 某 SDK 有 PopupWindow 弹窗及动效,由于业务场景要求,对于 App 而言,SDK 的弹窗弹出时机具有随机性 ...

  3. 关于c#多线程中的几个信号量

    信号量在c#多线程通信中主要用来向阻塞的线程传达信号从而使得阻塞线程继续执行 多线程信号(线程交互):通常是指线程必须等待一个线程或者多个线程通知交互(释放信号)才可以继续执行 在c#中信号量主要有这 ...

  4. SpringBoot Restful 接口实现

    目录 SpringBoot 核心注解 SpringBoot Restful 接口实现 封装响应数据 SpringBoot 核心注解 SpringBoot 基础入门 注解 说明 Component 声明 ...

  5. Python3 filter()函数和map()函数

    filter(function or None,iterable) 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换. 该接收两个参数,第 ...

  6. c++ 辗转相除(动图)

    #include<iostream> #include<cstdio> #include<iomanip> #include<cstring> usin ...

  7. SQL Server各版本序列号/激活码/License/秘钥

    SQL Server 2019 Enterprise:HMWJ3-KY3J2-NMVD7-KG4JR-X2G8G Enterprise Core:2C9JR-K3RNG-QD4M4-JQ2HR-846 ...

  8. SAP APO-供应网络计划

    供应网络计划整合了供应链中的所有流程-采购,制造和分销. 供应网络计划可以优化采购和生产,缩短订单完成时间,并改善客户服务. 供应网络计划与高级计划和优化的其他过程紧密集成,以开发用于购买,制造和分配 ...

  9. SAP APO - 简介

    SAP高级计划和优化(SAP APO)是SAP SCM中的关键模块之一,在供应链流程中控制供应网络计划,备件计划,TP / VS和需求计划. 它可以帮助组织在动态环境中管理其供应链流程. SAP AP ...

  10. WPF开发随笔收录-仿安卓Toast

    一.前言 在项目中,经常需要用到消息提醒功能,在以前接触安卓开发那会使用过Toast,于是打算在WPF上也来模仿一个,话不多说,撸起袖子干起来! 二.正文 1.首先新建一个工程,工程的目录如下 2.编 ...