Python学习笔记
Python里面所有的名称都是区分大小写的:变量名、函数名、
类名、模块名称、异常名称。如果你可以获取它、设置它、调
用它、构建它、导入它、或者抛出它,那么它就是区分大小写
的。
关建字(Keywords):
False class finally is return
None continue for lambda try
True def from nonlocal while
and del global not with
as elif if or yield
assert else import pass
break except in raise
Python不支持内嵌赋值
例if(aa=10):
pass
C,Java都支持,但Python报语法错误
数组列表(LIST):格式[],可重复值,样例[1,2,3,4,5,6,6]
元组和列表的主要区别是元组不能进行修改。用技术术语来
说,元组是不可变更的。从实践的角度来说,没有可用于修
元组的方法。列表有像append()、extend()、insert()、
remove()和pop()这样的方法。这些方法,元组都没有。
元组(TUPLE):格式(),可重复值,样例((1,2,3),(2,3,4))
元组一次赋多值:(x,y,z)=('a','b','z') => x='a',y='b',z='z'
(MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY)=range(7)
数据集(SET):格式{},非重复值,样例{'apple','orange','pear'},空集合=set()非{},{}表示空字典表
字典表(DICT):格式{},非重复值,样例{'apple':'a','orange':'o','pear':'p'},空字典表={}
*变量名:表示多个Value
**变量名:表示多个Key=Value
set 函数:可将列表转变成数据集, 样例set(['apple','orange','pear','apple'])=>{'apple','orange','pear'}
dict函数:可将元组(key,value)的数组列表转换成字典表 ,样例dict([('a',1),('b',2),('c',3)])=>{'a':1,'b':2,'c':3}
enumerate函数:可将列表转换成字典表,样例enumerate(['a','b','c'])=>{0:'a',1:'b',2:'c'}
zip函数:返回一个元组的迭代器,样例list(zip('abe','cd'))=>[('a','c'),['b','d']];list(zip([1,2,3],[4,5,6]))=>[(1,4),(2,5),(3,6)]
type函数:返回参数的数据类型,样例type(1)=><class 'int'>
isinstance函数:返回第一个参数是否是第二个参数的实例,样例isinstance(1,int)=>True
translate函数:根据字典表返回转换的字符串,样例'MARK'.translate({ord('A'):ord('O')})=>'MORK'
eval函数:接收一个字符串表达式,并执行,样例 eval('1+1')等价于1+1=>2;x=5 eval('x+1')等价于x+1=>6
强转数据类型:
函数 描述
int(x [,base ]) 将x转换为一个整数
long(x [,base ]) 将x转换为一个长整数
float(x ) 将x转换到一个浮点数
complex(real [,imag ]) 创建一个复数
str(x ) 将对象 x 转换为字符串
repr(x ) 将对象 x 转换为表达式字符串
eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s ) 将序列 s 转换为一个元组
list(s ) 将序列 s 转换为一个列表
chr(x ) 将一个整数转换为一个字符
unichr(x ) 将一个整数转换为Unicode字符
ord(x ) 将一个字符转换为它的整数值
hex(x ) 将一个整数转换为一个十六进制字符串
oct(x ) 将一个整数转换为一个八进制字符串
int(1.0) int('11') float(1)等
import语句:
from [moudle,package] import [submoudle,subpackage,function,class,variable]
import [submoudle,subpackage]
import [submoudle,subpackage] as alias (可以导入并定义别名)
由于Python2的一些遗留问题,布尔值可以当做数值对待。
True为1;False为0
Python3 的源码的默认编码方式为UTF‐8,Python2是ASCII
'\\t'=r'\t'
with语句
创建了叫做context【上下文】的东西:当with块结束时,Python将自动关闭文件,即便是在with块中引发了例外也会这样。
在动态函数中使用外部参数值的技术称为 闭合【closures】。
def build_match_and_apply_functions(pattern, search, replace):
def matches_rule(word): ①
return re.search(pattern, word)
def apply_rule(word): ②
return re.sub(search, replace, word)
return (matches_rule, apply_rule) ③
Python类
在__init__()方法中,self指向新创建的对象;在其他类对象中,它指向方法所属的实例。尽管需在定义方法时显式指定self,调用方法时并不必须明确指定。Python会自动添加。
生成器表达式
def ord_map(a_string):
for c in a_string:
yield ord(c)
gen1=ord_map(unique_characters)
gen2=(ord(c) for c in a_string)
gen1等价于gen2
用户自定义的上下文管理器(context manager)。任何类只要定义了两个特殊方法:code>__enter__()和__exit__()就可以变成上下文管理器。用with来自动调用enter和exit函数