• Python自动化学习笔记(四)——Python数据类型(集合set,元组tuple)、修改文件、函数、random常用方法


    1.修改文件的两种方式

    1 #第一种
    2 with open('users','a+') as fw:  #用a+模式打开文件,使用with这种语法可以防止忘记close文件
    3     fw.seek(0)  #移动文件指针到最前面,然后才能读到内容
    4     result=fw.read()    #将文件内容一次性读取出来
    5     new_result =result.replace('BAC','python')      #字符串替代
    6     fw.seek(0)      #移动文件指针到最前面
    7     fw.truncate()  #清空文件内容
    8     fw.write(new_result)    #字符串替代后的所有内容一次性写入文件
    1 #第二种
    2 import os   #导入os模块
    3 with open('users') as fr,open('.users','w',encoding='utf-8')as fw:  #r模式打开待修改文件,w模式打开一个新文件
    4     for line in fr: #直接循环文件对象,每次取的就是文件里的每一行
    5         new_line=line.replace('java','修改文件')    #一行一行替换字符串
    6         fw.write(new_line)      #一行一行写入新文件
    7 os.remove('users')      #删除原文件
    8 os.rename('.users','users')     #将新文件修改为原文件的名字

     2.Python数据类型(集合set,元组tuple)

    2.1元组

    可以将元组看作是只能读取数据不能修改数据的list

    2.1.1定义一个空的元组

    • a=()
    • a=tuple()

    2.1.2定义只有一个元素的元组

    • a=(1,) #定义元组的时候,只有一个元素,后面必须加逗号

    2.2集合

    #集合天生去重复,无序

    2.2.1定义一个空的集合

    • a=set()  #不能使用{}来定义,{}是定义一个空字典

    2.2.2集合常用方法

     1 stus1 = {'胡绍燕','王义','王新','马春波','高文平'}
     2 
     3 stus2 = {'乔美玲','胡绍燕','王义','王新','马春波',"王一铭"}
     4 
     5 #交集,两个集合中都有的
     6 res1=stus1.intersection(stus2)
     7 res2=stus1&stus2
     8 
     9 
    10 #并集,合并两个集合,并去重
    11 res1=stus1.union(stus2)
    12 res2=stus1|stus2
    13 
    14 
    15 #差集,前一个有,后面一个没有的
    16 res1=stus1.difference(stus2)
    17 res2=stus1-stus2
    18 
    19 
    20 #对称差集,只在一个集合中出现的元素组成的集合
    21 res1=stus1.symmetric_difference(stus2)
    22 res2=stus1^stus2
    23 
    24 
    25 stus1.add('abc')     #增加元素
    26 stus1.pop()   #随机删除元素,返回删除的元素
    27 stus1.remove('abc') #删除指定元素
    28 for s in stus1:     #遍历
    29     print(s)
    1 l=[1,2,3,4,2,3]
    2 lset=set(l)  #将list转为set,自动去重
    3 print(lset)

    3.函数

    函数就是实现某个功能的一些代码,对于函数的调用者来说,知道如何传递正确的参数,以及函数的返回值,函数内部的复杂逻辑被封装起来

    使用def语句定义一个函数,依次写出函数名、(参数)和冒号,在缩进块中编写函数体,返回值用return语句返回。

    • 提高代码的复用性。
    • 函数必须被调用才会执行。
    • 函数里面定义的变量:局部变量,只要一出了函数都不能用了
     1 def hello():    #定义函数
     2     print('hello')
     3 hello() #调用函数
     4 
     5 #有传参无返回的函数
     6 def write_file(file_name,content):   #形参
     7     print(file_name,content)
     8     with open(file_name,'a+',encoding='utf-8') as fw:
     9         fw.writelines(content)
    10 write_file('a.txt','123
    ')   #实参
    11 
    12 #有传参有返回的函数
    13 def read_file(file_name):   #形参
    14     print(file_name)
    15     with open(file_name,'a+',encoding='utf-8') as fw:
    16         fw.seek(0)
    17         content=fw.read()
    18         return content      #返回一个变量
    19 res=read_file('users')
    20 print(res)

     函数的参数:位置参数、默认参数、可变参数、关键字参数

    • 默认参数调用的时候,既可以按顺序提供默认参数,也可以不按顺序提供部分默认参数。当不按顺序提供部分默认参数时,需要把参数名写上
    • 可变参数允许传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。形参使用*args形式
    • 关键字参数允许传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。形参使用**args形式

    4.random常用方法

    • random.randint(1,20) #随机获取并返回一个指定范围的整数
    • random.choice(s) #随机选择一个元素返回,s='xfdfdfdfd'
    • random.sample(s,3) #随机选择几个元素返回
    • random.shuffle(l) #只能传入一个list,打乱顺序,返回是None,l=[1,2,3,4]
    • random.uniform(1,2) #随机获取并返回一个指定范围内的小数,round(f,3) #小数点后保留几位


    5.几个常用的常量

    1 import string
    2 print(string.ascii_lowercase)  #小写字母
    3 print(string.ascii_uppercase)   #大写字母
    4 print(string.digits)     #0-9
    5 print(string.ascii_letters)   #字母
    6 print(string.punctuation)   #特殊符号
  • 相关阅读:
    android---eclipse中绑定第三方源代码
    软件安装错误:invalid Drive
    android---获取设备相关信息
    android---获取cpu核心个数
    android---库工程
    eclipse---常用快捷键
    android---adb常用命令
    好用的工具
    “您即将提交的信息不安全”问题处理
    业务系统pdf样式问题01
  • 原文地址:https://www.cnblogs.com/luoyc/p/10018510.html
Copyright © 2020-2023  润新知