Python3内置函数介绍

[attach]1347[/attach] 详情参考:https://docs.python.org/3/library/functions.html​    1、abs(x)(返回一个数的绝对值)
>>> abs(-12)
12
>>> abs(-12.89)
12.89
>>> abs(-0.1)
0.1
  2、all(iterable)  all会循环括号内的每一个元素,如果括号内的所有元素都是真的,则返回True,如果有一个为假的那么就返回False
>>> all([0, 3])
False
>>> all([1, 3])
True
>>> all([1, ""])
False
一假则假,假的参数有:False、0、None、""、[]、()、{}等。 查看一个元素是否为假可以使用bool进行查看:
>>> bool("")
False
>>> bool(())
False
>>> bool(0)
False
>>> bool(1)
True
3、any(iterable) 循环元素,如果有一个元素为真,那么就返回真,一真则真。
>>> any([0, 1, 2, 3])
True
>>> any([{}, (), 0])
False
4、ascii(object) 在对象的类中寻找__repr__方法,获取返回值    
>>> class Foo:
...     def __repr_(self):
...         return "Result"
... 
>>> obj = Foo()
>>> r = ascii(obj)
>>> print(r)
<__main__.Foo object at 0x1045075c0>
5、bin(x) 将整数x转换为二进制字符串,如果x不为Python中int类型,x必须包含方法index()并且返回值为integer  
# 返回一个整数的二进制
 >>> bin(999)
'0b1111100111'
# 非整型的情况,必须包含__index__()方法切返回值为integer的类型
 >>> class myType:
 ...   def __index__(self):
 ...       return 35
 ...
 >>> myvar = myType()
 >>> bin(myvar)
'0b100011'
6、bool([x]) 查看一个元素的布尔值,非真即假
>>> bool([])
False
>>> bool(0)
False
>>> bool(1)
True
7、bytearray([source [, encoding [, errors]]]) bytearray([source [, encoding [, errors]]])返回一个byte数组。Bytearray类型是一个可变的序列,并且序列中的元素的取值范围为 [0 ,255]。   source参数:
  • 如果source为整数,则返回一个长度为source的初始化数组;
  • 如果source为字符串,则按照指定的encoding将字符串转换为字节序列;
  • 如果source为可迭代类型,则元素必须为[0 ,255]中的整数;
  • 如果source为与buffer接口一致的对象,则此对象也可以被用于初始化bytearray。
 
>>> bytearray(3)
bytearray(b'\x00\x00\x00')
8、bytes([source[, encoding[, errors]]])
>>> bytes("asdasd",encoding="utf-8")
b'asdasd'
返回一个bytes类型。   9、callable(object) 返回一个对象是否可以被执行  
>>> def func():
 ...  return 123
 ...
 >>> callable(func)
True
 >>> func = 123
 >>> callable(func)
False
10、chr(i) 返回一个数字在ASCII编码中对应的字符,取值范围256个
>>> chr(66)
'B'
 >>> chr(5)
'\x05'
 >>> chr(55)
'7'
 >>> chr(255)
'\xff'
 >>> chr(25)
'\x19'
 >>> chr(65)
'A'
11、compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1) 把字符串编译成python可执行的代码  
>>> str = "for i in range(0,6): print(i)"
>>> c = compile(str, '', 'exec')
>>> exec(c)
0
1
2
3
4
5
  12、complex([real[, imag]]) 创建一个值为real + imag * j的复数或者转化一个字符串或数为复数。如果第一个参数为字符串,则不需要指定第二个参数
>>> complex(1, 2)
(1+2j)
# 数字
>>> complex(1)
(1+0j)
# 当做字符串处理
>>> complex("1")
(1+0j)
# 注意:这个地方在“+”号两边不能有空格,也就是不能写成"1 + 2j",应该是"1+2j",否则会报错
>>> complex("1+2j")
(1+2j)
13、dict(**kwarg) 创建一个数据类型为字典  
>>> dic = dict({"k1":"123","k2":"456"})
>>> dic
{'k1': '123', 'k2': '456'}
14、dir([object]) 返回一个类中的所有方法  
>>> a = [1, 2, 3, 4]
>>> dir(a)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
15、divmod(a, b) divmod(a,b)方法返回的是a//b(除法取整)以及a对b的余数,返回结果类型为tuple    
>>> divmod(10, 3)
(3, 1)
16、enumerate(iterable, start=0) 遍历可迭代的数据类型,为元素生成下标
>>> a = [0, 1, 2, 3]
>>> for n, k in enumerate(a):
...     print(n, k)
... 
0 0
1 1
2 2
3 3
17、eval(expression, globals=None, locals=None) 把一个字符串当作一个表达式去执行
>>> string = "1 + 3"
>>> string
'1 + 3'
>>> eval(string)
4
  18、exec(object[, globals[, locals]]) 把字符串当作python代码执行
>>> exec("for n in range(5): print(n)")
0
1
2
3
4
19、filter(function, iterable) 筛选过滤,循环可迭代的对象,把迭代的对象当作函数的参数,如果符合条件就返回True,否则就返回False
>>> def func(x):
 ...  if x == 11 or x == 22:
 ...    return True
 ...
 >>> ret = filter(func,[11,22,33,44])
 >>> for n in ret:
 ...  print(n)
 ...
11
22
20、float([x]) 将整数和字符串转换成浮点数
>>> float("124")
124.0
>>> float("123.45")
123.45
>>> float("-123.34")
-123.34
  21、format(value[, format_spec])  字符串格式化
>>> a = "My name is {0}, age is {1}".format('lucky', 18)
>>> print(a)
My name is lucky, age is 18
22、frozenset([iterable]) frozenset是冻结的集合,它是不可变的,存在哈希值,好处是它可以作为字典的key,也可以作为其它集合的元素。缺点是一旦创建便不能更改,没有add,remove方法。   23、globals() 获取当前scripts文件内的所有全局变量  
>>> a = 3
>>> bsd = "54asd"
>>> globals()
{'__doc__': None, 'bsd': '54asd', '__package__': None, 'a': 3, '__spec__': None, '__builtins__': , '__name__': '__main__', '__loader__': }
24、hash(object) 返回一个对象的hash值  
>>> a = "asdadasdwqeq234sdfdf"
>>> hash(a)
5390438057823015497
25、help([object]) 查看一个类的所有详细方法  
>>> help(list)
Help on class list in module __builtin__:

class list(object)
 |  list() -> new empty list
 |  list(iterable) -> new list initialized from iterable's items
 |  
 |  Methods defined here:
 |  
 |  __add__(...)
 |      x.__add__(y) <==> x+y
 |  
 |  __contains__(...)
 |      x.__contains__(y) <==> y in x
 |  
 |  __delitem__(...)
 |      x.__delitem__(y) <==> del x[y]
 |  
 |  __delslice__(...)
 |      x.__delslice__(i, j) <==> del x[i:j]
 |      
 |      Use of negative indices is not supported.
..........
26、hex(x) 获取一个数的十六进制  
>>> hex(13)
'0xd'
27、id(object) 返回一个对象的内存地址
>>> a = 123
>>> id(a)
1835400816
28、input([prompt]) 交互式输入     29、int(x, base=10) 获取一个数的十进制
>>> int("31")
31
30、isinstance(object, classinfo) 判断对象是否是这个类创建的  
>>> li = [11,22,33]
>>> isinstance(li,list)
True
31、issubclass(class, classinfo) 查看一个对象是否为子类   32、iter(object[, sentinel]) 创建一个可迭代的对象
>>> obj = iter([11,22,33,44])
>>> obj

 >>> for n in obj:
 ...  print(n)
 ...
11
22
33
44
  33、len(s) 查看一个对象的长度  
>>> name = 'lucky'
>>> len(name)
5
34、list([iterable]) 创建一个数据类型为列表
>>> li = list([11,22,33,44])
>>> li
[11, 22, 33, 44]
35、locals() 返回当前scripts的局部变量,返回结果为字典格式
>>> def func():
...     name="lucky"
...     print(locals())
... 
>>> func()
{'name': 'lucky'}
    36、map(function, iterable, …) 把可迭代的对象作为函数的值  
>>> ret = map(lambda x: x + 100, [1, 2, 3, 4, 5])
 >>> for n in ret:
 ...  print(n)
 ...
101
102
103
104
105
37、max(iterable, *[, key, default]) max(arg1, arg2, *args[, key]) 获取一个对象中的最大值  
>>> li = [1, 3, 5, 9 ,3]
>>> max(li)
9
38、min(iterable, *[, key, default])  min(arg1, arg2, *args[, key]) 获取一个对象中的最小值
>>> li = list([11,22,33,44])
>>> li = [11,22,33,44]
>>> min(li)
11
39、next(iterator[, default])   每次只拿取可迭代对象的一个元素  
>>> obj = iter([11,22,33,44])
>>> next(obj)
11
>>> next(obj)
22
>>> next(obj)
33
>>> next(obj)
44
>>> next(obj)
 # 如果没有可迭代的元素了就会报错
Traceback (most recent call last):
  File "", line 1, in 
StopIteration
40、oct(x) 获取一个字符串的八进制
>>> oct(13)
'0o15'
41、open(file, mode=’r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None) 文件操作的函数,用来做文件操作的       42、ord(c) 把一个字母转换为ASCII对对应表中的数字  
>>> ord("a")
97
>>> ord("t")
116
43、pow(x, y[, z]) 返回一个数的N次方
>>> pow(2, 10)
1024
 >>> pow(2, 20)
1048576
  44、print(*objects, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False) 打印输出     45、range(start, stop[, step]) 生成一个可迭代序列  
>>> range(10)
range(0, 10)
>>> for n in range(5):
 ...  print(n)
 ...
0
1
2
3
4
46、reversed(seq) 对一个对象的元素进行反转
>>> li = [1, 2, 3, 4]
 >>> reversed(li)

 >>> for n in reversed(li):
 ...  print(n)
 ...
4
3
2
1
47、round(number[, ndigits]) 四舍五入
>>> round(3.3)
3
>>> round(3.7)
4
48、set([iterable]) 创建一个数据类型为集合
>>> varss = set([11,222,333])
>>> type(varss)
49、slice(start, stop[, step]) 元素的切片操作都是调用的这个方法   50、sorted(iterable[, key][, reverse]) 为一个对象的元素进行排序  
>>> li = [ 2, 3, 4, 9, 1, 100]
>>> sorted(li)
[1, 2, 3, 4, 9, 100]
51、sum(iterable[, start]) 求和
>>> sum([11,22,33])
66
52、type(object) 查看一个对象的数据类型  
>>> a = 1
>>> type(a)

>>> a = "str"
>>> type(a)
53、vars([object]) 查看一个对象里面有多少个变量   54、zip(*iterables) 联合迭代
>>> li1 = ["k1","k2","k3"]
 >>> li2 = ["a","b","c"]
 >>> zip(li1,li2)

 >>> dic = zip(li1,li2)
 >>> for n in dic:
 ...  print(n)
 ...
('k1', 'a')
('k2', 'b')
('k3', 'c')
55、import(name, globals=None, locals=None, fromlist=(), level=0) 导入模块,把导入的模块作为一个别名。 生成一个六位的随机验证码,且包含数字,数字的位置随机:
# 导入random模块
import random
temp = ""
for i in range(6):
    num = random.randrange(0,4)
    if num == 3 or num == 1:
        rad2 = random.randrange(0,10)
        temp = temp + str(rad2)
    else:
        rad1 = random.randrange(65,91)
        c1 = chr(rad1)
        temp = temp + c1
print(temp)

0 个评论

要回复文章请先登录注册