Python 3 学习(二)—— 常用内置函数(网上收集整理)

输入输出

  1. print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False) 打印输出。print 在 Python3.x 是一个函数,但在 Python2.x 版本不是一个函数,只是一个关键字。
  2. input([prompt]) 如果存在 prompt 实参,则将其写入标准输出,末尾不带换行符。接下来,该函数从输入中读取一行,将其转换为字符串(除了末尾的换行符)并返回。当读取到 EOF 时,则触发 EOFError

数学运算

  1. abs(x) 返回一个数的绝对值。实参可以是整数或浮点数。如果实参是一个复数,返回它的模。
  2. divmod(a, b) 它将两个(非复数)数字作为实参,并在执行整数除法时返回一对商和余数。对于混合操作数类型,适用双目算术运算符的规则。
    • 对于整数,结果和 (a // b, a % b) 一致。
    • 对于浮点数,结果是 (q, a % b)q 通常是 math.floor(a / b) 但可能会比 1 小。
    • 在任何情况下, q * b + a % ba 基本相等;如果 a % b 非零,它的符号和 b 一样,并且 0 <= abs(a % b) < abs(b)
  3. max(iterable, *[, key, default]) / max(arg1, arg2, *args[, key]) 返回可迭代对象中最大的元素,或者返回两个及以上实参中最大的。
  4. min(iterable, *[, key, default]) / min(arg1, arg2, *args[, key]) 返回可迭代对象中最小的元素,或者返回两个及以上实参中最小的。
  5. pow(x, y[, z]) 返回 xy 次幂;如果 z 存在,则对 z 取余(比直接 pow(x, y) % z计算更高效)。两个参数形式的 pow(x, y) 等价于幂运算符: x**y
  6. round(number[, ndigits]) 对浮点数进行四舍五入求值。如果可选参数省略或为None,则返回其输入的最接近的整数。
  7. sum(iterable[, start]) 对可迭代对象求和。可选参数为指定相加的参数,如果没有设置这个值,默认为0。

类型转换

  1. class bool([x]) 将给定参数转换为布尔类型,如果没有参数,返回 False。
  2. class int([x]) / class int(x, base=10) 返回一个使用数字或字符串 x 生成的整数对象,或者没有实参的时候返回 0 。如果 x 不是数字,或者有 base 参数,x 必须是字符串、bytes、表示进制为 base 的 整数文字 的 bytearray 实例。该文字前可以有 +- (中间不能有空格),前后可以有空格。
  3. class float([x]) 返回从数字或字符串 x 生成的浮点数。
  4. class str(object='') / class str(object=b'', encoding='utf-8', errors='strict') 返回一个 str 版本的 object
  5. bin(x) / oct(x) / hex(x) 将一个十进制数字转化成一个二进制 / 八进制 / 十六进制数字的字符串。
  6. chr(i) 返回 Unicode 码位为整数 i 的字符的字符串格式。例如,chr(97) 返回字符串 'a'chr(8364) 返回字符串 '€'。这是 ord() 的逆函数。
  7. ord() 对表示单个 Unicode 字符的字符串,返回代表它 Unicode 码点的整数。例如 ord('a') 返回整数 97ord('€') (欧元符号)返回 8364 。这是 chr() 的逆函数。
  8. class list([iterable]) 将元组或字符串转换为列表。
  9. tuple([iterable]) 将列表转换为元组。
  10. class dict(**kwarg) / class dict(mapping, **kwarg) / class dict(iterable, **kwarg) 创建一个新的字典。
  11. class set([iterable]) 创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。
  12. iter(object[, sentinel]) 返回一个 iterator 对象。根据是否存在第二个实参,对第一个实参的解释是非常不同的。
    • 如果没有第二个实参,object 必须是支持迭代协议(有 iter() 方法)的集合对象,或必须支持序列协议(有 getitem() 方法,且数字参数从 0 开始)。如果它不支持这些协议,会触发 TypeError。
    • 如果有第二个实参 sentinel,那么 object 必须是可调用的对象。这种情况下生成的迭代器,每次迭代调用它的 next() 方法时都会不带实参地调用 object;如果返回的结果是 sentinel 则触发 StopIteration,否则返回调用结果。

序列操作

  1. all(iterable) 如果 iterable 的所有元素为真(或迭代器为空),返回 True

  2. any(iterable) 如果iterable 的任一元素为真则返回 True 。如果迭代器为空,返回 False

  3. len(s) 返回对象的长度(元素个数)。实参可以是序列(如 string、bytes、tuple、list 或 range 等)或集合(如 dictionary、set 或 frozen set 等)。

  4. sorted(iterable, *, key=None, reverse=False) 对所有可迭代的对象进行排序操作,返回重新排序的列表。

  5. reversed(seq) 返回一个反转的迭代器。

  6. class slice(stop) / class slice(start, stop[, step]) 返回一个切片对象,主要用在切片操作函数里的参数传递。

  7. zip(*iterables) 将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存。
    如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

  8. range(stop) / range(start, stop[, step]) 返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表。

    • Python3 list() 函数是对象迭代器,可以把 range() 返回的可迭代对象转为一个列表,返回的变量类型为列表。
    • Python2 range() 函数返回的是列表。
  9. enumerate(iterable, start=0) 返回一个枚举对象。iterable 必须是一个序列,或 iterator,或其他支持迭代的对象。 enumerate() 返回的迭代器的 __next__() 方法返回一个元组,里面包含一个计数值(从 start 开始,默认为 0)和通过迭代 iterable 获得的值。

     >>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']
     >>> list(enumerate(seasons))
     [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
     >>> list(enumerate(seasons, start=1))
     [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')] 
    

函数操作

  1. map(function, iterable, ...) 产生一个将 function 应用于迭代器中所有元素并返回结果的迭代器。
    如果传递了额外的 iterable 实参,function 必须接受相同个数的实参,并使用所有迭代器中并行获取的元素。当有多个迭代器时,最短的迭代器耗尽则整个迭代结束。

     def square(x):
     	return x ** 2
    
     list(map(square, [1, 2, 3, 4, 5]))	>>> [1, 4, 9, 16, 25]
    
     def lambda(x, y):
     	return x + y
    
     list(map(lambda, [1, 2, 3, 4, 5], [10, 20, 30])) >>> [11, 22, 33]
    
  2. filter(function, iterable) 返回 iterable 中执行函数 function 之后返回真的那些元素,构建一个新的迭代器。

    • iterable 可以是一个序列,一个支持迭代的容器,或一个迭代器。
    • 如果 functionNone ,则会假设它是一个身份函数,即 iterable 中所有返回假的元素会被移除。
    • 请注意, filter(function, iterable) 相当于一个生成器表达式,当 function 不是 None 的时候为 (item for item in iterable if function(item))functionNone 的时候为 (item for item in iterable if item)

其他

  1. exec(object[, globals[, locals]]) 这个函数支持动态执行 Python 代码。object 必须是字符串或者代码对象。详情参考
  2. isinstance(object, classinfo)
    • 如果 object 实参是 classinfo 实参的实例,或者是(直接、间接或 虚拟)子类的实例,则返回 true。
    • 如果 object 不是给定类型的对象,函数始终返回 false。
    • 如果 classinfo 是对象类型(或多个递归元组)的元组,object 是其中的任何一个的实例则返回 true。
    • 如果 classinfo 既不是类型,也不是类型元组或类型的递归元组,那么会触发 TypeError 异常。
  3. type()
    • class type(object) 如果只有第一个参数则返回对象的类型;
    • class type(name, bases, dict) 三个参数返回新的类型对象。

isinstance()type() 区别:

  • type() 不会认为子类是一种父类类型,不考虑继承关系。
  • isinstance() 会认为子类是一种父类类型,考虑继承关系。

如果要判断两个类型是否相同推荐使用 isinstance()

Python 3 所有内置函数

完整的在这里,用到了会继续补充。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值