Pythonn 内置函数
abs 绝对值
n = abs(-1) print(n) ========================= /usr/bin/python3.5 /home/liangml/pythonscript/test1.py 1 Process finished with exit code 0
all 所有为真,才为真
any 只要有真,就为真
n = all([1,2,3,4]) print(n) n = all([0,2,3,4]) print(n) n = any([[],1,"",None]) print(n) n = any([[],0,"",None]) print(n) ============================================ /usr/bin/python3.5 /home/liangml/pythonscript/test1.py True False True False Process finished with exit code 0
bool 值(0,None,"",[]......)
print(bool()) =============================== /usr/bin/python3.5 /home/liangml/pythonscript/test1.py False Process finished with exit code 0
ascii 自动执行对象 _repr_ 方式
class Foo: def __repr__(self): return "444" n = ascii(Foo()) print(n) ======================================== /usr/bin/python3.5 /home/liangml/pythonscript/test1.py 444 Process finished with exit code 0
bin() 将10进制转换成2进制
oct() 将10进制转换成8进制
hex() 将10进制转换成16进制
print(bin(5)) print(oct(9)) print(hex(15)) ======================================== /usr/bin/python3.5 /home/liangml/pythonscript/test1.py 0b101 0o11 0xf Process finished with exit code 0
callable 查看函数是否可以被调用
def f1(): pass f2 = 123 print(callable(f1)) print(callable(f2)) ===================================== /usr/bin/python3.5 /home/liangml/pythonscript/test1.py 0b101 0o11 0xf Process finished with exit code 0
chr 将数字转换成字母
ord 将字母转换成数字
r = chr(65) print(r) n = ord('A') print(n) ====================================== r = chr(65) print(r) n = ord('A') print(n)
引入random 模块,制作随机验证码(字母随机验证码),每次切换都有不同的效果 import random li = [] for i in range(6): temp = random.randrange(65,91) c = chr(temp) li.append(c) #li = ["c","b","a"]#cba result = "".join(li) print(result) ========================================== /usr/bin/python3.5 /home/liangml/pythonscript/test.py MFRAID Process finished with exit code 0
import random li = [] for i in range(6): if i == 2 or i == 4: num = random.randrange(0,10) li.append(str(num)) else: temp = random.randrange(65,91) c = chr(temp) li.append(c) result = ''.join(li) print(result) ========================================= /usr/bin/python3.5 /home/liangml/pythonscript/test.py YY7X4V Process finished with exit code 0
import random li = [] for i in range(6): r = random.randrange(0,5) if r == 2 or r == 4: num = random.randrange(0,10) li.append(str(num)) else: temp = random.randrange(65,91) c = chr(temp) li.append(c) result = ''.join(li) print(result) ============================================== /usr/bin/python3.5 /home/liangml/pythonscript/test.py VF95VR Process finished with exit code 0
compile() 将字符串编译成python代码
eval() 执行表达式,并返回值
exec() 执行python代码,接受代码或者是字符串(没有返回值)
s = 'print(123)' #编译 single,eval,exec r = compile(s,"<string>","exec") #执行python代码 exec(r) ============================================= /usr/bin/python3.5 /home/liangml/pythonscript/test.py 123 Process finished with exit code 0
s = '8*8' ret = eval(s) print(ret) ================================================= /usr/bin/python3.5 /home/liangml/pythonscript/test.py 64 Process finished with exit code 0
dir 快速获取一个对象提供了什么功能
help 同dir功能一样,区别在于help可以列出使用详情
print(dir(list)) ======================================== /usr/bin/python3.5 /home/liangml/pythonscript/test.py ['__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'] Process finished with exit code 0
help(list) ================================================= /usr/bin/python3.5 /home/liangml/pythonscript/test.py Help on class list in module builtins: class list(object) | list() -> new empty list | list(iterable) -> new list initialized from iterable's items | | Methods defined here: | | __add__(self, value, /) | Return self+value. | | __contains__(self, key, /) | Return key in self. | | __delitem__(self, key, /) | Delete self[key]. | | __eq__(self, value, /) | Return self==value. | | __ge__(self, value, /) | Return self>=value. | | __getattribute__(self, name, /) | Return getattr(self, name). | | __getitem__(...) | x.__getitem__(y) <==> x[y] | | __gt__(self, value, /) | Return self>value. | | __iadd__(self, value, /) | Implement self+=value. | | __imul__(self, value, /) | Implement self*=value. | | __init__(self, /, *args, **kwargs) | Initialize self. See help(type(self)) for accurate signature. | | __iter__(self, /) | Implement iter(self). | | __le__(self, value, /) | Return self<=value. | | __len__(self, /) | Return len(self). | | __lt__(self, value, /) | Return self<value. | | __mul__(self, value, /) | Return self*value.n | | __ne__(self, value, /) | Return self!=value. | | __new__(*args, **kwargs) from builtins.type | Create and return a new object. See help(type) for accurate signature. | | __repr__(self, /) | Return repr(self). | | __reversed__(...) | L.__reversed__() -- return a reverse iterator over the list | | __rmul__(self, value, /) | Return self*value. | | __setitem__(self, key, value, /) | Set self[key] to value. | | __sizeof__(...) | L.__sizeof__() -- size of L in memory, in bytes | | append(...) | L.append(object) -> None -- append object to end | | clear(...) | L.clear() -> None -- remove all items from L | | copy(...) | L.copy() -> list -- a shallow copy of L | | count(...) | L.count(value) -> integer -- return number of occurrences of value | | extend(...) | L.extend(iterable) -> None -- extend list by appending elements from the iterable | | index(...) | L.index(value, [start, [stop]]) -> integer -- return first index of value. | Raises ValueError if the value is not present. | | insert(...) | L.insert(index, object) -- insert object before index | | pop(...) | L.pop([index]) -> item -- remove and return item at index (default last). | Raises IndexError if list is empty or index is out of range. | | remove(...) | L.remove(value) -> None -- remove first occurrence of value. | Raises ValueError if the value is not present. | | reverse(...) | L.reverse() -- reverse *IN PLACE* | | sort(...) | L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE* | | ---------------------------------------------------------------------- | Data and other attributes defined here: | | __hash__ = None Process finished with exit code 0
divmod 自动求出商 余数
r = divmod(97,10) print(r) n1,n2 = divmod(97,10) ============================================= /usr/bin/python3.5 /home/liangml/pythonscript/test.py (9, 7) Process finished with exit code 0
isinstance 判断对象是否是类的实例
s = 'liangml' r = isinstance(s,str) print(r) ======================================== /usr/bin/python3.5 /home/liangml/pythonscript/test.py True <class 'str'> {"k1":"v1"} <class 'dict'> {'k1': 'v1'} Process finished with exit code 0
filter map(函数可迭代对象)
两者区别 filter:函数返回True,将元素添加到结果中 map:将函数返回值添加到结果中 filter 函数讲解 def f1(args): result = [] for item in args: if item > 22: result.append(item) return result li = [11,22,33,44,55] ret = f1(li) print(ret) =============================================================== /usr/bin/python3.5 /home/liangml/pythonscript/test.py [33, 44, 55] Process finished with exit code 0 +++++++++++通过lambda表达式也可以实现相同的功能(自动return)+++++++++ f1 = lambda a: a >30 ret =f1(90) print(ret) li = [11,22,33,44,55] result = filter(lambda a: a > 33,li) print(list(result)) =========================运行结果=========================== /usr/bin/python3.5 /home/liangml/pythonscript/test.py True [44, 55] Process finished with exit code 0 filter 函数运行原理 def f2(a): if a>22: return True li = [11,22,33,44,55] #result = [] #for item in 第二个参数(参数) # r = 第一个参数(item) # if r: # result(item) #return result #fileter,循环第二个参数,让每个循环元素执行函数,如果函数返回值Ture,表示元素合法 ret = filter(f2,li) print(list(ret)) map 函数讲解(函数可以使用for循环) ===================for循环实例========================== li = [11,22,33,44,55] def f1(args): result = [] for i in args: result.append(100+i) return result r = f1(li) print(r) ====================运行结果============================= /usr/bin/python3.5 /home/liangml/pythonscript/test.py [111, 122, 133, 144, 155] Process finished with exit code 0 ====================设定函数运行=========================== def f2(a): return a + 100 result = map(f2,li) print(list(result)) ++++++++++++++++++++运行结果+++++++++++++++++++++++++++++++ /usr/bin/python3.5 /home/liangml/pythonscript/test.py [111, 122, 133, 144, 155] Process finished with exit code 0 ===================也可以使用lambda表达式来实现============== result = map(lambda a: a+200,li) print(list(result)) ++++++++++++++++++++运行结果+++++++++++++++++++++++++++++ /usr/bin/python3.5 /home/liangml/pythonscript/test.py [211, 222, 233, 244, 255] Process finished with exit code 0
float 把一个数转换成浮点型
frozenset 集合set set基础上不可变的集合
globals 所有的全局变量/locals 所有的局部变量
NAME = "liangml" def show(): a = 123 print(locals()) print(globals()) show()
hash 将某一个类型的数据转换成hash值
s = 'hhh123123123' print(hash(s)) =============运行结果===================== /usr/bin/python3.5 /home/liangml/pythonscript/test.py 105733462617069300 Process finished with exit code 0
len 查看某个字符串的长度
s = '梁孟麟' b = bytes(s,encoding='utf-8') print(len(s)) print(len(b)) ======================================== /usr/bin/python3.5 /home/liangml/pythonscript/test.py 3 9 Process finished with exit code 0
max() 求最大值/min() 求最小值/num() 求和/pow 求次方
q = max(2,10) w = min(2,10) e = sum([],10) r = pow(2,10) print(q) print(w) print(e) print(r) ======================================== /usr/bin/python3.5 /home/liangml/pythonscript/test.py 10 2 10 1024 Process finished with exit code 0
round 四舍五入
r = round(1,4) print(r) ============================================ /usr/bin/python3.5 /home/liangml/pythonscript/test.py 1 Process finished with exit code 0
slice() 切片功能
s = 'ssssssssssss' print(s[0:2]) ================================ /usr/bin/python3.5 /home/liangml/pythonscript/test.py ss Process finished with exit code 0
sorted 排序
li = [11,2,1,1] r1 = li.sort() r2 = sorted(li) print(r1) print(r2) =============================== /usr/bin/python3.5 /home/liangml/pythonscript/test.py None [1, 1, 2, 11] Process finished with exit code 0
zip 压缩分类元素
l1 = ['liangml',11,22,33] l2 = ['is',11,22,33] l3 = ['nb',11,22,33] r = zip(l1,l2,l3) print(list(r)) ============================================ /usr/bin/python3.5 /home/liangml/pythonscript/test.py [('liangml', 'is', 'nb'), (11, 11, 11), (22, 22, 22), (33, 33, 33)] Process finished with exit code 0
json将字符串转换成Python的基本数据类型,{},[],注意:字符串形式的字典{"k1":"v1"}内部的字符串必须是双引号
s = "[11,22,33,44,55]" s = '{"k1":"v1"}' print(type(s),s) import json n = json.loads(s) print(type(n),n) ============================================= /usr/bin/python3.5 /home/liangml/pythonscript/test.py <class 'str'> {"k1":"v1"} <class 'dict'> {'k1': 'v1'} Process finished with exit code 0