一、作用域相关
1.globals:查看全局作用域里的内容
a = 10
def func():
a = 10
print(globals())
打印结果:
{
'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x00000205433B9240>, '__spec__': None, '__annotations__': {
}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'C:/Users/DELL/PycharmProjects/pythonProject1/c/test1.py', '__cached__': None, 'a': 10, 'func': <function func at 0x0000020543A449D8>}
2.locals():查看当前作用域中的内容
a = 10
def func():
b = 8
print(locals())
func()
打印结果:
{
'b': 8}
二、迭代器,生成器相关
1.range(start, end, step) 区间:[start, end)
2.iter() 取出迭代器
3.next()取出下一个元素
lst = [1, 2, 3]
it = iter(lst)
print(next(it))
print(next(it))
print(next(it))
打印结果:
1
2
3
三、其他:
1.dir:查看数据类型能执行的操作
print(dir(list))
打印结果:
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__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']
2.callable(参数):判断参数能否被调用,在调用函数前,先用callable函数判断能否能否被调用,避免报错。
def func():
pass
#func函数能被调用
print(callable(func))
#数字无法直接调用
print(123)
打印结果:
True
False
3.help:输出数据结构的源代码
print(help(str))
打印结果:
class str(object)
| str(object='') -> str
| str(bytes_or_buffer[, encoding[, errors]]) -> str
|
| Create a new string object from the given object. If encoding or
| errors is specified, then the object must expose a data buffer
| that will be decoded using the given encoding and error handler.
| Otherwise, returns the result of object.__str__() (if defined)
| or repr(object).
| encoding defaults to sys.getdefaultencoding().
| errors defaults to 'strict'.
|
| Methods defined here:
|
| __add__(self, value, /)
| Return self+value.
|
| __contains__(self, key, /)
| Return key in self.
|
| __eq__(self, value, /)
| Return self==value.
|
| __format__(...)
| S.__format__(format_spec) -> str
|
| Return a formatted version of S as described by format_spec.
4.import(参数):动态导出参赛名称的模块
mo = input(">>>") #"os"
__import__(mo)
5.open: 打开文件。
具体操作:open文件操作
`
6.id(参数):查看参数的内存地址
x = 3
print(id(x))
打印输出:
1798746368
7.hash(参数):输出参数的hash值。可变的数据结构不可hash,例如列表。
print(hash("AAA"), hash("AAA"))
打印结果:
-6981976277823355042 -6981976277823355042
8.eval:可以把字符串当成代码执行,有返回值。
print(eval("1 + 1"))
输出:
2
9.exec(参数):执行参数里的代码,但是没有返回值
存在安全性问题。
s = "a = 100"
exec(s)
print(a)#a标红,报错,但是正常打印
打印:
100
10.compile() :把一段字符串代码加载,后面可以通过exec和eval执行
compile(”parament1“, ”parament2“,”parament3“)
parament1:需要执行的字符串
parament2:代码所在的文件
parament3:exec:不需要返回值;eval:需要返回值;single:需要输入
c = compile("n = int(input('>>>:'))","","single")
exec(c)
print(n)
打印输出:
>>>:55
55
四、基础数据类型:
1.float:小数类型
2.int:整数类型
3.complex:复数
4.bool:布尔数据类型
5.bin(x):将数字转为二进制,例如:0b1001
6.oct(x):将数字转为八进制,例如:0o1772
7.hex(x):将数字转为十六进制,例如:0x15ab
8.abs(x):将数字转为绝对值
9.divmod(x, y):得到除法的商和余数构成的元组
10.round(x):得到x变为整数后的四舍五入值
11.pow(x, y)和c++一样
12.sum(x):计算列表,元组等的和
13.max(x):计算列表,元组等的最大值
14.min(x):计算列表,元组等的最小值
15.dict():得到集合
16.frozenset():建立集合后,不能更改
17.enumerate:枚举列表等。
18.any:列表等里的元素做or运算。
lst = [0, "换行", True]
print(any(lst))
打印:
True
19.all(x):列表里的元素做and运算。
lst = [0, "换行", True]
print(all(lst))
打印:
False
20.zip(x1,x2,x3):把对于位置的元素拉链链接到一起
lst1 = [1, 2, 3]
lst2 = [2, 4, 6]
lst3 = [3, 6, 9]
a = zip(lst1, lst2, lst3)
#直接打印是a的地址,要找迭代器看具体的值
print(a)
it = iter(a)
print(next(it))
print(next(it))
print(next(it))
打印结果:
<zip object at 0x0000020EBDCC3648>
(1, 2, 3)
(2, 4, 6)
(3, 6, 9)
tip:
利用zip快速构建字典。
lst1 = [1, 2, 3]
lst2 = [2, 4, 6]
# 快速构建字典
d = dict(zip(lst1, lst2))
print(d)
打印得到:
{
1: 2, 2: 4, 3: 6}
21.reversed(参数):将参数里的数反转,并生成一个迭代器,注意原来参数里的数没有变化
lst1 = [1, 2, 3]
r = reversed(lst1)
print(lst1)
it = iter(r)
while True:
try:
print(next(it))
except StopIteration:
break
[1, 2, 3]
3
2
1
22.切片slice:在切片中适用,方便一次更改多个列表等的切片方式。
k = "上单流浪法师瑞兹"
m = "中单疾风剑豪"
s = slice(0, 6, 2)
print(k[s])
print(m[s])
打印:
上流法
中疾剑
23.ord©:返回字符c编码的值
chr(num):返回编码值为num的字符
可以帮助生成验证码
print(ord("中"))
print(chr(20013))
打印
20013
中
24.repr:一个字符串最应该表现的方式
print(str("你好,'我\t来了"))
print(repr("你好,'我\t来了"))
打印输出:
你好,'我 来了
"你好,'我\t来了"
25.format(num, “08d”) :将num变为8位数的数字,前面的空余部分用 ‘0’ 填充。
format(num, “.8f”) 小数点后保留8位小数