1、循环导入问题 2、"ture"和"=="问题 3、深拷贝、浅拷贝 4、模块导入 5、Python数据类型 6、私有化 7、列表解析 8、字典多重嵌套 9、遍历字典中的值 10、测试字典的键值是否存在11、数字 1、循环导入问题 解决方案: 1、设计之初不互相调用 2、引入一个第三方模块,由主模块进行调用 2、"ture"和"=="问题 true:值是否相同 ==:是否指向同一个数据对象 3、深拷贝、浅拷贝 浅拷贝:复制一个对象的地址,即将被复制对象的位置指向复制方。 深拷贝: 导入模块-----import copy c = copy.deepcopy(a) # 拷贝真实数据 c = copy.copy(a) # 拷贝地址 4、模块导入 import mod_name from mod_name import meth_name from mod_name import * import mod_name as new_mod_name 5、Python数据类型 可变数据类型:列表、字典 6、私有化 私有类 私有方法 不能被引用、不能被子类继承、被导入的模块中含有私有变量和类不能被使用 _test # 只能在本模块中使用 test_ # 避免编译器关键字冲突 __test__ __test **事实上,类名是被名称重整了 例如 __num 属性被重整为 __Test__num 7、列表解析 In [65]: list1 Out[65]: [['x', 'u', 'e'], ['j', 'i', 'w'], ['w', 'e', 'i']] In [66]: list2 = [row[1] for row in list1] In [67]: list2 Out[67]: ['u', 'i', 'e'] 8、字典多重嵌套 dic2 = {'name':{'name1':'xuejinwei','name2':'xuekaixin'},'age':'1','job':'ops'} 9、遍历字典中的值 思路:使用 dic.keys() 获取字典的所有键值,然后使用 list(dic.keys()) 将字典的所有键值转换为一个列表, 然后使用 for 循环遍历字典的所有值。 for key in dic3_keys_list: print(key,'=>',dic3[key]) name1 => xuejinwei name2 => xuekaixin name3 => lijianliang name4 => yinda 新版本的 python 中可以一步完成对键值的遍历。 for key in sorted(dic): print(key,'=',dic[key]) for key in sorted(dic3): print(key,'=>',dic3[key]) name1 => xuejinwei name2 => xuekaixin name3 => lijianliang name4 => yinda 10、测试字典的键值是否存在 if not keys in dic: print("不存在") 11、数字 1、数字类型 整数、浮点数、复数 2、浮点数 3.14e-10 3.14e+12 3、二进制 以0b或者0B开头,后面跟二进制数 4、进制转换 转换为十六进制数:hex() 转换为八进制数:oct() 转换为二进制数:bin() 5、相关函数 pow() # 返回x的y次方 abs() # 返回绝对值 round(number, ndigits) # 返回浮点数的四舍五入值