ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
[TOC] # abs() 函数 > abs() 函数返回数字的绝对值。 ~~~ abs(-45) : 45 abs(100.12) : 100.12 abs(119L) : 119 ~~~ # divmod() 函数 > divmod() 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)。 ``` >>>divmod(7, 2) (3, 1) >>> divmod(8, 2) (4, 0) >>> divmod(1+2j,1+0.5j) ((1+0j), 1.5j) ``` # input() 函数 ``` Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型。 Python2.x 中 input() 相等于eval(raw\_input(prompt)),用来获取控制台的输入。 raw\_input() 将所有输入作为字符串看待,返回字符串类型。而 input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float )。 ``` # open() 函数 > open() 函数用于打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。 # staticmethod() 函数 > staticmethod 返回函数的静态方法。 > 该方法不强制要求传递参数,如下声明一个静态方法: ~~~ class C(object): @staticmethod def f(arg1, arg2, ...): ... ~~~ 以上实例声明了静态方法 f,类可以不用实例化就可以调用该方法 C.f(),当然也可以实例化后调用 C().f()。 # all() 函数 > all() 函数用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。 > 元素除了是 0、空、FALSE 外都算 TRUE。 ``` >>>all(['a', 'b', 'c', 'd']) # 列表list,元素都不为空或0 True >>> all(['a', 'b', '', 'd']) # 列表list,存在一个为空的元素 False >>> all([0, 1,2, 3]) # 列表list,存在一个为0的元素 False >>> all(('a', 'b', 'c', 'd')) # 元组tuple,元素都不为空或0 True >>> all(('a', 'b', '', 'd')) # 元组tuple,存在一个为空的元素 False >>> all((0, 1, 2, 3)) # 元组tuple,存在一个为0的元素 False >>> all([]) # 空列表 True >>> all(()) # 空元组 True ``` # enumerate() 函数 > enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。 Python 2.3. 以上版本可用,2.6 添加 start 参数。 ~~~ enumerate(sequence, [start=0]) ~~~ * sequence -- 一个序列、迭代器或其他支持迭代对象。 * start -- 下标起始位置。 ``` >>>seasons = ['Spring', 'Summer', 'Fall', 'Winter'] >>> list(enumerate(seasons)) [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')] >>> list(enumerate(seasons, start=1)) # 下标从 1 开始 [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')] ``` # int() 函数 > int() 函数用于将一个字符串或数字转换为整型。 ~~~ class int(x, base=10) ~~~ * x -- 字符串或数字。 * base -- 进制数,默认十进制。 # ord() 函数 > ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常。 # str() 函数 > str() 函数将对象转化为适于人阅读的形式。 # any() 函数 > any() 函数用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True。 元素除了是 0、空、FALSE 外都算 TRUE。 # eval() 函数 > eval() 函数用来执行一个字符串表达式,并返回表达式的值。 ~~~ eval(expression[, globals[, locals]]) ~~~ * expression -- 表达式。 * globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。 * locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。 ``` >>>x = 7 >>> eval( '3 * x' ) 21 >>> eval('pow(2,2)') 4 >>> eval('2 + 2') 4 >>> n=81 >>> eval("n + 4") 85 ``` # isinstance() 函数 > isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。 ``` isinstance() 与 type() 区别: * type() 不会认为子类是一种父类类型,不考虑继承关系。 * isinstance() 会认为子类是一种父类类型,考虑继承关系。 如果要判断两个类型是否相同推荐使用 isinstance()。 ``` # pow() 函数 > **pow()**方法返回 xy(x的y次方) 的值。 以下是 math 模块 pow() 方法的语法: ~~~ import math math.pow( x, y ) ~~~ 内置的 pow() 方法 ~~~ pow(x, y[, z]) ~~~ 函数是计算x的y次方,如果z在存在,则再对结果进行取模,其结果等效于pow(x,y) %z **注意:**pow() 通过内置的方法直接调用,内置方法会把参数作为整型,而 math 模块则会把参数转换为 float。 # sum() 函数 > **sum()**方法对系列进行求和计算。 以下是 sum() 方法的语法: ~~~ sum(iterable[, start]) ~~~ * iterable -- 可迭代对象,如:列表、元组、集合。 * start -- 指定相加的参数,如果没有设置这个值,默认为0。 ``` >>>sum([0,1,2]) 3 >>> sum((2, 3, 4), 1 # 元组计算总和后再加 1 10 ``` # basestring() 函数 > **basestring()**方法是 str 和 unicode 的超类(父类),也是抽象类,因此不能被调用和实例化,但可以被用来判断一个对象是否为 str 或者 unicode 的实例,isinstance(obj, basestring) 等价于 isinstance(obj, (str, unicode))。 ``` >>>isinstance("Hello world", str) True >>>isinstance("Hello world", basestring) True ``` # execfile() 函数 > execfile() 函数可以用来执行一个文件。 ~~~ execfile(filename[, globals[, locals]]) ~~~ * filename -- 文件名。 * globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。 * locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。 # issubclass() 函数 > **issubclass()**方法用于判断参数 class 是否是类型参数 classinfo 的子类。 ~~~ issubclass(class, classinfo) ~~~ * class -- 类。 * classinfo -- 类。 如果 class 是 classinfo 的子类返回 True,否则返回 False。 # print() 函数 > **print()**方法用于打印输出,最常见的一个函数。 ~~~ print(*objects, sep=' ', end='\n', file=sys.stdout) ~~~ * objects -- 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。 * sep -- 用来间隔多个对象,默认值是一个空格。 * end -- 用来设定以什么结尾。默认值是换行符 \\n,我们可以换成其他字符串。 * file -- 要写入的文件对象。 # super() 函数 > **super()**函数是用于调用父类(超类)的一个方法。 super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承)等种种问题。 MRO 就是类的方法解析顺序表, 其实也就是继承父类方法时的顺序表。 # bin() 函数 > **bin()**返回一个整数 int 或者长整数 long int 的二进制表示。 # file() 函数 > **file()**函数用于创建一个 file 对象,它有一个别名叫[open()](http://www.runoob.com/python/pytho-func-open),更形象一些,它们是内置函数。参数是以字符串的形式传递的。 ~~~ file(name[, mode[, buffering]]) ~~~ * name -- 文件名 * mode -- 打开模式 * buffering -- 0 表示不缓冲,如果为 1 表示进行行缓冲,大于 1 为缓冲区大小。 # iter() 函数 > **iter()**函数用来生成迭代器。 ~~~ iter(object[, sentinel]) ~~~ * object -- 支持迭代的集合对象。 * sentinel -- 如果传递了第二个参数,则参数 object 必须是一个可调用的对象(如,函数),此时,iter 创建了一个迭代器对象,每次调用这个迭代器对象的\_\_next\_\_()方法时,都会调用 object。 # property() 函数 > **property()**函数的作用是在新式类中返回属性值。 ~~~ class property([fget[, fset[, fdel[, doc]]]]) ~~~ * fget -- 获取属性值的函数 * fset -- 设置属性值的函数 * fdel -- 删除属性值函数 * doc -- 属性描述信息 # Tuple(元组) tuple()方法 Python 元组 tuple() 函数将列表转换为元组。 ~~~ tuple( seq ) ~~~ * seq -- 要转换为元组的序列。 # bool() 函数 > **bool()**函数用于将给定参数转换为布尔类型,如果没有参数,返回 False。 bool 是 int 的子类。 ~~~ class bool([x]) ~~~ * x -- 要进行转换的参数。 # filter() 函数 > **filter()**函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。 该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。 ~~~ filter(function, iterable) ~~~ * function -- 判断函数。 * iterable -- 可迭代对象。 # len()方法 > Python len() 方法返回对象(字符、列表、元组等)长度或项目个数。 ~~~ len( s ) ~~~ * s -- 对象。 # range() 函数用法 > range() 函数可创建一个整数列表,一般用在 for 循环中。 ~~~ range(start, stop[, step]) ~~~ * start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5); * stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是\[0, 1, 2, 3, 4\]没有5 * step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1) # type() 函数 > type() 函数如果你只有第一个参数则返回对象的类型,三个参数返回新的类型对象。 isinstance() 与 type() 区别: * type() 不会认为子类是一种父类类型,不考虑继承关系。 * isinstance() 会认为子类是一种父类类型,考虑继承关系。 如果要判断两个类型是否相同推荐使用 isinstance()。 ~~~ type(object) type(name, bases, dict) ~~~ * name -- 类的名称。 * bases -- 基类的元组。 * dict -- 字典,类内定义的命名空间变量。 # bytearray() 函数 > **bytearray()**方法返回一个新字节数组。这个数组里的元素是可变的,并且每个元素的值范围: 0 <= x < 256。 ~~~ class bytearray([source[, encoding[, errors]]]) ~~~ * 如果 source 为整数,则返回一个长度为 source 的初始化数组; * 如果 source 为字符串,则按照指定的 encoding 将字符串转换为字节序列; * 如果 source 为可迭代类型,则元素必须为\[0 ,255\] 中的整数; * 如果 source 为与 buffer 接口一致的对象,则此对象也可以被用于初始化 bytearray。 * 如果没有输入任何参数,默认就是初始化数组为0个元素。 # float() 函数 > **float()**函数用于将整数和字符串转换成浮点数。 # list()方法 > list() 方法用于将元组转换为列表。 **注:**元组与列表是非常类似的,区别在于元组的元素值不能修改,元组是放在括号中,列表是放于方括号中。 ~~~ list( tup ) ~~~ * tup -- 要转换为列表的元组。 # raw_input() 函数 raw\_input() 用来获取控制台的输入。 raw\_input() 将所有输入作为字符串看待,返回字符串类型。 > 注意:input() 和 raw\_input() 这两个函数均能接收 字符串 ,但 raw\_input() 直接读取控制台的输入(任何类型的输入它都可以接收)。而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError 。 > > 除非对 input() 有特别需要,否则一般情况下我们都是推荐使用 raw\_input() 来与用户交互。 > > 注意:python3 里 input() 默认接收到的是 str 类型。 # unichr() 函数 > unichr() 函数 和 chr()函数功能基本一样, 只不过是返回 unicode 的字符。 # callable() 函数 **callable()**函数用于检查一个对象是否是可调用的。如果返回 True,object 仍然可能调用失败;但如果返回 False,调用对象 object 绝对不会成功。 对于函数、方法、lambda 函式、 类以及实现了\_\_call\_\_方法的类实例, 它都返回 True。 # format 格式化函数 新增了一种格式化字符串的函数str.format(),它增强了字符串格式化的功能。 基本语法是通过{}和:来代替以前的%。 format 函数可以接受不限个参数,位置可以不按顺序。 # locals() 函数 > **locals()**函数会以字典类型返回当前位置的全部局部变量。 对于函数, 方法, lambda 函式, 类, 以及实现了 \_\_call\_\_ 方法的类实例, 它都返回 True。 # reduce()函数 > **reduce()**函数会对参数序列中元素进行累积。 函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。 ~~~ reduce(function, iterable[, initializer]) ~~~ * function -- 函数,有两个参数 * iterable -- 可迭代对象 * initializer -- 可选,初始参数 # unicode()