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\n','zyf\n','zxd\n','lcs\n']
for name in names:
     f.write(name)
f.writelines(name) #传一个list,然后把list里面的每一个元素写入到文件中

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

posted @ 2018-06-04 22:20  土豆稀饭  阅读(157)  评论(0编辑  收藏  举报