目录
1、divmod()
语法:
divmod(a, b)
作用 / 返回值:
计算 a 除以 b 的商和余数,并返回一个包含商和余数的元组;
代码演示:
# divmod(a, b)
res_tuple1 = divmod(5, 2)
print(res_tuple1)
res_tuple2 = divmod(6, 3)
print(res_tuple2)
2、open()
语法:
file = open(filepath,mode,encoding)
filepath文件路径:(必要)可以是绝对路径,或相对路径;
mode模式:(非必要,默认为只读模式 ‘r’)
模式 | 操作 |
---|---|
‘r’ | 只读,文件指针放在文件开头; |
‘r+’ | 读写,文件指针放在文件开头; |
‘rb’ | 只读,以二进制格式打开,文件指针放在文件开头; |
‘rb+’ | 读写,二进制格式打开,文件指针放在文件开头; |
‘w’ | 只写,若文件存在,则删除原有内容,重新开始编辑;若文件不存在,创建文件; |
‘w+’ | 读写,若文件存在,则删除原有内容,重新开始编辑;若文件不存在,创建文件; |
‘wb’ | 只写,二进制格式打开,若文件存在,则删除原有内容,重新开始编辑;若文件不存在,创建文件; |
‘wb+’ | 读写,二进制格式打开,若文件存在,则删除原有内容,重新开始编辑;若文件不存在,创建文件; |
‘a’ | 追加,指针放在文件结尾,即新内容会写在已有内容之后;若文件不存在,创建文件; |
‘a+’ | 读写,指针放在文件结尾,即新内容会写在已有内容之后;若文件不存在,创建文件用于读写; |
‘ab’ | 追加,二进制格式打开,指针放在文件结尾,即新内容会写在已有内容之后;若文件不存在,创建文件; |
‘ab+’ | 读写,二进制格式打开,指针放在文件结尾,即新内容会写在已有内容之后;若文件不存在,创建文件用于读写; |
encoding编码方式:以encoding=‘xxx’方式解码,打开文件,windows默认’gbk’解码,linux默认utf-8
作用 / 返回值:
根据文件路径打开文件,接下来可以根据指定模式使用file调用相关操作;
file对象可用的方法:
方法 | 操作 |
---|---|
file.read([size]) | 未指定size则返回整个文件,读到文件结尾时返回空字符串; |
file.readline() | 读取一行; |
file.readlines([size]) | 返回包含size行的列表,未指定size则返回全部行; |
for line in file: print line | 迭代访问每一行; |
file.write(‘hello\n’) | 写入数据; |
file.tell() | 返回一个整数,表示当前文件指针的位置; |
file.seek(偏移量,[起始位置]) | 移动文件指针,单位为bit,偏移量可正可负;起始位置0(文件头,默认)、1(当前位置)、2(文件尾); |
file.close() | 关闭文件。(所有打开的文件在所需操作完成后都需要关闭,所以编写代码时可以先将open和close都写好,再写中间部分) |
代码演示:
f = open('namefile.txt', 'r')
print(f.read())
print('-' * 50)
f.close()
f = open('namefile.txt', 'r')
print(f.readline())
print(f.readlines())
print('-' * 50)
f.close()
3、staticmethod()
语法:
class Cla():
@staticmethod
def func1(a1, b1, ...):
...
def func2(a2, b2, ...):
...
静态方法func1是否传递参数均可;
作用 / 返回值:
如上定义,则func1为静态方法;
类Cla实例化后可以使用 Cla().func1() 调用func1;
不实例化可以使用 Cla.func1() 调用func1;
代码演示:
class Cla():
@staticmethod
def func1(a1, b1, c1):
print(a1 + b1 + c1)
Cla.func1(1, 2, 3)
cla = Cla()
cla.func1(4, 5, 6)
4、all()
语法:
all(iterable)
iterable:可迭代的参数(如元组、列表);
作用 / 返回值:
判断可迭代参数iterable中的所有元素是否都为True,若是,返回True;否则返回False;
除 0、’’、None、False 外,均为True;
注意:空元组、空列表返回值为Ture;
代码演示:
print('1、', all((1, 2, 3)))
print('2、', all((1, '', 3)))
print('3、', all([1, 2, False]))
print('4、', all(('a', 2, 3)))
print('5、', all((0, 2, 3)))
print('6、', all(('0', 2, 3)))
print('7、', all(()))
print('8、', all([]))
5、enumerate()
语法:
enumerate(sequence, [start = 0])
sequence:一个支持迭代的对象;
start:下标起始位置;
作用 / 返回值:
将一个可遍历的数据对象(列表、元组、字符串)组合为一个索引序列,同时列出数据和数据下标;
一般用在for循环中;
深度学习中有时可用于同时读取数据集的样本、标签;
代码演示:
a_list = ['a', 'b', 'c', 'd']
print('1、', list(enumerate(a_list)))
a_list = ['a', 'b', 'c', 'd']
print('2、', list(enumerate(a_list, 2)))
a_tuple = ('a', 'b', 'c', 'd')
print('3、', tuple(enumerate(a_list)))
a_tuple = ('a', 'b', 'c', 'd')
print('4、', tuple(enumerate(a_list, 5)))
a_dict = {'a': 'aa', 'b': 'bb', 'c': 'cc', 'd': 'dd'}
print('5、', dict(enumerate(a_dict['d'])))
a_dict = {'a': 'aa', 'b': 'bb', 'c': 'cc', 'd': 'qwe'}
print('6、', dict(enumerate(a_dict['d'], 3)))
print('-' * 50)
seq = ['lalala', 'xixixi', 'dododo']
for i, element in enumerate(seq):
print(i, element)
6、int()
语法:
int(x, base=10)
x:字符串或数字;
base:进制(默认为10进制);
例如:int(‘12’, 8)表示12是8进制的数字,返回值为十进制数10;
作用 / 返回值:
将字符串或数字转化为整型数据;
代码演示:
print('1、', int())
print('2、', int(3))
print('3、', int('3'))
print('4、', int(3.6))
print('5、', int('12', 8))
print('6、', int('12', 16))
print('7、', int('0xe', 16))
7、ord()
语法:
ord(c)
c:长度为1的字符串;
作用 / 返回值:
ord() 函数 是 chr()函数(对于8位的ASCII字符串)或 unichr()函数(对于Unicode对象)的配对函数;
返回的是字符串的ASCII数值,或Unicode数值;(数值为十进制整数)
代码演示:
print('1、', ord('a'))
print('2、', ord('b'))
print('3、', ord('c'))
print('4、', ord('1'))
print('5、', ord('2'))
print('6、', ord('3'))
print('7、', ord(','))
8、any()
语法:
any(iterable)
iterable:可迭代的参数(如元组、列表);
作用 / 返回值:
判断可迭代参数iterable中的元素是否存在 Ture,若存在,返回Ture;否则返回False;
除 0、’’、None、False 外,均为True;
注意:空元组、空列表返回值为False;
代码演示:
print('1、', any((1, 2, 3)))
print('2、', any((1, '', 3)))
print('3、', any([0, 0, 0]))
print('4、', any(('', '', '')))
print('5、', any((0, '', False)))
print('6、', any(('0', 0, '')))
print('7、', any(()))
print('8、', any([]))
9、eval()
语法:
eval(expression)
作用 / 返回值:
执行一个字符串表达式,并返回表达式的值(计算结果);
代码演示:
print('1、', eval('1 + 3 * 2'))
print('2、', eval('pow(2, 3)'))
a = 5
print('3、', eval('1 + a * 2'))
b_str = '3 + 12'
print('4、', eval(b_str))
print('5、', eval('5/2'))
print('6、', eval('10/3'))
10、isinstance()
语法:
isinstance(object, classinfo)
object:实例对象;
classinfo:直接或间接类名、基本类型或由它们组成的元组;
作用 / 返回值:
判断对象是否为一个已知类型;(object与classinfo类型相同,或为classinfo中类型之一,则返回Ture,否则返回False)
判断两个类型是否相同时使用isinstance()更好;
isinstance()认为子类和父类是同一类型,而type()认为子类与父类类型不同;
代码演示:
print('1、', isinstance(1, int))
print('2、', isinstance(1, str))
print('3、', isinstance(1, (str, int, tuple)))
print('4、', isinstance((1, 2), (str, int, tuple)))
class A:
pass
class B(A):
pass
print('5、', isinstance(A(), A))
print('6、', isinstance(B(), A))
print('7、', type(A()) == A)
print('8、', type(B()) == A)