python基础总结(函数,文件操作)


一、内建函数
1、数学运算类
abs(x)#求绝对值
divmod(a, b)#分别取商和余数
float([x])#将一个字符串或数转换为浮点数。如果无参数将返回0.0
int([x[, base]])#将一个字符转换为int类型,base表示进制
long([x[, base]])#将一个字符转换为long类型
range([start], stop[, step]) #产生一个序列,默认从0开始
oct(x)#将一个数字转化为8进制
hex(x)#将整数x转换为16进制字符串
chr(i)#返回整数i对应的ASCII字符
2、集合操作类
format(value [, format_spec])#格式化输出字符串,如“I am {0},I like {1}”
iter(o[, sentinel])#生成一个对象的迭代器,第二个参数表示分隔符
max(iterable[, args...][key]) #返回集合中的最大值
min(iterable[, args...][key])#返回集合中的最小值
dict([arg])#创建数据字典
list([iterable]) #将一个集合类转换为另外一个集合类
str([object]) #转换为string类型
sorted(iterable[, cmp[, key[, reverse]]])#队集合排序
xrange([start], stop[, step]) #返回一个xrange对象
3、逻辑判断
all(iterable)#集合中的元素都为真的时候为真,若为空串返回为True
any(iterable)#集合中的元素有一个为真的时候为真,若为空串返回为False
cmp(x, y)# 如果x < y ,返回负数;x == y, 返回0;x > y,返回正数
4、反射
hash(object)#如果对象object为哈希表类型,返回对象object的哈希值
id(object)# 返回对象的唯一标识
len(s) # 返回集合长度
eload(module) # 重新加载模块
type(object) #返回该object的类型
5、io操作
input([prompt]) #获取用户输入,使用raw_input该函数将不会捕获用户的错误输入
file(filename [, mode [, bufsize]]) #
open(name[, mode[, buffering]]) 打开文件,推荐使用open
raw_input([prompt]) # 设置输入,输入都是作为字符串处理
二、文件操作
1、打开模式列表
#w      以写方式打开,
#a      以追加模式打开 (从 EOF 开始, 必要时创建新文件)
#r+     以读写模式打开
#w+     以读写模式打开 (参见 w )
#a+     以读写模式打开 (参见 a )
#rb     以二进制读模式打开
#wb     以二进制写模式打开 (参见 w )
#ab     以二进制追加模式打开 (参见 a )
#rb+    以二进制读写模式打开 (参见 r+ )
#wb+    以二进制读写模式打开 (参见 w+ )
#ab+    以二进制读写模式打开 (参见 a+ )
#"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)rU,r+U
2、文件对象方法
file.close()                     # 关闭文件
file.fileno()                    # 返回文件的描述符
file.flush()                     # 刷新文件的内部缓冲区
file.isatty()                    # 判断file是否是一个类tty设备
file.next()                      # 返回文件的下一行,或在没有其他行时引发StopIteration异常
file.read(size=-1)               # 从文件读取size个字节,当未给定size或给定负值的时候,读取剩余的所有字节,然后作为字符串返回
file.readline(size=-1)           # 从文件中读取并返回一行(包括行结束符),或返回最大size个字符
file.readlines(sizhint=0)        # 读取文件的所有行作为一个列表返回
file.xreadlines()                # 用于迭代,可替换readlines()的一个更高效的方法
file.seek(off, whence=0)         # 在文件中移动文件指针,从whence(0代表文件起始,1代表当前位置,2代表文件末尾)偏移off字节
file.tell()                      # 返回当前在文件中的位置
file.truncate(size=file.tell())  # 截取文件到最大size字节,默认为当前文件位置
file.write(str)                  # 向文件写入字符串
file.writelines(seq)             # 向文件写入字符串序列seq;seq应该是一个返回字符串的可迭代对象
3、文件读取
f = open('tpm.txt')
# read方式读取
s = f.read()
print(s, '\n\n\n')
print(f.tell())
#上面读取完后指针移动到最后,通过seek将文件指针移动到文件头
f.seek(0)
#使用readline每次读取一行
while(True):
line = f.readline()
print(line)
if(len(line) == 0):
break
f.close()
#为了避免打开文件后忘记关闭,可以通过管理上下文,即:
with open('log','r') as f:
with open('log1') as obj1, open('log2') as obj2:
    pass
二、函数
1、定义和使用函数
def 函数名(参数):
函数体
3、参数
形参:在定义函数的同时定义变量,如下例的a,b。
实参:供形参使用的值叫做实参,入下例的3,4。
def printMax(a, b):
if a > b:
print a, 'is maximum'
else:
rint b, 'is maximum'
printMax(3, 4)
4、局部变量
#当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对
于函数来说是 局部 的。这称为变量的 作用域 
使用global可将局部变量定义为全局变量
例:
def func():
global x
print 'x is', x
x = 2
print 'Changed local x to', x
x = 50
func()
print 'Value of x is', x
结果:
x is 50
Changed global x to 2
Value of x is 2
5、参数
关键参数
#如果你的某个函数有许多参数,而你只想指定其中的一部分,那么你可以通过命名来为这些参数赋值——
这被称作 关键参数
我们使用名字(关键字)而不是位置,来给函数指定实参。这样做有两个优势一,由于我们不必担心参数的顺序,使用函数变得更加简单了。二、假设其他参数
都有默认值,我们可以只给我们想要的那些参数赋值。下列中的b=5,c=10为默认参数,在不填写时为默认值。
例子:
def func(a, b=5, c=10):
print 'a is', a, 'and b is', b, 'and c is', c
func(3, 7)
func(25, c=24)
func(c=50, a=100)
输出:
a is 3 and b is 7 and c is 10
is 25 and b is 5 and c is 24
a is 100 and b is 5 and c is 50
动态参数:
例1:
def func(*args):
print args
执行1:func(11,33,4,4454,5)
执行2:li = [11,2,2,3,3,4,54] func(*li)
例2:
def func(**kwargs):
print args
执行1:func(name='lxb',age=21)
执行2:dic = {'name':'lxb', age:21, 'gender':'male'} func(**dic)
执行3:
def func(*args, **kwargs):
print args
print kwargs
6、返回值
#return 语句用来从一个函数 返回 即跳出函数。我们也可以从函数 返回一个值 。
def maximum(x, y):
if x > y:
return x
else:
return y
print maximum(2, 3)
 

相关内容

    暂无相关文章

评论关闭