BIF (built-in functions)
Python中提供了70多个内建函数,具备大量的现成功能。
BIF不需要专门导入,可以直接使用,拿来就用
1.print() # 在屏幕上打印输出
如:
1.print('Hello world') <<< Hello world 2. str='Python' print(str) <<< Python 3.str1='Hello' str2='Python' print(str1,str2) <<< Hello Python
print()BIF默认会有换行行为
如:
print(123) print('ABC') <<<123 <<<ABC # 默认会在输出结果后面加上一个换行符 所以输出是一行行分隔的
修改这种默认行为,不想用换行符结尾,使用end=‘’作参数
如:
# 1.结尾是个空字符 print(123,end='') print('abc',end='') <<<123abc # 2.结尾是制表符 print(123,end='\t') print(abc,end='\t') <<<123 abc #3.结尾是自定义形式 print(123,end='.......') print(abc,end='.......') <<<123.......abc.......
2.len() # 统计某个数据对象的长度 作为返回值返回 参数为数据对象
如:
1. str='a' len(str) # len(str)==1 2. myList=['A','B','C'] len(myList) #len(myList)==3
3.isinstance() # 检查参数1是否是或指向参数2所示的数据类型 return True/False
myList=['A','B','C'] isinstance(myList,list) # 是列表 return True str='Hello' isinstance(str,list) # 不是列表 return False
4.range()迭代固定次数
range()可以返回一个迭代器,可以根据需要生成指定范围的数字
for num in range(9): print(num) <<< 0 <<< 1 <<< 2 <<< 3 <<< 4 <<< 5 <<< 6 <<< 7 <<< 8 ''' 1.num是目标标识符 rang()中生成的9个数字会逐一赋值给num 2.生成范围 [0-9) 9并不会包括 '''
5.open() #打开文件
涉及文件操作,可使用open()
(1)打开文件,设置为只读
# 1 默认为可读 the_file=open('f://test.txt') # 2 使用参数 the_file=open('f://test.txt','r') # r 表示 只读
(2)打开文件,设置为 写
the_file=open('f://test.txt','w')
(3) 打开文件,设置编码形式
the_file=open('f://test.txt',encoding='utf-8') # UTF-8 the_file=open('f://test.txt',encoding='gbk') # GBK
(4)使用:
r : 只读,默认 rb:二进制只读 r+:读写 rb+:二进制读写 w:只写 覆盖 不存在文件即创建 wb:二进制只写,覆盖,不存在文件即创建 w+:读写,覆盖,不存在即创建 wb+:二进制读写,覆盖,不存在即创建 a+:读写 追加 不存在即创建 ab+:二级制,读写,追加,不存在即创建 ''' 所有‘+’表示追加 所有 写 操作没有追加就会覆盖 而且文件不存在都会自动创建 所有 ‘b’都是二级制形式 '''
# size 为可选参数,size未指定则返回整个文件作为一个字符串 #size 指定则返回size大小的一个字符串 file.read([size])
file.readline() # 读取一行
file.readlines([size]) # size 为可选参数 # size 未指定时 return 整个文件内容作为一个列表 包含换行符 # size指定时 return size大小的内容以列表形式 包含换行符
# 通过迭代器访问 for line in file:
# 写 # 如果要写入字符串以外的数据,先转换为字符串 file.write()
# 返回当前文件指针的位置 # 就是到文件头的比特数 the_file=open('f://test.txt') print(the_file.readline()) print(the_file.tell()) the_file.close() 执行结果: Man:Is this the right room for an argument? 45
# 移动文件指针 # file.seek(偏移量,[起始位置]) # 1.直接回到文件起始 the_file=open('f://test.txt') print(the_file.readline()) the_file.seek(0) print(the_file.readline()) the_file.close() 执行结果: Man:Is this the right room for an argument? Man:Is this the right room for an argument? ''' 1.执行完第一个readline()之后,文件指针指向下一行 2.feek(0)调用文件指针至文件指针起始位置 3.执行第二个readline(),就开头读取 4.所以两个输出都相同内容 ''' # 2.漂移任意 比特数 如 95 the_file=open('f://test.txt') the_file.seek(95) print(the_file.readline()) the_file.close() 执行结果: her Man:Yes I have.