知识要点:
1、作用域相关函数
globals() #返回一个字典:包含全部的全局变量。
locals() #返回一个字典:包含的是当前作用域 所有的变量。
例如: b = 2 print(locals()) # 这个区域打印的 print(globals()) def func1(): a = 1 print(locals()) #和这个区域打印的是不同的 print(globals()) func1()
2、输入输出相关
input() #函数接受一个标准输入数据,返回为 string 类型。
print() #打印输出。
一般的打印: print('666') print(1,2,3,4) print(*[1,2,3]) #这里是函数的调用,前面有*就打散,正常输出 def func1(*args,**kwargs): # 函数的定义:*指的是聚合。 print(*args) # (*(1,2,3,4)) 函数的执行时: * 打散变成 print(1,2,3,4) 所以可以正常输出 print(args) #也可以正常输出 print(**kwargs) # 这里将会报错,因为相当于print(name='alex',age=1000)而print函数源码定义只有*args,并没有定义**kwargs,因而会报错 print(kwargs) #正常输出 func1(1,2,3,4,name='alex',age=1000)
print() 函数的一些常用设置:
print(1,2,3,4) #正常输出多个内容默认以空格为分隔符 print(1,2,3,sep='|') # 以sep修改多个内容分隔符为其他符号 如果这么打印两个数,那么默认是分成两行的 print(111) print(222) print(111,end=' ') # 这么打印会连成一行,以设置的空格隔开。end的作用是修改默认换行规则以设置的符号隔开 print(222,end=' ')
print()#函数的定义源码中有个默认参数file=none,把none改成文件句柄即可直接写入文件 f = open('t1',encoding='utf-8',mode='w') print(666,'777','888',file=f)
3、数学运算相关函数
abs() #函数返回数字的绝对值。
print(abs(-100))
divmod() #计算除数与被除数的结果,返回一个包含商和余数的元组(a // b, a % b)。
print(divmod(12,7)) # 得到结果(1, 5) (商,余数)
工作中作用是:页面的分页,103 条数据,你每页显示12 条数据,你最终显示多少页。
print(divmod(103,12))
round():保留浮点数的小数位数,默认保留整数,四舍五入。
print(round(3.141592653,4))
pow:求x**y次幂。(三个参数为x**y的结果对z取余)
print(pow(2,5))
print(pow(2,5,12))
sum() 函数:
sum():对可迭代对象进行求和计算(可设置初始值)。 sum(iterable,start_num) print(sum([1,2,3,4,100,101])) print(sum([1,2,3,4,100,101],100)) print(sum([int(i) for i in [1,'2',3,'4','100',101]]))
min() 函数
min():返回可迭代对象的最小值(可加key,key为函数名,通过函数的规则,返回最小值)。 print(min([1,-2,3,4,100,101])) print(min([1,-2,3,4,100,101])) print(min([1,-2,3,4,100,101],key=abs))
例:[('alex',1000),('太白',18),('wusir',500)] 求出年龄最小的那个元组 之前我们的做法是: ls = [('alex',1000),('太白',18),('wusir',500)] min1 = min([i[1] for i in ls]) for i in ls: if i[1]==min1: print(i) 现在我们可以使用key参数来做: def func(x): return x[1] # 1000 18 500 print(min([('alex',1000),('太白',18),('wusir',500)],key=func)) 1,它会将iterable的每一个元素当做函数的参数传进去。 2,它会按照返回值去比较大小。 3,返回的是遍历的元素 x. dic = {'a':3,'b':2,'c':1} 求出值最小的字典的键 def func1(x): return dic[x] print(min(dic,key=func1)) def func2(x): return x[1] print(min(dic.items(),key=func2)) #输出字典的键值对的元组 max():返回可迭代对象的最大值(可加key,key为函数名,通过函数的规则,返回最大值)。 ***** print(max([1,2,3,100]))
4、其他相关的内置函数
字符串类型代码的执行 eval,exec,complie,不建议使用这些函数
eval(): 执行字符串类型的代码,并返回最终结果 s1 = '1+2+3' s2 = "{'name':'alex'}" print(eval(s1)) print(eval(s2)) # exec() 执行字符串类型的代码,不返回结果 用于代码流 s3 = '''for i in range(3): print(i) ''' print(exec(s1)) exec(s3) 有计算结果的时候使用eval() 没有计算结果使用exec() complie() 了解一下即可
5、内存相关 hash id ***
hash():获取一个对象(可哈希对象:int,str,Bool,tuple)的哈希值。
id():获取该对象的内存地址。
字典:会将你的所有的key 在内存中转化成id dic = {'name':'alex','kfdshjfhdskjfhsd': '123'} print(hash('name')) print(hash('name1')) print(hash('fdsmkfghsdlksld')) print(hash(1)) print(hash(100)) print(hash(100000000000)) print(hash([1,2,3])) #列表时可变数据类型,不可哈希
6、文件操作相关
open:函数用于打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。
7、模块相关__import__
__import__:函数用于动态加载类和函数 。
8、帮助
help():函数用于查看函数或模块用途的详细说明。
name = 'alex'
print(help(str))
9、调用相关
callable():函数用于检查一个对象是否是可调用的。如果返回True,object仍然可能调用失败;
但如果返回False,调用对象ojbect绝对不会成功。
name = 'alex'
def func1():
pass
print(callable(name)) # False
print(callable(func1)) # True # 说明func1可以被调用
10、查看内置属性
dir():函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。
如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。
name = 'alex'
print(dir(name))
range():函数可创建一个整数对象,一般用在 for 循环中。
python2x: range(3) ---> [0,1,2] 列表
xrange(3) ---> 迭代器。
python3x: range(3) ---> range(0,3) 可迭代对象
next():内部实际使用了__next__方法,返回迭代器的下一个项目。
iter():函数用来生成迭代器(将一个可迭代对象,生成迭代器)。