20180729    修改部分代码

  1. 更新:# # 5、max与列表指定参数

20180728    初次上传

  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3. # ********************day17_内置函数_文件处理 *******************
  4. # =====>>>>>>内容概览
  5. # # 1、zip
  6. # # # 也称之为拉链函数,参数两边匹配==》 元组 ==》列表
  7. # # 2、zip与字典
  8. # # # zip拉链函数,对“字典”中的key与值进行匹配输出
  9. # # 2、zip与字符串
  10. # # 3、max
  11. # # # 1、 max函数处理的是可迭代对象,相当于一个for循环取出来每个元素进不行比较,注意不同类型之间是不能进行比较的
  12. # # # 2、每个元素间进行比较,是从每个元素的第一个位置依次比较,如果这一个位置分出大小,后面的都不需要比较了,直接得
  13. # # # 出这俩元素的大小(如下)
  14. # # # # 对于字典中的max求最大值,比较过程:所有的第一个元素比较--> 找到最大值,结束;否则 -->
  15. # # # # 所有的第二个元素比较-->找到最大值,结束;否则 -->。。。-->最大值,结束
  16. # # # # max(字典),默认比价的是字典中的key
  17. # # 4、max 指定方法进行比较
  18. # # 5、max与列表指定参数
  19. # # 6、chr 与 ord 正反向编码
  20. # # 7、pow
  21. # # # pow() 方法返回 x^y(x的y次方) 的值。
  22. # # # 内置的 pow() 方法
  23. # # # 函数是计算x的y次方,如果z在存在,则再对结果进行取模,其结果等效于pow(x,y) %z
  24. # # # 注意:pow() 通过内置的方法直接调用,内置方法会把参数作为整型
  25. # # 8、repr
  26. # # # repr() 函数将对象转化为供解释器读取的形式。
  27. # # 8、reverse
  28. # # # reverse() 函数用于反向列表中元素。
  29. # # # 该方法没有返回值,但是会对列表的元素进行反向排序。
  30. # # 9、round
  31. # # # round() 方法返回浮点数x的四舍五入值。
  32. # # # round( x [, n] )
  33. # # # # x -- 数值表达式。
  34. # # # # n -- 数值表达式。
  35. # # 10、set
  36. # # # set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。
  37. # # 11、slice
  38. # # # slice() 函数实现切片对象,主要用在切片操作函数里的参数传递。
  39. # # 12、sorted()
  40. # # # sorted() 函数对所有可迭代的对象进行排序操作。
  41. # # # sort 与 sorted 区别:
  42. # # # sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
  43. # # # list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
  44. # # 13、sorted对列表中的字典排序
  45. # # # 对字典中的的指定位置的参数进行字典排序
  46. # # 14、sorted对字典的排序, sorted 与 zip 联用
  47. # # 15、eval
  48. # # # eval() 函数用来执行一个字符串表达式,并返回表达式的值。
  49. # # # 也应是返回字符的内容,相当于去掉字符中的两边的符号
  50. # # # x = 7
  51. # # # >>> eval( '3 * x' )
  52. # # # 结果 21
  53. # # 16、sum()
  54. # # # sum() 方法对系列进行求和计算。
  55. # # 17、type
  56. # # # type() 函数如果你只有第一个参数则返回对象的类型,三个参数返回新的类型对象。
  57. #
  58. # # 18、isinstance() 与 type() 区别:
  59. # # # type() 不会认为子类是一种父类类型,不考虑继承关系。
  60. # # # isinstance() 会认为子类是一种父类类型,考虑继承关系。
  61. # # # 如果要判断两个类型是否相同推荐使用 isinstance()。
  62. # # 19、type 的应用
  63. # # # 数据运算前进行确认类型,以进行同类型处理
  64. # # 20、vars
  65. # # # 描述
  66. # # # # vars() 函数返回对象object的属性和属性值的字典对象。
  67. # # 21、import 函数
  68. # # # 文件的导入
  69. # # # 系统对import的实现过程: import------>sys----->__import__()
  70. # # # import 通常用来实现文件名直接去文件
  71. # # # __import__()通常用来是先字符串文件名 取 文件
  72. # # 22、__import__
  73. # # # 字符串文件名导入
  74. # # # __import__() 函数用于动态加载类和函数 。
  75. # # # 如果一个模块经常变化就可以使用 __import__() 来动态载入。
  76. # # # 返回值: 返回元组列表。
  77. # # 23、关于文件: 所有的文件,都是使用字符串储存的。也就是说,所有的数据类型,最后储存在系统,都是字符串,
  78. # # #---------------- 最后在通过系统转化为硬件可理解的二进制编码
  79. # # # 文件处理的常用三种模式:r,w,a,分别是:读、写、追加
  80. # # 24、文件读的3常用函数 read readline readable
  81. # # 25、read
  82. # # # 文件读
  83. # # 26、f.readable f.readline
  84. # # # f.readable() # 判断文件是否已r模式打开,是则返回True,否则返回False
  85. # # # readline 文件中读取一行
  86. # # 27、f.readable() 补充
  87. # # 28、文件写常用函数 write writeline
  88. # # 29、文件写
  89. # # # w是直接 清空原文件, 将新的内容写入进去
  90. # # # 如果文件不存在,那么就会新建一个文件
  91. # # 30、writelines()
  92. # # # 文件写
  93. # # # 文件的内容只能是字符串,也只能写字符串
  94. # # 31、a
  95. # # # a模式追加内容
  96. # # # 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。
  97. # # # 也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
  98. # # 32、r+
  99. # # # 打开一个文件用于读写。文件指针将会放在文件的开头。
  100. # # 33、文件修改的本质就是 文件覆盖
  101. # # # 根本上就没有修改一说
  102. # # 34、with open() as f:
  103. # # # with open('a.txt','w') as f:
  104. # # # 以方式“写w”打开文件a.txt,如果没有就创建新的文件,然后文件完成后自动关闭。
  105. # # # 相对于f.open(), 这种模式只需要打开就可以了,不需要关闭;然而,f.open()模式,需要在文件操作完成后,对
  106. # # # 文件进行关闭
  107. # # 35、with open() as f: 多行操作
  108. # # 36、f.encoding
  109. # # # 查看文件编码
  110. # print("分割线".center(100,"-"))
  111. # ------------------------------------------------分割线-------------------------------------------------
  112. # ------------------------------------------------分割线-------------------------------------------------
  113. # ------------------------------------------------分割线-------------------------------------------------
  114. # # 1、zip
  115. # # # 也称之为拉链函数,参数两边匹配==》 元组 ==》列表
  116. # 描述
  117. # zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
  118. # 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
  119. # zip 方法在 Python 2 和 Python 3 中的不同:在 Python 3.x 中为了减少内存,zip() 返回的是一个对象。如需展示列表,需手动 list
  120. #
  121. # print(list(zip(('a','b','c','d',),('1','2','3','4','5',))))
  122. # print(list(zip(('a','b','c','d',),('1','2','3','4',))))
  123. # print(list(zip(('a','b','c','d',),('1','2','3',))))
  124. #
  125. # # D:\Anaconda3\python.exe D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py
  126. # # [('a', '1'), ('b', '2'), ('c', '3'), ('d', '4')]
  127. # # [('a', '1'), ('b', '2'), ('c', '3'), ('d', '4')]
  128. # # [('a', '1'), ('b', '2'), ('c', '3')]
  129. # #
  130. # # Process finished with exit code 0
  131. # # 2、zip与字典
  132. # # # zip拉链函数,对“字典”中的key与值进行匹配输出
  133. # p = {
  134. # "name": "alex",
  135. # "age":18,
  136. # "gender": "none"
  137. # }
  138. # print(list(zip(p.keys(),p.values())))
  139. # # print(p.keys() ) # dict_keys(['name', 'age', 'gender'])
  140. # # print( p.values() ) # dict_values(['alex', 18, 'none'])
  141. # print(list( p.keys() ) )
  142. # print(list(p.values()) )
  143. #
  144. # # D:\Anaconda3\python.exe D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py
  145. # # [('name', 'alex'), ('age', 18), ('gender', 'none')]
  146. # # ['name', 'age', 'gender']
  147. # # ['alex', 18, 'none']
  148. # #
  149. # # Process finished with exit code 0
  150. # # 2、1 zip与字符串
  151. # a = "hello"
  152. # b = "12345"
  153. # print(list(zip(a,b)))
  154. # #
  155. # # D:\Anaconda3\python.exe D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py
  156. # # [('h', '1'), ('e', '2'), ('l', '3'), ('l', '4'), ('o', '5')]
  157. # #
  158. # # Process finished with exit code 0
  159. # # 3、max
  160. # # # 1、 max函数处理的是可迭代对象,相当于一个for循环取出来每个元素进行比较,注意不同类型之间是不能进行比较的
  161. # # # 2、每个元素间进行比较,是从每个元素的第一个位置依次比较,如果这一个位置分出大小,后面的都不需要比较了,直接得
  162. # # # # 出这俩元素的大小(如下)
  163. # # # # 对于字典中的max求最大值,比较过程:所有的第一个元素比较--> 找到最大值,结束;否则 -->
  164. # # # # 所有的第二个元素比较-->找到最大值,结束;否则 -->。。。-->最大值,结束
  165. # # # # max(字典),默认比价的是字典中的key
  166. # age_dic = {
  167. # "age1":18 ,
  168. # "age4":20,
  169. # "age3":100,
  170. # "age2":50
  171. # }
  172. # print('max(age_dic): ',max(age_dic))
  173. # print('max(age_dic.values()): ',max(age_dic.values()))
  174. # print('max(age_dic.keys()): ',max(age_dic.keys()))
  175. #
  176. # # D:\Anaconda3\python.exe D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py
  177. # # max(age_dic): age4
  178. # # max(age_dic.values()): 100
  179. # # max(age_dic.keys()): age4
  180. # #
  181. # # Process finished with exit code 0
  182. # # 实例二
  183. # 明确是max是按照元素的位比较,而不是整体比较; 整体比较:age111大; 元素的位比较:age41大
  184. # age_dic = {
  185. # "age111":18 ,
  186. # "age41":20,
  187. # "age3":100,
  188. # "age2":50
  189. # }
  190. # print('max(age_dic): ',max(age_dic))
  191. # print('max(age_dic.values()): ',max(age_dic.values()))
  192. # print('max(age_dic.keys()): ',max(age_dic.keys()))
  193. #
  194. # # D:\Anaconda3\python.exe D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py
  195. # # max(age_dic): age41
  196. # # max(age_dic.values()): 100
  197. # # max(age_dic.keys()): age41
  198. # #
  199. # # Process finished with exit code 0
  200. # # 实例三
  201. # # 先比较第一个元素,比较出结果后,后面的就不在比较,如下列中,第一个元素中100是最大值
  202. # 字典求max,默认是对key进行比较大小,比较的方式是从key中的每一位进行比较大小
  203. # age_dic = {
  204. # "alex_age":18 ,
  205. # "wuqpei_age":20,
  206. # "zsc_age":100,
  207. # "lhf_age":50
  208. #
  209. # }
  210. # # print(max(age_dic.values())) # 100
  211. # for item in zip(age_dic.values(),age_dic.keys()): # [(18,'alex_age') (20,'wupeiqi_age') () () ()]
  212. # print(item)
  213. #
  214. # print('=======>',list(max(zip(age_dic.values(),age_dic.keys()))) )
  215. #
  216. # # D:\Anaconda3\python.exe D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py
  217. # # (18, 'alex_age')
  218. # # (20, 'wuqpei_age')
  219. # # (100, 'zsc_age')
  220. # # (50, 'lhf_age')
  221. # # =======> [100, 'zsc_age']
  222. # #
  223. # # Process finished with exit code 0
  224. # # 实例四
  225. # # 不同类型,不可以进行比较
  226. #
  227. # l = [
  228. # (5,'e'),
  229. # (1, 'b'),
  230. # (3, 'a'),
  231. #
  232. # ]
  233. # l1 = ['a19','n23','c11']
  234. # # l1 = ['a19','n23','c11',100] # 报错,不同类型之间不能进行比较
  235. # print( list(max(l)))
  236. # print( list(max(l1))) # 第一个元素"n"最大,返回"n23",结束
  237. #
  238. # D:\Anaconda3\python.exe D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py
  239. # [5, 'e']
  240. # ['n', '2', '3']
  241. #
  242. # Process finished with exit code 0
  243. # # 4、max 指定方法进行比较
  244. # # 列表内的字典比较
  245. # # 有点难理解
  246. # people = [
  247. # {'name': 'alex', 'age':1000},
  248. # {'name': 'wupeiqi', 'age':10000},
  249. # {'name': 'yuanhao', 'age': 9000},
  250. # {'name': 'linhaifeng', 'age': 18}
  251. #
  252. # ]
  253. #
  254. # # max(people) # 报错,直接的字典与字典之间是不可以比较大小的
  255. #
  256. # # 比较people中的age 的值的大小
  257. # # 下面就是把people的每一个元素(字典)取出来,然后,使用指定的方法key对字典的value进行 max 比较大小
  258. # # 之后返回值所在的索引位置
  259. # print( max(people, key = lambda dic:dic['age']) )
  260. #
  261. # # 等同实现方法
  262. # ret = []
  263. # for item in people:
  264. # ret.append(item['age'])
  265. # print("ret:",ret)
  266. # print("max(ret):", max(ret) )
  267. # # 其他测试
  268. # print( "lambda dic:dic['age']: ",(lambda dic:dic['age'])(people[0]) )
  269. #
  270. # # D:\Anaconda3\python.exe D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py
  271. # # {'name': 'wupeiqi', 'age': 10000}
  272. # # ret: [1000, 10000, 9000, 18]
  273. # # max(ret): 10000
  274. # # lambda dic:dic['age']: 1000
  275. # #
  276. # # Process finished with exit code 0
  277. # # 5、max与列表指定参数
  278. # # # 关于列表中的列表这个比较
  279. # people = [
  280. # [11,111],
  281. # [22,222],
  282. # [33,333],
  283. # [44,444]
  284. #
  285. # ]
  286. # print( max(people,key= lambda x: x[0]) )
  287. #
  288. # # D:\Anaconda3\python.exe D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py
  289. # # [44, 444]
  290. # # 11
  291. # #
  292. # # Process finished with exit code 0
  293. # # 6、chr 与 ord 正反向编码
  294. # print(chr(97))
  295. # print(ord('a'))
  296. #
  297. # # D:\Anaconda3\python.exe D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py
  298. # # a
  299. # # 97
  300. # #
  301. # # Process finished with exit code 0
  302. # # 7、pow
  303. # # # pow() 方法返回 x^y(x的y次方) 的值。
  304. # # # 内置的 pow() 方法
  305. # # # 函数是计算x的y次方,如果z在存在,则再对结果进行取模,其结果等效于pow(x,y) %z
  306. # # # 注意:pow() 通过内置的方法直接调用,内置方法会把参数作为整型
  307. # pow(x, y[, z])
  308. # print(pow(3,3)) # 3**3
  309. # print(pow(3,3,2)) # 3**3%2
  310. #
  311. # D:\Anaconda3\python.exe D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py
  312. # 27
  313. # 1
  314. #
  315. # Process finished with exit code 0
  316. # # 8、repr
  317. # # # repr() 函数将对象转化为供解释器读取的形式。
  318. #
  319. # 语法
  320. # 以下是 repr() 方法的语法:
  321. # repr(object)
  322. # 返回值
  323. # 返回一个对象的 string 格式。
  324. # ====>需要留意到的是,下面的结果都是str类型的,这是因为所有的数据存储最后都是转化为 字符串
  325. # a= 1
  326. # s = "aaaaa"
  327. # l = [1111,2222,33333]
  328. # se = {"a","b","c",1,9}
  329. # dic = {'runoob': 'runoob.com', 'google': 'google.com'}
  330. # print( "a: ",repr(a) ,type(repr(a)))
  331. # print( "s:",repr(s) ,type(repr(s)))
  332. # print( "l:",repr(l) ,type(repr(l)))
  333. # print( "se:",repr(se) ,type(repr(se)))
  334. # print( "dict:",repr(dic) ,type(repr(dic)))
  335. # #
  336. # # D:\Anaconda3\python.exe D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py
  337. # # a: 1 <class 'str'>
  338. # # s: 'aaaaa' <class 'str'>
  339. # # l: [1111, 2222, 33333] <class 'str'>
  340. # # se: {1, 'c', 9, 'b', 'a'} <class 'str'>
  341. # # dict: {'runoob': 'runoob.com', 'google': 'google.com'} <class 'str'>
  342. # #
  343. # # Process finished with exit code 0
  344. # # 8、reverse
  345. # # # reverse() 函数用于反向列表中元素。
  346. # # # 该方法没有返回值,但是会对列表的元素进行反向排序。
  347. #
  348. # l =[1,2,3,4]
  349. # print(list(reversed(l)))
  350. # print(l)
  351. # #
  352. # # D:\Anaconda3\python.exe D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py
  353. # # [4, 3, 2, 1]
  354. # # [1, 2, 3, 4]
  355. # #
  356. # # Process finished with exit code 0
  357. # # 9、round
  358. # # # round() 方法返回浮点数x的四舍五入值。
  359. # # # round( x [, n] )
  360. # # # # x -- 数值表达式。
  361. # # # # n -- 数值表达式。
  362. # print("round(3.5): ",round(3.5))
  363. # print( "round(80.23456, 2) : ", round(80.23456, 2) )
  364. #
  365. # # D:\Anaconda3\python.exe D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py
  366. # # round(3.5): 4
  367. # # round(80.23456, 2) : 80.23
  368. # #
  369. # # Process finished with exit code 0
  370. # # 10、set
  371. # # # set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。
  372. # print( set("hello") )
  373. #
  374. # # D:\Anaconda3\python.exe D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py
  375. # # {'h', 'l', 'e', 'o'}
  376. # #
  377. # # Process finished with exit code 0
  378. # # 11、slice
  379. # # # slice() 函数实现切片对象,主要用在切片操作函数里的参数传递。
  380. # # class slice(start, stop[, step])
  381. # l = "hello123456"
  382. # # 01234567890
  383. # s1 = slice(3,9) # 这种方式进行切片处理,易读性比较高,同时移植性提高
  384. # s2 = slice(3,9,2)
  385. # print(l[3:9])
  386. # print("slice(3,9): ",l[s1])
  387. # print("slice(3,9,2): ",l[s2])
  388. # print("s2.start : ",s2.start)
  389. # print("s2.stop: ",s2.stop)
  390. # print("s2.step: ",s2.step)
  391. #
  392. # # D:\Anaconda3\python.exe D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py
  393. # # lo1234
  394. # # slice(3,9): lo1234
  395. # # slice(3,9,2): l13
  396. # # s2.start : 3
  397. # # s2.stop: 9
  398. # # s2.step: 2
  399. # #
  400. # # Process finished with exit code 0
  401. # # 12、sorted()
  402. # # # sorted() 函数对所有可迭代的对象进行排序操作。
  403. # # # sort 与 sorted 区别:
  404. # # # sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
  405. # # # list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
  406. # l = [3,2,1,5,7]
  407. # l1= [3,2,'a',1,5,7]
  408. # print(sorted(l))
  409. # # print(sorted(l1)) # 排序本质就是在比较大小,不同类型之间不可以比较大小
  410. #
  411. # # D:\Anaconda3\python.exe D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py
  412. # # [1, 2, 3, 5, 7]
  413. # #
  414. # # Process finished with exit code 0
  415. # # 13、sorted对列表中的字典排序
  416. # # # 对字典中的的指定位置的参数进行字典排序
  417. # people = [
  418. # {'name': 'alex', 'age':1000},
  419. # {'name': 'wupeiqi', 'age':10000},
  420. # {'name': 'yuanhao', 'age': 9000},
  421. # {'name': 'linhaifeng', 'age': 18}
  422. #
  423. # ]
  424. #
  425. # s = sorted(people,key=lambda dic: dic['age'] )
  426. # for i in s:
  427. # print(i)
  428. # # print(sorted(people,key=lambda dic: dic['age'])) # 上面的表达方式更加容易观察
  429. #
  430. # # D:\Anaconda3\python.exe D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py
  431. # # {'name': 'linhaifeng', 'age': 18}
  432. # # {'name': 'alex', 'age': 1000}
  433. # # {'name': 'yuanhao', 'age': 9000}
  434. # # {'name': 'wupeiqi', 'age': 10000}
  435. # #
  436. # # Process finished with exit code 0
  437. # # 14、sorted对字典的排序, sorted 与 zip 联用
  438. #
  439. # # 默认是对key关键字进行排序
  440. # name_dic ={
  441. # 'yuanhao' : 900,
  442. # 'alex': 200,
  443. # 'wupeiqi': 300
  444. #
  445. # }
  446. # print(sorted(name_dic))
  447. # print(sorted(name_dic,key=lambda key: name_dic[key] )) # 如果我只要排序的结果是值的大小呢???
  448. # print(sorted(zip(name_dic.values(), name_dic.keys()) ))
  449. # print(sorted(zip(name_dic.keys(),name_dic.values() ) ))
  450. #
  451. # # D:\AnacoD:\Anaconda3\python.exe D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py
  452. # # ['alex', 'wupeiqi', 'yuanhao']
  453. # # ['alex', 'wupeiqi', 'yuanhao']
  454. # # [(200, 'alex'), (300, 'wupeiqi'), (900, 'yuanhao')]
  455. # # [('alex', 200), ('wupeiqi', 300), ('yuanhao', 900)]
  456. # #
  457. # # Process finished with exit code 0
  458. # # 15、eval
  459. # # # eval() 函数用来执行一个字符串表达式,并返回表达式的值。
  460. # # # 也应是返回字符的内容,相当于去掉字符中的两边的符号
  461. # # # x = 7
  462. # # # >>> eval( '3 * x' )
  463. # # # 结果 21
  464. #
  465. # dic_str = str( {'a':1 })
  466. # print("a: ",str('1'), type('1'))
  467. # print("type (str( {'a':1}) ) ",type (str( {'a':1} )) )
  468. # print("type( eval(dic_str)) ",type( eval(dic_str))) # 去掉字符串两边的 ""
  469. #
  470. #
  471. # # D:\Anaconda3\python.exe D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py
  472. # # {'aa', 'abb'}
  473. # # a: 1 <class 'str'>
  474. # # type (str( {'a':1}) ) <class 'str'>
  475. # # type( eval(dic_str)) <class 'dict'>
  476. # #
  477. # # Process finished with exit code 0
  478. # # 16、sum()
  479. # # # sum() 方法对系列进行求和计算。
  480. # l = [1,2,3,4]
  481. # print("sum(l): ",sum(l))
  482. # print("sum( range(1,5)): ",sum( range(1,5)))
  483. #
  484. # # D:\Anaconda3\python.exe D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py
  485. # # sum(l): 10
  486. # # sum( range(1,5)): 10
  487. # #
  488. # # Process finished with exit code 0
  489. # # 17、type
  490. # # # type() 函数如果你只有第一个参数则返回对象的类型,三个参数返回新的类型对象。
  491. #
  492. # # 18、isinstance() 与 type() 区别:
  493. # # # type() 不会认为子类是一种父类类型,不考虑继承关系。
  494. # # # isinstance() 会认为子类是一种父类类型,考虑继承关系。
  495. # # # 如果要判断两个类型是否相同推荐使用 isinstance()。
  496. #
  497. # print( type(1) )
  498. #
  499. # # D:\Anaconda3\python.exe D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py
  500. # # <class 'int'>
  501. # #
  502. # # Process finished with exit code 0
  503. # # 19、type 的应用
  504. # # # 数据运算前进行确认类型,以进行同类型处理
  505. # # 例:对msg进行+1处理,
  506. # msg = '123'
  507. # # print(msg +1 ) # 对msg直接进行+1处理,类型错误==>报错
  508. # if type(msg) is str:
  509. # msg = int(msg)
  510. # res = msg +1
  511. # print(res)
  512. #
  513. # # D:\Anaconda3\python.exe D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py
  514. # # 124
  515. # #
  516. # # Process finished with exit code 0
  517. # # 20、vars
  518. # # # 描述
  519. # # # # vars() 函数返回对象object的属性和属性值的字典对象。
  520. #
  521. # 语法
  522. # vars() 函数语法:
  523. # vars([object])
  524. #
  525. # def test():
  526. # msg = '发生大的风飒飒的丰富的是'
  527. # print('locals():',locals())
  528. # print('vars():',vars())
  529. # test()
  530. # print('vars()',vars())
  531. # print('vars(int)',vars(int))
  532. #
  533. # # D:\Anaconda3\python.exe D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py
  534. # # locals(): {'msg': '发生大的风飒飒的丰富的是'}
  535. # # vars(): {'msg': '发生大的风飒飒的丰富的是'}
  536. # # vars() {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x0000000001DBD0F0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py', '__cached__': None, 'test': <function test at 0x00000000005B1EA0>}
  537. # # vars(int) {'__repr__': <slot wrapper '__repr__' of 'int' objects>, '__hash__': <slot wrapper '__hash__' of 'int' objects>, '__str__': <slot wrapper '__str__' of 'int' objects>, '__getattribute__': <slot wrapper '__getattribute__' of 'int' objects>, '__lt__': <slot wrapper '__lt__' of 'int' objects>, '__le__': <slot wrapper '__le__' of 'int' objects>, '__eq__': <slot wrapper '__eq__' of 'int' objects>, '__ne__': <slot wrapper '__ne__' of 'int' objects>, '__gt__': <slot wrapper '__gt__' of 'int' objects>, '__ge__': <slot wrapper '__ge__' of 'int' objects>, '__add__': <slot wrapper '__add__' of 'int' objects>, '__radd__': <slot wrapper '__radd__' of 'int' objects>, '__sub__': <slot wrapper '__sub__' of 'int' objects>, '__rsub__': <slot wrapper '__rsub__' of 'int' objects>, '__mul__': <slot wrapper '__mul__' of 'int' objects>, '__rmul__': <slot wrapper '__rmul__' of 'int' objects>, '__mod__': <slot wrapper '__mod__' of 'int' objects>, '__rmod__': <slot wrapper '__rmod__' of 'int' objects>, '__divmod__': <slot wrapper '__divmod__' of 'int' objects>, '__rdivmod__': <slot wrapper '__rdivmod__' of 'int' objects>, '__pow__': <slot wrapper '__pow__' of 'int' objects>, '__rpow__': <slot wrapper '__rpow__' of 'int' objects>, '__neg__': <slot wrapper '__neg__' of 'int' objects>, '__pos__': <slot wrapper '__pos__' of 'int' objects>, '__abs__': <slot wrapper '__abs__' of 'int' objects>, '__bool__': <slot wrapper '__bool__' of 'int' objects>, '__invert__': <slot wrapper '__invert__' of 'int' objects>, '__lshift__': <slot wrapper '__lshift__' of 'int' objects>, '__rlshift__': <slot wrapper '__rlshift__' of 'int' objects>, '__rshift__': <slot wrapper '__rshift__' of 'int' objects>, '__rrshift__': <slot wrapper '__rrshift__' of 'int' objects>, '__and__': <slot wrapper '__and__' of 'int' objects>, '__rand__': <slot wrapper '__rand__' of 'int' objects>, '__xor__': <slot wrapper '__xor__' of 'int' objects>, '__rxor__': <slot wrapper '__rxor__' of 'int' objects>, '__or__': <slot wrapper '__or__' of 'int' objects>, '__ror__': <slot wrapper '__ror__' of 'int' objects>, '__int__': <slot wrapper '__int__' of 'int' objects>, '__float__': <slot wrapper '__float__' of 'int' objects>, '__floordiv__': <slot wrapper '__floordiv__' of 'int' objects>, '__rfloordiv__': <slot wrapper '__rfloordiv__' of 'int' objects>, '__truediv__': <slot wrapper '__truediv__' of 'int' objects>, '__rtruediv__': <slot wrapper '__rtruediv__' of 'int' objects>, '__index__': <slot wrapper '__index__' of 'int' objects>, '__new__': <built-in method __new__ of type object at 0x00000000503F99A0>, 'conjugate': <method 'conjugate' of 'int' objects>, 'bit_length': <method 'bit_length' of 'int' objects>, 'to_bytes': <method 'to_bytes' of 'int' objects>, 'from_bytes': <method 'from_bytes' of 'int' objects>, '__trunc__': <method '__trunc__' of 'int' objects>, '__floor__': <method '__floor__' of 'int' objects>, '__ceil__': <method '__ceil__' of 'int' objects>, '__round__': <method '__round__' of 'int' objects>, '__getnewargs__': <method '__getnewargs__' of 'int' objects>, '__format__': <method '__format__' of 'int' objects>, '__sizeof__': <method '__sizeof__' of 'int' objects>, 'real': <attribute 'real' of 'int' objects>, 'imag': <attribute 'imag' of 'int' objects>, 'numerator': <attribute 'numerator' of 'int' objects>, 'denominator': <attribute 'denominator' of 'int' objects>, '__doc__': "int(x=0) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer literal.\n>>> int('0b100', base=0)\n4"}
  538. # #
  539. # # Process finished with exit code 0
  540. # ************************************************文件处理************************************************
  541. # ************************************************文件处理************************************************
  542. # ************************************************文件处理************************************************
  543. # print("文件处理".center(100,"*"))
  544. # 文件的处理
  545. # 文件的处理
  546. # 文件的处理
  547. #
  548. # # 21、import 函数
  549. # # # 文件的导入
  550. # # # 系统对import的实现过程: import------>sys----->__import__()
  551. # # # import 通常用来实现文件名直接去文件
  552. # # # __import__()通常用来是先字符串文件名 取 文件
  553. # import cache
  554. # cache.say_hi()
  555. #
  556. # """
  557. # cache.py
  558. # #!/usr/bin/env python
  559. # # -*- coding:utf-8 -*-
  560. # print( "here is cache!! ")
  561. # def say_hi():
  562. # print("hello!! I am say function")
  563. #
  564. # """
  565. #
  566. # # D:\Anaconda3\python.exe D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py
  567. # # here is cache!!
  568. # # hello!! I am say function
  569. # #
  570. # # Process finished with exit code 0
  571. # # 22、__import__
  572. # # # 字符串文件名导入
  573. # # # __import__() 函数用于动态加载类和函数 。
  574. # # # 如果一个模块经常变化就可以使用 __import__() 来动态载入。
  575. # # # 返回值: 返回元组列表。
  576. # module_name = 'cache'
  577. # m = __import__(module_name)
  578. # m.say_hi()
  579. # # """
  580. # #
  581. # # cache.py
  582. # # #!/usr/bin/env python
  583. # # # -*- coding:utf-8 -*-
  584. # # print( "here is cache!! ")
  585. # # def say_hi():
  586. # # print("hello!! I am say function")
  587. # #
  588. # # """
  589. #
  590. # # D:\Anaconda3\python.exe D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py
  591. # # here is cache!!
  592. # # hello!! I am say function
  593. # #
  594. # # Process finished with exit code 0
  595. # 06
  596. # 06
  597. # 06
  598. # # 23、关于文件: 所有的文件,都是使用字符串储存的。也就是说,所有的数据类型,最后储存在系统,都是字符串,
  599. # # #---------------- 最后在通过系统转化为硬件可理解的二进制编码
  600. # # # 文件处理的常用三种模式:r,w,a,分别是:读、写、追加
  601. # # 24、文件读的3常用函数 read readline readable
  602. #
  603. # # 25、read
  604. # # # 文件读
  605. # # f = open('陈粒',encoding="utf-8")
  606. # f = open('陈粒',encoding="gbk")
  607. # data = f.read()
  608. # print(data)
  609. # f.close()
  610. #
  611. #
  612. '''
  613. 陈粒文件夹是使用gbk编码储存的
  614. '''
  615. #
  616. # D:\Anaconda3\python.exe D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py
  617. # 这个是一个叫作陈粒的文件夹
  618. #
  619. # Process finished with exit code 0
  620. # # 26、f.readable f.readline
  621. # # # f.readable() # 判断文件是否已r模式打开,是则返回True,否则返回False
  622. # # # readline 文件中读取一行
  623. # #
  624. # f = open('陈粒1',encoding="utf-8")
  625. # data = f.readable()
  626. # print(data)
  627. # print(f.readline()) # 没有使用end , print 默认会使用'\n' 多空一行结尾
  628. # print(f.readline(),end= '')
  629. # print(f.readline(),end= '')
  630. #
  631. # f.close()
  632. #
  633. # """
  634. # 1111111
  635. # 2
  636. # 3
  637. # 4
  638. # 5
  639. # # """
  640. # # D:\Anaconda3\python.exe D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py
  641. # # True
  642. # # 1111111
  643. # #
  644. # # 2
  645. # # 3
  646. # #
  647. # # Process finished with exit code 0
  648. # # 27、f.readable() 补充
  649. #
  650. # f = open('陈粒1','w',encoding="utf-8")
  651. # print(f.readable()) # 因为文件是只写模式打开的,因此不可写 返回False
  652. # f.close()
  653. #
  654. # f = open('陈粒1','r',encoding="utf-8")
  655. # print(f.readable()) # 因为文件是只写模式打开的,因此不可写
  656. # f.close()
  657. #
  658. # # D:\Anaconda3\python.exe D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py
  659. # # False
  660. # # True
  661. # #
  662. # # Process finished with exit code 0
  663. # # 28、文件写常用函数 write writeline
  664. # # write
  665. # # 29、文件写
  666. # # # w是直接 清空原文件, 将新的内容写入进去
  667. # # # 如果文件不存在,那么就会新建一个文件
  668. #
  669. # f = open('陈粒2','w',encoding="utf-8")
  670. # data = f.readable()
  671. # f.write("111111=====>\n")
  672. # f.write("111111\n")
  673. # f.write("111111\n")
  674. # f.write("111111\n")
  675. # f.write("1\n1\n1111\n")
  676. # f.close()
  677. #
  678. # # D:\Anaconda3\python.exe D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py
  679. # #
  680. # # Process finished with exit code 0
  681. # # 30、writelines()
  682. # # # 文件写
  683. # # # 文件的内容只能是字符串,也只能写字符串
  684. # f = open('陈粒2','w',encoding="utf-8")
  685. # data = f.readable()
  686. # f.write("111111=====>\n")
  687. # f.write("111111\n")
  688. # f.writelines("writelines1\n1\n1111\n")
  689. # # f.writelines(["writelines1\n1\n1111\n",33333]) # 文件的内容只能是字符串,也只能写字符串
  690. # f.close()
  691. #
  692. # # D:\Anaconda3\python.exe D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py
  693. # #
  694. # # Process finished with exit code 0
  695. # # 31、a
  696. # # # a模式追加内容
  697. # # # 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。
  698. # # # 也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
  699. # f = open('陈粒2','a',encoding="utf-8")
  700. # f.write("写到文件追加")
  701. # f.close()
  702. # # 32、r+
  703. # # # 打开一个文件用于读写。文件指针将会放在文件的开头。
  704. # f = open('陈粒2','r+',encoding="utf-8")
  705. # print( f.read())
  706. # f.write("写到文件追加")
  707. # # 下面输出是空,但是查看文件的时候,内容是写进去了,说明这里的read时候,光标在文件的最后的位置,因此read的内容
  708. # # 是空的
  709. # print("write之后:", f.read())
  710. # f.close()
  711. #
  712. # f = open('陈粒2','r+',encoding="utf-8")
  713. # print("f.close()之后:\n", f.read()) # 这里读取到内容了,正确的
  714. # f.close()
  715. #
  716. # # 33、文件修改的本质就是 文件覆盖
  717. # # # 根本上就没有修改一说
  718. # # 34、with open() as f:
  719. # # # with open('a.txt','w') as f:
  720. # # # 以方式“写w”打开文件a.txt,如果没有就创建新的文件,然后文件完成后自动关闭。
  721. # # # 相对于f.open(), 这种模式只需要打开就可以了,不需要关闭;然而,f.open()模式,需要在文件操作完成后,对
  722. # # # 文件进行关闭
  723. # with open('a.txt','w') as f:
  724. # f.write("sss\n11111\n")
  725. # # 35、with open() as f: 多行操作
  726. # with open('xxx','r',encoding='gbk')as src_f,\
  727. # open('xxx_new','w+',encoding='gbk') as dst_f:
  728. # data = src_f.read()
  729. # dst_f.write(data+"new xxxx")
  730. # # 36、f.encoding
  731. # # # 查看文件编码
  732. # f=open('a.txt')
  733. # print(f.encoding) #查看文件编码
  734. # f.close()
  735. #
  736. # f=open('陈粒')
  737. # print(f.encoding) #查看文件编码
  738. # f.close()
  739. #
  740. #
  741. # # D:\Anaconda3\python.exe D:/C_cache/py/python_practice/day17_NeiZhiHanShu.py
  742. # # cp936
  743. # # cp936
  744. # #
  745. # # Process finished with exit code 0

day17_内置函数_文件处理的更多相关文章

  1. Python-老男孩-01_基础_文件IO_函数_yield_三元_常用内置函数_反射_random_md5_序列化_正则表达式_time

    Python2.7 缩进统一: 约定  常量 大写 , 变量  小写 判断一个变量在内存中的地址,也能看出是不是一个值 id()函数 >>> x = 'abc' >>&g ...

  2. set、def、lambda、内置函数、文件操作

    set : 无序,不重复,可以嵌套 .add (添加元素) .update(接收可迭代对象)---等于批量 添加 .diffrents()两个集合不同差 .sysmmetric difference( ...

  3. Python之路第三天,基础(3)-set,函数,内置函数,文件,三元运算,lambda

    set集合 集合是一个无序的,不重复的元素集合. 集合的创建: name_set = {'tom','jerry','alex','rose'} 或 name_set = set(['tom','je ...

  4. Python函数篇(3)-内置函数、文件处理

    1.内置函数 上一篇文章中,我重点写了reduce.map.filter3个内置函数,在本篇章节中,会补充其他的一些常规内置函数,并重点写max,min函数,其他没有说明的函数,会在后面写到类和面向对 ...

  5. Python全栈开发之4、内置函数、文件操作和递归

    转载请注明出处http://www.cnblogs.com/Wxtrkbc/p/5476760.html 一.内置函数 Python的内置函数有许多,下面的这张图全部列举出来了,然后我会把一些常用的拿 ...

  6. python day5 lambda,内置函数,文件操作,冒泡排序以及装饰器

    目录 python day 5 1. 匿名函数lambda 2. python的内置函数 3. python文件操作 4. 递归函数 5. 冒泡排序 6. 装饰器 python day 5 2019/ ...

  7. Python学习日记(六)——内置函数和文件操作(lambda)

    lambda表达式 学习条件运算时,对于简单的 if else 语句,可以使用三元运算来表示,即: # 普通条件语句 if 1 == 1: name = 'prime' else: name = 'c ...

  8. Py其他内置函数,文件修改

    其他内置函数 1.abs函数,取绝对值 print(abs(-1)) 2.all函数,判断可迭代对象是否全为真,有假直接假 假:0,'',None print(all([1,2,'1'])) prin ...

  9. 2.9高级变量类型操作(列表 * 元组 * 字典 * 字符串)_内置函数_切片_运算符_for循环

    高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...

随机推荐

  1. vue中数据绑定遇到的问题

    <!-- 使用element中的表格组件,在编辑的时候传递每行的数据 --> <el-button size="small" type="success ...

  2. jQuery-介绍 加载 选择器 样式操作 属性操作 绑定click事件

    jQuery - 介绍 加载 选择器 样式操作 属性操作 绑定click事件 注意:以下部分问题不能实现效果,因该是单词拼写错误(少个t)或者没有加引号(“swing”)... jquery介绍 jQ ...

  3. VS卸载不干净,再次安装盘符不能更改问题(转载)

    下载文件,直接用. 链接:https://pan.baidu.com/s/1K1cbJUq_JC9DN2MoE6Z3RA 密码:cuad

  4. Python中的动态类

    Python中的动态类 有这样一个需求,我有SegmentReader.PostagReader.ConllReader这三个Reader,他们都继承于一个Reader类.在程序运行中,由用户通过se ...

  5. Windows内存管理(1)--分配内核内存 和 使用链表

    1.      分配内核内存 Windows驱动程序使用的内存资源非常珍贵,分配内存时要尽量节约.和应用程序一样,局部变量是存放在栈空间中的.但栈空间不会像应用程序那么大,所以驱动程序不适合递归调用或 ...

  6. Java-Class-@I:org.springframework.beans.factory.annotation.Autowired

    ylbtech-Java-Class-@I:org.springframework.beans.factory.annotation.Autowired 1.返回顶部   2.返回顶部 1. pack ...

  7. 引入CSS的方法

    ##1 关于引入css样式的方法: 1 外部引入: <link rel="stylesheet" type="text/css" href="& ...

  8. pure-ftpd 配置

    # Disallow anonymous connections. Only allow authenticated users. NoAnonymous yes # If you want simp ...

  9. jdk自带的数据库derby的基本使用以及注意事项(mac为例),附java demo

    文章目录 安装 环境变量 验证是否安装成功 启动 本地启动 允许远程连接的启动方式: 在启动过程中可能遇到的错误(远程连接的时候会出现): 1 2 连接测试,创建数据库 方法一(推荐) 方法二 jav ...

  10. Apache Shiro RememberMe 1.2.4 反序列化漏洞

    拉取镜像 docker pull medicean/vulapps:s_shiro_1 启动环境 docker run -d -p 80:8080 medicean/vulapps:s_shiro_1 ...