zoukankan      html  css  js  c++  java
  • wMy_Python ~储存相关~

    str,int,list,tuple,dict 是类型调用之后会产生一个 实例

    1 >>> brand=["李宁",'耐克','阿迪达斯','鱼C']
    2 >>> slogan=['一切皆有可能','Just do it','Impossible is nothing','让编程改变世界']
    3 >>> print("鱼C的口号是:",slogan[brand.index('鱼C')])
    4 鱼C的口号是: 让编程改变世界
    1 >>> dict1={"李宁":"一切皆有可能",'耐克':"Just do it",'阿迪达斯':'Impossible is nothing'}
    2 >>> print(dict1['李宁'])
    3 一切皆有可能
    4 >>> print(dict1["李宁"])
    5 一切皆有可能
    1 >>> # dict只能传入一个参数 .
    2 >>> dict1=dict((('F',70),['i',105]))
    3 >>> dict1
    4 {'F': 70, 'i': 105}
     1 >>> # dict只能传入一个参数 .
     2 >>> dict1=dict((('F',70),['i',105]))
     3 >>> dict1
     4 {'F': 70, 'i': 105}
     5 >>> dict1['F']=10000
     6 >>> dict1
     7 {'F': 10000, 'i': 105}
     8 >>> dict1["QQ"]=""
     9 >>> dict1
    10 {'F': 10000, 'i': 105, 'QQ': ''}

    在列表中如果你是用没有的函数 会出错 , 但是在字典中 , 如果没有的话会自动创建一个 . 如上.

    1 >>> dict1.fromkeys((1,2,3))
    2 {1: None, 2: None, 3: None}
    3 >>> dict1.fromkeys((1,2,3),'num')
    4 {1: 'num', 2: 'num', 3: 'num'}

    如果直接使用fromkeys 会出错的.

    1 >>> dict1=dict1.fromkeys(range(1,9),'')
    2 Traceback (most recent call last):
    3   File "<pyshell#0>", line 1, in <module>
    4     dict1=dict1.fromkeys(range(1,9),'')
    5 NameError: name 'dict1' is not defined
    6 >>> dict1={}
    7 >>> dict1=dict1.fromkeys(range(1,9),'')
    8 >>> dict1
    9 {1: '', 2: '', 3: '', 4: '', 5: '', 6: '', 7: '', 8: ''}
     1 >>> for i in dict1.items():
     2         i
     3 
     4     
     5 (1, '')
     6 (2, '')
     7 (3, '')
     8 (4, '')
     9 (5, '')
    10 (6, '')
    11 (7, '')
    12 (8, '')
     1 >>> for i in dict1.values():
     2         i
     3 
     4     
     5 ''
     6 ''
     7 ''
     8 ''
     9 ''
    10 ''
    11 ''
    12 ''
     1 >>> a={1:'one',2:'two'}
     2 >>> b=a.copy()
     3 >>> c=a
     4 >>> id(a)
     5 48682848
     6 >>> id(b)
     7 48854120
     8 >>> id(c)
     9 48682848
    10 >>> # 由此可见 浅拷贝是 将内容放到另一块的储存区域中

    在dict中批量添加元素.

     1 >>> a={1:'one',2:'two'}
     2 >>> b={3:'three',4:'four'}
     3 >>> a=a+b
     4 Traceback (most recent call last):
     5   File "<pyshell#2>", line 1, in <module>
     6     a=a+b
     7 TypeError: unsupported operand type(s) for +: 'dict' and 'dict'
     8 >>> a.update(b)
     9 >>> a
    10 {1: 'one', 2: 'two', 3: 'three', 4: 'four'}
    11 >>> b.update(a)
    12 >>> b
    13 {1: 'one', 2: 'two', 3: 'three', 4: 'four'}

    可见字典可有集合的特性 ~'唯一'

     文件的读写.

    --------- ---------------------------------------------------------------
    'r' open for reading (default)   以只读方式打开(默认)
    'w' open for writing, truncating the file first  已写入的方式打开文件 , 会覆盖已存在文件
    'x' create a new file and open it for writing  创建一个新的文件,并且打开写入 . (文件已存在会引发异常)
    'a' open for writing, appending to the end of the file if it exists  以读写模式打开 , 如果文件存在则将内容添加到文件末尾.
    'b' binary mode  二进制模式打开
    't' text mode (default)  文本模式打开
    '+' open a disk file for updating (reading and writing)   打开一个(磁盘?)文件用于读写 
    'U' universal newline mode (deprecated)  
    ========= ===============================================================

    文件对象方法

       

     写一个简单的小程序 .  给你一个txt文件内容如下

    小客服:小甲鱼,今天有客户问你有没有女朋友?
    小甲鱼:咦??
    小客服:我跟她说你有女朋友了!
    小甲鱼:。。。。。。
    小客服:她让你分手后考虑下她!然后我说:"您要买个优盘,我就帮您留意下~"
    小甲鱼:然后呢?
    小客服:她买了两个,说发一个货就好~
    小甲鱼:呃。。。。。。你真牛!
    小客服:那是,谁让我是鱼C最可爱小客服嘛~
    小甲鱼:下次有人想调戏你我不阻止~
    小客服:滚!!!
    ================================================================================
    小客服:小甲鱼,有个好评很好笑哈。
    小甲鱼:哦?
    小客服:"有了小甲鱼,以后妈妈再也不用担心我的学习了~"
    小甲鱼:哈哈哈,我看到丫,我还发微博了呢~
    小客服:嗯嗯,我看了你的微博丫~
    小甲鱼:哟西~
    小客服:那个有条回复“左手拿著小甲魚,右手拿著打火機,哪裡不會點哪裡,so easy ^_^”
    小甲鱼:T_T
    ================================================================================
    小客服:小甲鱼,今天一个会员想找你
    小甲鱼:哦?什么事?
    小客服:他说你一个学生月薪已经超过12k了!!
    小甲鱼:哪里的?
    小客服:上海的
    小甲鱼:那正常,哪家公司?
    小客服:他没说呀。
    小甲鱼:哦
    小客服:老大,为什么我工资那么低啊??是时候涨涨工资了!!
    小甲鱼:啊,你说什么?我在外边呢,这里好吵吖。。。。。。
    小客服:滚!!!

    将该文件 分割为三部分 , 已经以"====~==="分割. 让你将每一段的每个人说的话自成一个文档 . 代码如下

     1 def save_file(boy,gril,count):
     2     file_name_boy='boy_'+str(count)+'.txt'
     3     file_name_gril='gril_'+str(count)+'.txt'
     4     boy_file=open(file_name_boy,'w')
     5     gril_file=open(file_name_gril,'w')
     6     boy_file.writelines(boy)
     7     gril_file.writelines(gril)
     8     boy_file.close()
     9     gril_file.close()
    10 def split_file(file_name):
    11     boy=[]              
    12     gril=[]
    13     count=1
    14     f=open(file_name)     # 如果直接写文件名的话 那就默认 , 该文件和程序是在一个地方  .
    15     for each_line in f:     # for 读写文件 是一段一段的
    16         if each_line[0:6]!="======":    #如果 不是等号的话 .  
    17             (role,line_spoken)=each_line.split(":",1)   # 那么就开始收集 分割话语.
    18             if role=='小甲鱼':             # 上面函数调用的意思是 , ":"以其为分隔符 , 该字符传""分为二
    19                 boy.append(line_spoken)
    20             if role=='小客服':
    21                 gril.append(line_spoken)
    22         else:
    23             save_file(boy,gril,count)
    24             boy=[]
    25             gril=[]
    26             count+=1
    27     save_file(boy,gril,count)
    28     f.close()
    29 split_file("record.txt")

     

  • 相关阅读:
    第六章 函数、谓词、CASE表达式 6-3 CASE表达式
    第六章 函数、谓词、CASE表达式 6-2 谓词
    第六章 函数、谓词、CASE表达式 6-1 各种各样的函数
    第五章 复杂查询 5-3 关联子查询
    第五章 复杂查询 5-2 子查询
    第五章 复杂查询 5-1 视图
    第四章 数据更新 4-3 事务
    第四章 数据库和SQL 4-3 数据的更新(UPDATE语句的使用方法)
    面向对象进阶
    多态
  • 原文地址:https://www.cnblogs.com/A-FM/p/5663082.html
Copyright © 2011-2022 走看看