[Python 从入门到放弃] 3. BIF(内建函数)

时间:2023-05-16 14:17:08

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.