没懂部分:
Lambda
questions = [‘name’, ‘quest’, ‘favorite color’]
answers = [‘lancelot’, ‘the holy grail’, ‘blue’]
for q, a in zip(questions, answers):
… print(‘What is your {0}? It is {1}.’.format(q, a))
17 / 3 : 5.666666666666667
17 // 3 :5
17 % 3 :2
2 ** 7 :128
使用cmd作为计算器时,最后print的数值会分配给"_"
string:
len()计算一个字符串的长度
reversed 反转
sorted 正序
{},()和[]的区别
编译缓存:module.version.pyc:pycache/spam.cpython-33.pyc.
You can use the -O or -OO switches on the Python command to reduce the size of a compiled module
4.7.1
默认值在函数 定义 作用域被解析,默认值只被赋值一次
i = 5
def f(arg=i):
print(arg)
i = 6
f()
输出5
第六章
sys.ps1,ps2 提示字符串
sys.path 搜索路径,import的module
dir(sys)返回sys的所有定义
package:多个模块集合?
import path.path(module 、package )
path.path.function():全路径调用
from path.path import name(module 、package 、class 、function 、variable )
name.function() or function()
import 需要路径,路径,路径 path.name
repr(‘hello \n’): (‘hello \n’)
文件读写
f = open(Filename,character)
r:只读,w:只写,删除原有
a:append,r+读和写
默认r
it’s your problem if the file is twice as large as your machine’s memory????
4 = f.write(“wqwq”)
f.seek(offset, from_what),(from_what: 0, 起点,1,当前,2,结尾,如果open的character中,没有b,二进制格式,那么只能使用0,起点seek)
完毕记得close
error and exception
try:
except Error:
raise(重新引发一个异常,未指定则就是Error)
使用with打开文件等一些操作,结束后会自动清除(不会catch error?)
命名空间在不同时刻创建,并具有不同的生命周期
不明白函数调用:method obj = instance obj + function obj,调用时,new argument list = instance obj + argument lis,method obj响应 new argument list
iter:
1: class 中重写了__iter__和__next__方法,实现了 iter(class)
2: def reverse(data):
for index in range(len(data)-1, -1, -1):
yield data[index]
library:
os,当前系统的一些操作
shutil python提供的一些操作接口
sys.stderr.write 可以输出一些警告
sys.exit().退出
random:
choice(()):从数组里随机选择
sample([],int):从数组中抽样N个
random:float
randrange(int):
10.10性能测试
timeit这个貌似很简单
有一个 profile pastas需要了解
13,The Python Standard Library:
Installing Python Modules
The Python Language Reference
如果使用精确的十进制,那么使用decimal进行计算
float.hex():x=0.1,x.hex()
float.fromhex(‘x.hex()’)
元组:
tuple= ();
元组中只包含一个元素时,需要在元素后面添加逗号来消除歧义:(1,)
元组中的元素值是不允许修改的,但我们可以对元组进行连接组合
元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组
list 是[]
list:insert,append,index,remove(从坐起第一个),reverse,sort,pop(移除最后一个),popleft
a in []:判断是否拥有a
集合{1,1,2,3}:内容不会重复
dictionary(就是map)使用:{“2”:5,“a”:4}
dict([(‘sape’, 4139), (‘guido’, 4127)])创建dictionary
dict(sape=4139, guido=4127, jack=4098)
线程:
class A:
def method(self, arg):
pass
class B(A):
def method(self, arg):
A.method(self,arg) #1 A方法
super(B, self).method(arg) #2 调用B的父类,A的方法
super().method(arg) #3 调用父类方法
ob = B()
super(B,ob).method(arg) #调用class B的父类class A的method。
⌃⌄