标签:
数学运算
abs(-5) # 取绝对值,也就是5
round(2.6) # 四舍五入取整,也就是3.0
pow(2, 3) # 相当于2**3,如果是pow(2, 3, 5),相当于2**3 % 5
cmp(2.3, 3.2) # 比较两个数的大小
divmod(9,2) # 返回除法结果和余数
max([1,5,2,9]) # 求最大值
min([9,2,-4,2]) # 求最小值
sum([2,-1,9,12]) # 求和
类型转换
int("5") # 转换为整数 integer
float(2) # 转换为浮点数 float
long("23") # 转换为长整数 long integer
str(2.3) # 转换为字符串 string
complex(3, 9) # 返回复数 3 + 9i
ord("A") # "A"字符对应的数值
chr(65) # 数值65对应的字符
unichr(65) # 数值65对应的unicode字符
bool(0) # 转换为相应的真假值,在Python中,0相当于False
在Python中,下列对象都相当于False: [], (), {}, 0, None, 0.0, ‘‘
bin(56) # 返回一个字符串,表示56的二进制数
hex(56) # 返回一个字符串,表示56的十六进制数
oct(56) # 返回一个字符串,表示56的八进制数
list((1,2,3)) # 转换为表 list
tuple([2,3,4]) # 转换为定值表 tuple
slice(5,2,-1) # 构建下标对象 slice
dict(a=1,b="hello",c=[1,2,3]) # 构建词典 dictionary
序列操作
all([True, 1, "hello!"]) # 是否所有的元素都相当于True值
any(["", 0, False, [], None]) # 是否有任意一个元素相当于True值
sorted([1,5,3]) # 返回正序的序列,也就是[1,3,5]
reversed([1,5,3]) # 返回反序的序列,也就是[3,5,1]
# 匿名函数 f=lambda a,b:a+b print(f(2,3)) # 5 # abs() 取绝对值 print(abs(-111)) # 111 # all() 循环可迭代对象的每个元素,都为真则返回True,否则返回假 # 0,None ,"",[],(),{} 是假的 print(all([11,22])) # True # any 有一个为真,全部都为真 print(any([0,0,None])) #False # ascii 在对象类中找 __repr__,获取返回值 class D(): def __repr__(self): return ‘hello‘ d=D() print(ascii(d)) #hello # bin 将十进制转换成2进制 # oct() hex() print(bin(11)) #0b1011 #各种进制转换成十进制可以用int() print(int(‘11‘,base=2)) #将二进制‘11‘转换成十进制数 3 # bytearry 字节列表 # chr() 找到数字对于的ascii码 # ord() ascii码对应的数字 # chr ord 只适用于ascii码 print(chr(65)) # A print(ord(‘A‘)) # 65 # callable 后面加个括号是看否能执行 #complie() 接受一个字符串,将其转换成函数代码 # divmod 返回除法的(值,余数) print(divmod(10,3)) #(3,1) # eval 计算器的功能 返回结果 print(eval(‘a+60‘,{‘a‘:90})) # 150 print(eval(‘3+4*6/7+((1+2)-5)‘)) # 4.428571428571429 #exec,执行python代码,没有返回值 exec("for i in range(5):print(i)") # 直接循环输出0,1,2,3,4 # filter(函数,可迭代的对象) # 循环可以迭代的对象,传入函数中执行,如果不符合就过滤 def fun(s): #定义判断一个数是否是偶数的函数 if s%2==0: return True else: return False ret=filter(fun,[1,2,3,4,5,6,7,8]) for i in ret: print(i) # 打印出2,4,6,8 #用匿名函数改写一下 ret1=filter(lambda x:x%2==0,[1,2,3,4,5,6,7,8]) for i in ret1: print(i) # 2,4,6,8 #map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回 ret=map(lambda x:x+100,[1,2,3]) for i in ret: print(i) # 101,102,103 # globals() 获取当前文件的所有全局变量 # locals() 获取当前文件的所有局部变量 # hash() 获取哈希值 # isinstance 看某个对象是不是某个类创建的 #iter() 创建一个可以被迭代的对象 next()取下一个值 k=iter([1,2,3,4]) print(next(k)) # 1 # pow() 求指数 print(pow(2,10)) #1024 # round() 四舍五入 # #zip l1=[1,2,3,4] l2=[‘a‘,‘b‘,‘c‘,‘d‘] k=zip(l1,l2) for i in k: print(i) #打印出(1,a),(2,b)....
打开文件——open(‘file‘[,‘mode‘])
"+" 表示可以同时读写某个文件,比如r+,w+,x+ 和 a+ 。"b"表示以字节的方式操作rb或r+b,wb 或 w+b,xb 或 x+b、ab 或 a+b,以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,这些都需要程序员自己来做转换,下面从代码来操作一遍。
常见文件操作方法:
方法 |
描述 |
f.close() |
关闭文件,记住用open()打开文件后一定要记得关闭它,否则会占用系统的可打开文件句柄数。 |
f.name() |
获取文件名称 |
f.next() |
返回下一行,并将文件操作标记位移到下一行。把一个file用于for … in file这样的语句时,就是调用next()函数来实现遍历的。 |
f.fileno() |
获得文件描述符,是一个数字。返回一个长整型的”文件标签“ |
f.flush() |
刷新输出缓存,把缓冲区的内容写入硬盘 |
f.isatty() |
如果文件是一个终端设备文件(Linux系统中),则返回True,否则返回False。 |
f.read([size]) |
读出文件,size为读取的长度,以byte为单位 |
f.readline([size]) |
读出一行信息,若定义了size,则读出 一行的一部分 |
f.readlines([size]) |
读出所有行,也就是读出整个文件的信息。(把文件每一行作为一个list的一个成员,并返回这个list。其实它的内部是通过循环调用readline()来实现的。如果提供size参数,size是表示读取内容的总长,也就是说可能只读到文件的一部分) |
f.seek(offset[,where]) |
把文件指针移动到相对于where的offset位置。where为0表示文件开始处,这是默认值 ;1表示当前位置;2表示文件结尾。(注意:如果文件以a或a+的模式打开,每次进行写操作时,文件操作标记会自动返回到文件末尾) |
f.tell() |
获得文件指针位置,标记当前位置,以文件开头为原点 |
f.truncate([size]) |
把文件裁成规定的大小,默认的是裁到当前文件操作标记的位置。如果size比文件的大小还要大,依据系统的不同可能是不改变文件,也可能是用0把文件补到相应的大小,也可能是以一些随机的内容加上去。 |
f.write(string) |
把string字符串写入文件,write()不会在str后加上一个换行符。 |
f.writelines(list) |
把list中的字符串一行一行地写入文件,是连续写入文件,没有换行。 |
>>> file=open(‘test.txt‘) >>> file.read (4) #读取前4个字节 ‘hell‘ >>> file.read(6) #注意这里是在刚才读过的基础上再向后读的 ‘o\nworl‘ >>> file.read () #不指定size,则读到文件结尾 ‘d\nhello\npython‘ >>> file.read() #再读时已是文件结尾 ‘‘ >>> file.seek(0) #将文件位置定位到第一个字节 >>> file.readline () #一次读一行 ‘hello\n‘ >>> file.readline () ‘world\n‘ >>> file.seek(0) #将文件定位到开始 >>> file.readlines () #读取整个文件的内容 [‘hello\n‘, ‘world\n‘, ‘hello\n‘, ‘python‘] >>> file .tell() #读完之后显示seek位置,即文件的最后了 27L #以长整型表示 >>> file.name #查看文件的名称 ‘test.txt‘ >>> file.close() #关闭文件
在函数内部,可以调用其他函数;
如果一个函数在内部调用自身本身,这个函数就是递归函数。
利用函数编写如下数列:
斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377, 610,987,1597,2584,4181,6765,10946,17711,28657,46368 ...
实现代码如下:
def func1(arg1,arg2): if arg1 == 0: #print arg1,arg2 pass arg3 = arg1 + arg2 if arg3 > 1000: return arg3 return func1(arg2,arg3) #这里return ,所有有值
标签:
原文地址:http://www.cnblogs.com/suliuer/p/5559813.html