zoukankan      html  css  js  c++  java
  • Python自动化三--字符串方法,字典,元祖,文件读写

    内容:

    1. 字符串方法
    2. 字典,元祖
    3. 文件读写

    一,字符串方法

    name='shuipingzuo'
    print(name.capitalize())#把字符串首字母大写
    print(name.center(50,'*'))#50为字符串长度,把name字符串内容放中间,其它位置用*代替
    print(name.count('a')) #查询一个字符在字符串中出现的次数
    print(name.endswith ('jpg'))#判断字符串是否以xxx结尾,返回true、false
    print(name.startswith('138')) #判断字符串是否以xxx开头
    print(name.upper())#全变成大写
    print(name.lower())#全变成小写
    print(name.find('p')) #找不到时元素时返回-1
    print(name.index('p'))#找不到元素时报错
    print(name[1]) #返回字符串下标
    print(name.isdigit())#判断是否为纯数字
    print(name.isidentifier())#判断它是不是一个合法的变量名,返回true、false
    print(name.isspace())#判断是否全都是空格
    print(name.isalnum())#Python isalnum() 方法检测字符串是否由字母和数字组成。
    print(name.isalpha())#方法检测字符串是否只由字母组成。
    print(name.strip('a'))#去掉字符串两边的东西,不写时默认去掉空格符和换行符
    print(name.replace('abc','周旭东'))#替换字符串,把前面的替换成后面的
    
    lstrip()#只去掉左边的
    rstrip()#只去掉右边的
    istitle()#判断是否为标题
    zfill()#补零
    split()#分割字符串,把字符串变成一个list
    join()#把list变成字符串,以某个字符串连接
    

    注册程序-小例子

    #注册程序
    import datetime
    users=[] #存放所有的用户名
    passwds=[]#存放密码
    for i in range(3):
        user=input('username:').strip()
        passwd=input('passwd:').strip()
        cpwd=input('cpwd:').strip()
        if not (user or passwd or cpwd):
            print('账号/密码不能为空!')
        elif  user in users:
            print('用户已经存在!')
        elif passwd!=cpwd:
            print('两次输入的密码不一致')
        else:
            users.append(user)
            passwds.append(passwd)
            today=datetime.datetime.today()
            msg='恭喜,%s注册成功,今天的日期是%s'%(user,today)
            print(msg)
            break
    

    二,字典,元祖

    元祖

    #定义元祖 值不可修改,修改会报错
    stus=('lxy','zyf','wdz','nl','wy','gfw')
    #读取元祖中的元素方法一
    for stu in stus:
       print(stu)
    #添加元素
    stus.append('sss')
    #打印元素stus[开始位置:结束位置:步长]
    print(stus)#打印全部元素
    print(stus[::-1])#倒序打印全部元素
    print(stus[-1:-5:-1])#表示倒序取4个
    #切片
    print(stus[1:4]) #切片取值,顾头不顾尾
    print(stus[:3])#开始元素不写,就从最前面开始
    print(stus[-1])#-1代表最后一个元素
    print(stus[1:6])#返回所有下标
    print(stus[1:])#后边的下标不写,代表取值到最后
    print(stus[:])#代表取到整个list
    

    a,b互相交换值-小例子

    #不引人第三方变量,交换a,b的值 方法一
    a=a+b
    b=a-b
    a=a-b
    print(a,b)
    #不引人第三方变量,交换a,b的值 方法二
    a,b=b,a
    

    布尔值

    #非空即真,非0即真
    a=1
    b=''
    if a:
       print('是真的')
    else:
       print('是假的')
    

    字典

    #字典 无序状态  k -v形式  字典中的key都是唯一的,按key存value的值
    d={'name':'沈阳',
        'age':18,
        'sex':'不知道',
        'adr':'天通苑',
        'qq':19823423,
        'email':'shenyang@qq.com'
        }
    #添加元素
    d.setdefault('house','三环里面有10套')
    #修改
    d['女朋友']='很漂亮'   
    #删除
    d.pop('age')                #删除  若不存在,报错
    del d['age']
    #取值
    print(d['age'])          #若值不存在,会报错
    print(d.get('age'))      #若值不存在,返回none
    #高效循环字典方式
    d = { 'a':1,'b':2 }
    for k in d:
    	print(k, d.get(k))
    

    记录学生是否交作业-小例子

    # 学生名字
    # 日期
    # 状态
    #  data[taotao][2018-6-5]=已交
    #data['周旭东'] = { '2018-7-1':'未交'  }
    
    data =  {
    			'涛涛': {
    				'2018-6-3':'未交',
    				'2018-6-4':'已交',
    				'2018-6-5':'已交'
    			},
    			'商洁': {
    				'2018-6-3': '未交',
    				'2018-6-4': '已交'
    			}
    
    		}
    
    # data.has_key('key') #python2里面有这个方法
    
    #1、判断名字和日期是否都填
    #2 、  构造好小字典 { data:status}
    #3、把构造好的小字典和以前那个合并到一起
    for i in range(5):
    	name = input('name:').strip()
    	date = input('date:').strip()
    	status = input('status').strip() #可以不写,如果不写的话,是未交
    	if name and date:
    		status = '已交' if status else '未交'  #三元表达式
    		if name in data:#判断这个学生是否存在
    			data[name][date] = status   #如果已经存在的话,就给他里面加一个日期和状态
    		else:#学生不存在的话
    			data[name] = {date : status}
    		print('添加之后的',data)
    	else:
    		print('学生名字和日期必须写!')
    

    三,文件读写

    # 1.打开文件
    f=open(r'D:untitled1文件读写',encoding='utf-8') #带文件路径前加r,避免路径转义
    f=open('文件读写',encoding='utf-8')#同一文件夹下可以不带路径
    # 2.对它读写
    print('readline',f.readline())#获取文件一行的数据
    print('readlines',f.readlines()) #获取文件里的所有数据,每一行的数据放在一个list里
    print('read',f.read()) #获取文件里的所有内容
    #文件指针会移动,所以后面的read函数读不到东西,此时文件指针已到文件末尾
    f.seek(0)#移动文件指针到最前面
    # 文件打开有3种方式 只读模式,写模式,追加模式
    f=open('文件读写',encoding='utf-8') #只能读,不能写,文件不存在会报错
    
    f=open('文件读写','r',encoding='utf-8') #只能读,打开不存在的文件会报错
    f=open('文件读写','r+',encoding='utf-8') #可以读写,打开不存在的文件会报错,不会覆盖
    f=open('文件读写','w',encoding='utf-8') #能写,清空文件内容再写,不能读,文件不存在会新建文件
    f=open('文件读写','w+',encoding='utf-8')#可以读写,覆盖写,文件不存在会新建
    f=open(r'文件读写','a',encoding='utf-8') #可以写,不能读,文件不存在,不能新建
    f=open(r'文件读写','a+',encoding='utf-8')#追加模式,可读可写,文件不存在会新建
    
    #3.关闭文件
    f.close()
    #写文件
    name=['lxy
    ','zyf
    ','zxd
    ','lcs
    ']
    for name in names:
         f.write(name)
    f.writelines(name) #传一个list,然后把list里面的每一个元素写入到文件中
    

    文件读写详情更多请参考http://www.runoob.com/python3/python3-inputoutput.html

  • 相关阅读:
    概率期望训练之五
    概率期望训练之四
    JavaScript Source Map详解
    JSON.parse、JSON.stringify
    Linux cp命令直接覆盖不提示方法
    Service Worker
    HTML5 应用程序缓存
    二分图
    Tarjan
    FFT迭代加深 & NTT 多项式求逆
  • 原文地址:https://www.cnblogs.com/tudouxifan/p/9136113.html
Copyright © 2011-2022 走看看