math.ceil(a):比a大的最小的整数
log函数:此函数为对数函数。默认e为底,结果为浮点数。log10以10为底。
math.log(2); math.log(4,2); math.log10(100);
math.ceil(a):比a大的最小的整数
log函数:此函数为对数函数。默认e为底,结果为浮点数。log10以10为底。
math.log(2); math.log(4,2); math.log10(100);
bin(a):将十进制数a转化为二进制数
oct(a):将十进制数a转化为八进制数
hex(a):将十进制数a转化为十六进制
int(str,base):非十进制数文本转化为整数(十进制)
多行语句:使用反斜杠,可以吧一行语句写成多行。
作用域:global语句:用来改变全局变量
作用域与嵌套函数:被嵌套函数的作用域也在上级函数里
工厂函数:根据要求的对象,一个能够记住
函数基础:使用函数,可以把复杂的系统分解为可管理的部件
使用函数的意义:最大优化代码重用和最小优化代码冗余
编写函数:def是可执行的代码
def创建了一个对象,并将其赋值给一个变量
lambda创建一个函数对象发送给调用者
return将一个结果对象返回给调用者
yield向调用者返回一个结果对象,但是记住它离开的地方
global声明了一个模块级的变量并被赋值
nonlocal声明了将要赋值的一个封闭的函数变量
函数是通过赋值(对象引用)传递的
参数、返回值以及变量并不是声明
def语句——实时生成函数
文档:#注释
dir函数:会返回可用所
迭代器和解析:
文件迭代器:文件本身的对象
手动迭代:迭代协议里,当使用for函数进行迭代时,会传递给iter内置函数,以便可迭代对象中获取迭代器。返回的对象有需要有next()方法。
其他内置类型迭代器:遍历字典键的经典方法是明确地获取其键的列表。
列表解析:初探
可以使用产生所需结果列表的一个单个表达式来替代
在文件上使用列表解析:可以使用列表解析来进行去除换行符的操作
其他迭代环境:map也可用在迭代 map函数是把后面的可迭代的每个值当作前面的参数传入,map可以直接返回列表,不需要用list函数进行转换
sorted会对迭代对象进行排序后生成列表
enumerate也会对迭代对象进行运算后,生成可迭代对象,就是在原有的顺序中添加序列号
sum、any、all、max、min也可使用迭代器
list,tuple,join都是可以对迭代对象进行操作后输出
字典试图迭代器,与其它多个迭代器相似
while语句与for语句:
break,continue语句:break语句是用来退出最近所在的for语句或while语句。continue语句是用来跳到最近所在的for语句或者while语句的结尾。
pass语句:占位的空语句,没有具体语句可以用pass语句来进行
for语句:可以用于遍历任何有序的序列对象内的元素。
for循环用法:变量可以使用range函数来代替 range函数格式:range([起始值],结束值。[递增值]) 如:for x in range(10)
if语句:and:当其中一个或多个测试值为False的时候,取第一个False的值;当全部值的测试值为True的时候,取最后一个值
or:当其中一个或多个测试值为True的时候,取第一个True的值;当全部值的测试值为False的时候,取最后一个False值
三元表达式:当测试值为真的的时候取第一个值,为假的时候取第二个值
语句的分隔符·:如果使用语法括号对,语句可横跨数行。——只要在封闭的(),[],{}里,可以分行填写语句。如果语句以反斜杠结尾,就可以跨
print语句:打印流重定向:打印流最终使用的是制定对象的write方法来实现
如果用sys.stdout=open('log.txt','a')的话,会永久更改sys.stdout
赋值与表达式:序列赋值:变量的个数与后面的序列的元素个数必须一致
迭代用法:每次迭代的时候,提取一个列表里的元素
变量命名规则:变量名可以是大小写字母,数字和下划线“_”。但只能以大小写字母或下划线开头,不能以数字开头。变量名是区分大小写的,保留字符是不能使用的
语句简介:语句的格式:一个语句的开始(除了复合语句),就是开头,换行就是结束。一个语句的开始,是严格控制的。不能有多余空格
语句的对齐:缩进不对齐,会发生错误
处理错误:需要提示错误的时候可以使用try
;
set——集合:元素可以是不可变对象:数字、字符串、元祖、frozenset,元素是不重复的
对象灵活性:列表,字典,元祖里的元素可以包含任何对象,任意嵌套,列表和字典是可以任意变长的
无限循环:l=['l']
l.append(l)
打印输出文件:with open('/tmp/print.out','w') as f:
print('Hello,world',file=f)
文件不存在时写入:if not os.path.sexists('somefile')进行判断
读写压缩文件:用gzip和bz2模块压缩存储,读的时候使用rt和read()
获取文件夹中的文件列表:os.listdir('/tmp/dirlist')
os.path
指定编码模式:encoding
当编码模式错误
文件的三种写入模式:r+,w+,a+
文件的访问——b模式
原生对象的存取:用pickle模块(pickle.dump())
判断某个字符是否在一个字符串:可以用in或者not in来判断
ord(x):把一个字符转换成数字
chr(x):把数字转换成单个字
变量没有类型,对象有类型
运算符应用:只能用于整数的运算符:位运算符:&,|,^.~,<<,>>
结果可能不是预期的运算符:逻辑运算符:and,or,not (2 and 3,2 or 3)
身份运算符:and,or,not(float(Fraction(4,5))is 0.8)False
比较运算符连续性:x<y>z False 相当于x<y and y>z
round(x):四舍五入
ceil(x):取最小的大于该值的最大整数
floor(x):取最大的大于该值的最小整数
二进制数表示为0b或者0B开头;八进制数表示为0o或者0O开头;十六进制数表示为:0x或者0X开头
bin(x):十进制转二进制
oct(x):十进制转八进制
hex(x):