内置函数

  • 内置函数

abs(x) #取绝对值

all(iterable) #如果iterable中元素都为真,则返回True

print(all([1,0,-1]))
print(all([1,2,-1]))
>>>
False
True

any(iterable)  #如果iterable中有一个元素为真,则返回True

print(any([1,0,-1]))
print(any([0,0,0]))
print(any([]))
>>>
True
False
False

ascii(object) #

bin(x) #十进制转二进制(整数)

print(bin(1))
print(bin(2))
print(bin(3))
print(bin(4))
>>>
0b1
0b10
0b11
0b100

 bool([source[, encoding[, errors]]])   #Ture or False

bytearry([source[, encoding[, errors]]])   #返回一个新字节数组。这个数组里的元素是可变的,并且每个元素的值范围: 0 <= x < 256

b=bytearray('abcde',encoding='utf-8')
print(b[1])

b[1]=101
print(b)
>>>
98
bytearray(b'aecde')

callable(object) #可调用时返回True

def sayhi():
    pass

print(callable(sayhi))
>>>True

chr(i)  #将ASCII码转换为对应的字符

print(chr(97))
>>>a

ord(c) #将字符转换为对应的ASCII码

print(ord('a'))
>>>97

classmethod

compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1)#转换为底层代码用于编译

complex([real[, imag]]) #复数

delattr(object,name)

dir([object]) #查看object 可调用的方法

divmod(a, b) #b除a得(商,余数)

print(divmod(5,3))
print(divmod(5,1))
>>>
(1, 2)
(5, 0)

enumerate(iterable, start=0)

#对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值

用法

a=['zero','one','two','three']
b=list(enumerate(a))
c=dict(enumerate(a))

print(b)
print(c)
>>>
[(0, 'zero'), (1, 'one'), (2, 'two'), (3, 'three')]
{0: 'zero', 1: 'one', 2: 'two', 3: 'three'}

对一个列表,既要遍历索引又要遍历元素时,有如下写法:

for i in range(len(a)):
    print(i,a[i])

for i in a:
    print(a.index(i),i)

for index,item in enumerate(a):
    print(index,item)
>>>
0 zero
1 one
2 two
3 three

enumerate还可以接收第二个参数,用于指定索引起始值:

for index,item in enumerate(a,2):
    print(index,item)
>>>
2 zero
3 one
4 two
5 three

 eval(expression, globals=None, locals=None) #将字符串对应的名字的变量转换成该变量对应的值

#字符串转换为list
a="[1,'a',[1,'a']]"
b=eval(a)
print(type(b),b)
#字符串转换为dict
a="{'a':1,'b':2}"
b=eval(a)
print(type(b),b)
#字符串转换为tuple
a="(1,'a',[1,'a'])"
b=eval(a)
print(type(b),b)

>>>

<class 'list'> [1, 'a', [1, 'a']]
<class 'dict'> {'a': 1, 'b': 2}
<class 'tuple'> (1, 'a', [1, 'a'])

 exec(object[, globals[, locals]])  #

filter(function, iterable)   过滤器

#用于过滤序列,过滤掉不符合条件的元素,接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判

  • function -- 判断函数。
  • iterable -- 可迭代对象。

Python 2.x 返回列表

Python 3.x 返回filter类

用法:

#过滤0-9大于5的值
def test(n):
    return n>5

res=filter(test,range(10))

print(res) #python2返回值为过滤后的列表,python3返回值为filter类
for i in res:
    print(i)
>>>
<filter object at 0x04DE83F0>
6
7
8
9

也可以结合匿名函数使用

res=filter(lambda n:n>5,[1,2,3,4,5,6,7,8,9])

for i in res:
    print(i)
>>>
6
7
8
9

map(function, iterable, ...)

#根据提供的function对指定序列做映射

#第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。

  • function -- 函数,有两个参数
  • iterable -- 一个或多个序列

Python 2.x 返回列表

Python 3.x 返回迭代器

def square(x):
    return x**2
res=map(square,range(5))
print(res)
for i in res:
    print(i)
>>>
<map object at 0x055783F0> 0 1 4 9 16

 当传入多个interable时,根据元素最少的interable进行

x_list=[1,2,3,4,5]
y_list=[1,1,1]
z_list=[0,0,0,1,1]

res=map(lambda x,y,z:x+y+z,x_list,y_list,z_list)
print(list(res))
>>>[2, 3, 4]

 reduce(function, iterable)  非内置函数

#对iterable中元素按照func的映射关系进行累积

  • function -- 判断函数。
  • iterable -- 可迭代对象。

返回值为int

from functools import reduce
res=reduce(lambda x,y:x+y,[1,2,3,4,5])
print(res,type(res))
>>>15 <class 'int'>

class float()

format(value[, format_spec])  格式化函数

用法:

print('name:{}
'
      'age:{}
'
      'sex:{}'
      .format('q1ang',26,'male'))

print('name:{name}
'
      'age:{age}
'
      'sex:{sex}'
      .format(name='q1ang',age=26,sex='male'))

print('name:{0}
'
      'age:{1}
'
      'sex:{2}
'
      'name:{0}'
      .format('q1ang',26,'male'))

 也可以从list和dict中设置参数

print('name:{name}
'
      'age:{age}
'
      'sex:{sex}'
      .format(**info_dict))

info_list=['q1ang',26,'male']
print('name:{0[0]}
'
      'age:{0[1]}
'
      'sex:{0[2]}'
      .format(info_list))

数字格式化

print('{:.2f}'.format(3.141592))
>>>3.14
print('{:*^20d}'.format(12345))
>>>*******12345********
print('{:b}'.format(123))
>>>1111011

^, <, > 分别是居中、左对齐、右对齐,后面带宽度, : 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。

+ 表示在正数前显示 +,负数前显示 -;  (空格)表示在正数前加空格

b、d、o、x 分别是二进制、十进制、八进制、十六进制

数字格式输出描述
3.1415926 {:.2f} 3.14 保留小数点后两位
3.1415926 {:+.2f} +3.14 带符号保留小数点后两位
-1 {:+.2f} -1.00 带符号保留小数点后两位
2.71828 {:.0f} 3 不带小数
5 {:0>2d} 05 数字补零 (填充左边, 宽度为2)
5 {:x<4d} 5xxx 数字补x (填充右边, 宽度为4)
10 {:x<4d} 10xx 数字补x (填充右边, 宽度为4)
1000000 {:,} 1,000,000 以逗号分隔的数字格式
0.25 {:.2%} 25.00% 百分比格式
1000000000 {:.2e} 1.00e+09 指数记法
13 {:10d}         13 右对齐 (默认, 宽度为10)
13 {:<10d} 13 左对齐 (宽度为10)
13 {:^10d}     13 中间对齐 (宽度为10)
11
'{:b}'.format(11)
'{:d}'.format(11)
'{:o}'.format(11)
'{:x}'.format(11)
'{:#x}'.format(11)
'{:#X}'.format(11)
1011
11
13
b
0xb
0XB
进制

使用大括号 {} 来转义大括号

print('{}的格式为{{key1:vale1,key2:valu2}}'.format('dict'))
>>>dict的格式为{key1:vale1,key2:valu2}

 frozenset([iterable])  冻结的集合

#返回一个冻结的集合,冻结后集合不能再添加或删除任何元素

  • iterable -- 可迭代的对象

getattr(object, name[, default])  

setattr(object, name, value)

globals()

#函数会以字典类型返回当前位置的全部全局变量

hasattr(object, name)  

hash(object)  哈希

#用于获取一个对象(字符串或者数值等)的哈希值

  • object -- 对象

返回对象的哈希值

a='q1ang'
print(hash(a))
>>>1036837592

help([object])

hex(x)  十进制转十六进制(整型)

#将10进制整数转换成16进制,以字符串形式表示

  • x -- 10进制整数

返回16进制数,以字符串形式表示

print(hex(17))
>>>0x11

id(object)  返回内存地址

#用于获取对象的内存地址

  • object -- 对象

返回对象的内存地址

print(id('q1ang'))
>>>64848768

class int()

isinstance(object, classinfo)  

#来判断一个对象是否是一个已知的类型,类似 type()

  • object -- 实例对象。
  • classinfo -- 可以是直接或间接类名、基本类型或者由它们组成的元组

返回值:如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False

a='q1ang'

print(isinstance(a,int))
print(isinstance(a,str))
print(isinstance(a,(int,str,list)))#是元组中的一个返回 True
>>>
False
True
True

isinstance() 与 type() 区别:

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

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

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

class A:
    pass
 
class B(A):
    pass
 
isinstance(A(), A)    # returns True
type(A()) == A        # returns True
isinstance(B(), A)    # returns True
type(B()) == A        # returns False

 issubclass(class, classinfo)

len(s)

#返回对象(字符、列表、元组等)长度或项目个数

class list([iterable])

locals()

#以字典类型返回当前位置的全部局部变量

def test(x):
    a='q1ang'
    print(locals())
test(1)
>>>{'a': 'q1ang', 'x': 1}

max(iterable, *[, key, default])

max(arg1, arg2, *args[, key])

#返回给定参数的最大值,参数可以为序列

print(max(1,2,3,4,5))

min(iterable, *[, key, default])

min(arg1, arg2, *args[, key])

#返回给定参数的最小值,参数可以为序列

print(min(1,2,3,4,5))

memoryview(obj)

next(iterator[, default])

#返回迭代器的下一个项目

  • iterator -- 可迭代对象
  • default -- 可选,用于设置在没有下一个元素时返回该默认值,如果不设置,又没有下一个元素则会触发 StopIteration 异常。
a = iter([1, 2, 3, 4, 5])
# 循环:
while True:
    try:
        x = next(a)
        print(x)
    except StopIteration:
        # 遇到StopIteration就退出循环
        break

class object

oct(x)  十进制转八进制(整型)

返回值:8进制字符串

print(oct(9))
>>>0o11

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

  • name : 一个包含了你要访问的文件名称的字符串值。

  • mode : mode 决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。

  • buffering : 如果 buffering 的值被设为 0,就不会有寄存。如果 buffering 的值取 1,访问文件时会寄存行。如果将 buffering 的值设为大于 1 的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认

pow(x, y[, z])

#返回 xy(x的y次方) 的值,如果z在存在,则再对结果进行取模,即pow(x,y) %z

print(pow(2,3))
print(pow(2,3,5))
>>>
8
3

math 模块 pow() 方法的语法:

import math
math.pow( x, y )

pow() 通过内置的方法直接调用,内置方法会把参数作为整型,而 math 模块则会把参数转换为 float

import math
print(math.pow(2,3))
print(pow(2,3))
>>>
8.0
8

print(*objects, sep=' ', end=' ', file=sys.stdout, flush=False)

  • objects -- 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。
  • sep -- 用来间隔多个对象,默认值是一个空格。
  • end -- 用来设定以什么结尾。默认值是换行符 ,我们可以换成其他字符串。
  • file -- 要写入的文件对象
print('a','b','c',sep='*')
>>>a*b*c

class property(fget=None, fset=None, fdel=None, doc=None)

range(stop)

range(start, stop[, step])

Python3 range() 函数返回的是一个可迭代对象

Python3 list() 函数是对象迭代器,把range()返回的可迭代对象转为一个列表

Python2 range() 函数返回的是列表

  • start: 计数从 start 开始,默认从 0 开始
  • stop: 计数到 stop 结束,不包括 stop
  • step:步长,默认为1
print(list(range(5)))
print(list(range(1,5)))
print(list(range(1,5,2)))
>>>
[0, 1, 2, 3, 4]
[1, 2, 3, 4]
[1, 3]

repr(object)

#将对象转化为供解释器读取的形式

reversed(seq)

#返回一个反转的迭代器

  • seq -- 要转换的序列, tuple, string, list , range

返回值是迭代器

a=[1,2,3,4,5]
print(reversed(a),list(reversed(a)))
>>><list_reverseiterator object at 0x03058410> [5, 4, 3, 2, 1]

round(number[, ndigits])

#返回浮点数x的四舍五入值

  • number -- 数值表达式
  • ndigits -- 保留的位数
print(round(3.1415926))
print(round(3.1415926,2))
print(round(3.1415926,4))
>>>
3
3.14
3.1416

class set([iterable])  集合

class slice(stop)

class slice(start, stop[, step])

#实现切片对象,主要用在切片操作函数里的参数传递

  • start -- 起始位置
  • stop -- 结束位置
  • step -- 间距
slice_test1=slice(5)
slice_test2=slice(1,5)
slice_test3=slice(1,5,2)

a=[1,2,3,4,5,6,7]

print(a[slice_test1])
print(a[slice_test2])
print(a[slice_test3])
>>>
[1, 2, 3, 4, 5]
[2, 3, 4, 5]
[2, 4]

sorted(iterable, *, key=None, reverse=False)

#对所有可迭代的对象进行排序操作

  • iterable -- 可迭代对象。
  • key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
  • reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)
a={5:6,4:7,3:8,2:9,1:10}
print(sorted(a.items()))
print(sorted(a.items(),reverse=True))
print(sorted(a.items(),key=lambda x:x[1]))
>>>
[(1, 10), (2, 9), (3, 8), (4, 7), (5, 6)]
[(5, 6), (4, 7), (3, 8), (2, 9), (1, 10)]
[(5, 6), (4, 7), (3, 8), (2, 9), (1, 10)]

@staticmethod

class str(object='')

class str(object=b'', encoding='utf-8', errors='strict')

sum(iterable[, start])

#对序列进行求和计算

  • iterable -- 可迭代对象,如列表。
  • start -- 指定相加的参数,如果没有设置这个值,默认为0
print(sum([1,2,3]))
print(sum([1,2,3],1))  #第一个参数计算完成后再与第二个参数求和
>>> 6 7

super([type[, object-or-type]])

tuple([iterable])

class type(object)

class type(name, bases, dict)

vars([object])

#返回对象object的属性和属性值的字典对象

zip(*iterables)

#用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。

#如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

a=[1,2,3,4,5]
b=['a','b','c','d']
c=zip(a,b)
print(c,list(c))
>>><zip object at 0x05870508> [(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')]

d=zip(*c)  #解压
print(list(d))
>>>[(1, 2, 3, 4), ('a', 'b', 'c', 'd')]

__import__(name, globals=None, locals=None, fromlist=(), level=0)

原文地址:https://www.cnblogs.com/q1ang/p/8964563.html