一 .python 内置函数补充
- chr() -- 返回所给参数对应的 ASCII 对应的字符,与ord()相反
# -*- coding:utf-8 -*- # Author:wencheng.zhao a = chr(65) print(a) b = chr(66) print(b) ##输出如下: A B Process finished with exit code 0
- ord --返回所给的值在ASCII中对应的数字,与chr()作用相反
# -*- coding:utf-8 -*- # Author:wencheng.zhao a = ord("A") b = ord("B") print(a) print(b) ##显示如下: 65 66 Process finished with exit code 0
ascii表对应如下:
应用如上两个内置函数编写一个自动生成验证码的小程序:
要求: 随机产生8为验证码
验证码包含数字和字母,代码实现如下
# -*- coding:utf-8 -*- # Author:wencheng.zhao import random li = [] ##定义一个空列表用于存放结果 for i in range(8): #每次生成一个字母or数字,生成8次 r = random.randrange(0,8) ##当r为此范围内的数字时就让次位置上的验证码为纯数字 if r == 2 or r == 4: ##随便等于 等于的值越多 产生纯数字的可能行就也越大 num = random.randrange(0,10) ##num为0-9的任意随机数字 li.append(str(num)) ##将数字结果存如空列表中 else: ##如果没有为纯数字的情况 temp = random.randrange(65,91) ##根据ascii表可得 65 - 90 为应为字母 c = chr(temp) ##将得到的随机数字转换成对应的字母 li.append(c) ##将结果存放到最终列表里 result = " ".join(li) #将结果排列 print(result) #打印结果 ###最终现实如下: D 9 F 3 1 O X 4 Process finished with exit code 0
- compile() 将source编译成代码或者对象,代码或者对象能够通过语句exec()执行或者通过eval()来求值
- exec() 执行python的代码 -- 执行完毕后无返回值。
- eval() 执行python表达式 --执行完毕后有返回值。对比如下:
code = "print(123)" aa = compile(code,"<string>","exec") ##编译 ss = exec(aa) # 执行 print(ss) #无返回值 num = "8*8" bb = eval(num) print(bb) #有返回值,返回值为计算结果 ##现实结果如下: 123 None 64 Process finished with exit code 0
- dir() --用来快速获取**所提供的功能
a = dir(list) print(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'] Process finished with exit code 0
- help() --- 查看帮助 ,比较详细
help(list) #显示如下: 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