python基础13_zip_import
继续内置函数,zip函数被比喻成拉链,将两边的齿对应起来。
#!/usr/bin/env python # coding:utf-8 ## 比喻像个拉链,将两边对应起来。 # 多出来的部分,不作处理。 print(list(zip(('a','b','c'),(11,22,33)))) print(list(zip(('a','b','c'),(11,22,33,44)))) print(list(zip(('a','b','c','d'),(11,22,33,)))) # 拆分字典的元素 dic = {'name':'tom','age':22, 'gender':'male'} print(list(zip(dic.keys(),dic.values()))) print(list(zip('abcde','123456'))) ## 使用zip方法来处理字典中值最大的一组 age_dic={'tom_age':81,'jerry_age':133,'louis_age':88,'bob_age':55} print(max(age_dic.values())) print(max(zip(age_dic.values(),age_dic.keys()))) # 把V和K颠倒,就方便使用max了。 dic2=( {'name':'tom','age':33}, {'name':'abc','age':88}, {'name':'bob','age':66}, {'name':'jim','age':44}, ) # max可以使用key方法,传一个函数进去。 # 相当于把 元组或列表进行了for循环处理。 print(max(dic2, key=lambda item:item['age']))
还有另外几个内置函数:
#!/usr/bin/env python # coding:utf-8 print(pow(3,3)) print(pow(3,3,4)) # 第三个参数是3**3后的取余 a = 'python' s1 = slice(3,5) # 切片函数 # print(a[3:5]) print(a[s1]) s2 =slice(3,6,2) # 步长为2 print(a[s2]) b = [3,2,1,7,5] print(sorted(b)) # 排序函数 dic = {'k11':3000,'k6':5000,'k3':6000,'k4':8000,'k2':7000} # print(sorted(dic)) print(sorted(dic,key=lambda k:dic[k])) # 按字典的值进行排序 print(sorted(zip(dic.values(),dic.keys()))) # 拿到按值排序后的值和key print(sum(b)) print(sum(range(5))) # 从0加到4哦 print(list(range(5))) msg='123' if type(msg) is str: # type用于判断变量类型 print(int(msg)+2) def test(): a = 'ert' print(locals()) # 打印当前作用域中的变量,字典形式 print(vars()) # 没有参数时,等同于locals() test()
还有 import 和 __import__
test.py文件的内容:
#!/usr/bin/env python # coding:utf-8 def func(): print('hello,python')
test2.py的内容:
#!/usr/bin/env python # coding:utf-8 def abc(): print('aaaaaaaaaaaaaa')
接下来,对比一下两种 import 的使用区别
#!/usr/bin/env python # coding:utf-8 import test # 导入test.py模块,也就是导入这个文件的内容。 test.func() # 使用test模块中的函数 ## __import__ 则是导入字符串命名形式的模块 # m_name = 'test2' m = __import__('test2') # 导入以字符串命名的模块, 必须要赋值给变量 m.abc() #### import >> sys >> __import__ ## import 会去调用sys, 底层还是使用 __import__ 方法。
这些是笔记,可能看起来有点乱,等以后越来越熟悉之后再仔细整理。