wang2dz

一、字符串操作:
name = \'aabc,dddd,a\'
name1 = \'q \'
# print(name[3]) #字符串也可以取下标
# print(name.capitalize()) #把字符串首字母大写
# print(name.center(11,\'*\')) #把name放中间,字符串少于11,则用*补全
# #print(name.index(\'p\')) #返回字符串的索引,查不到时会报错,substring not found
# print(name.isalnum()) #只能有数字或字母,返回Ture,包含其他符号或标点、空格则False
# print(name.isalpha()) #字符串必须为英文或汉字,返回True
print(name.istitle()) #判断是不是标题(首字母大写)
# print(name)

#**********************************
# print(name.count(\'s\')) #查询出现的次数,没有则返回0

# print(name.endswith(\'zuo\')) #判断是否zu结束,返回布尔值
# print(name.startswith(\'h\')) #判断是否开头,返回布尔值

# print(name.upper()) #都变成大写
# print(name.lower()) #都变成小写
# print(name.find(\'1\')) #返回字符串的索引,查不到时返回-1,建议使用
# print(name.isdigit()) #判断是否为纯数字 ,返回布尔值
# print(name.isidentifier()) #判断它是不是一个合法的变量名,
# print(name1.isspace()) #判断是否全是空格

# print(name.strip()) #去掉字符串两边的东西,不带参数则默认去掉两边的空格和换行符\n
# print(name.lstrip()) #只去掉左边的
# print(name.rstrip()) #只去掉右边的

print(name.replace(\'abc\',\'x\')) #替换字符串,把前面的替换为后面的,默认是全部替换,name.replace(\'abc\',\'x\',2)2表示替换几个地方
print(name.zfill(19)) #在前面补0,补满19个字符

print(name.split(\',\')) #1.分割字符串,分割符默认是空格和换行,\',\'做为分割符 2.把字符串变成一个list
#name.split(\',\',1) 1表示只分割1次,后面的做为一个元素

stus = [\'aabc\', \'dddd\', \'a\']
print(\'*\'.join(stus)) #1.把list变成字符串 2.以*字符串连接
#********************************

import string
print(string.ascii_letters) #所有的大写+小写字母
print(string.ascii_lowercase) #所有小写字母
print(string.ascii_uppercase) #所有大写字母
print(string.digits) #所有数字
print(string.punctuation) #所以特殊字符


二、字典
#非空即真,非0即真
#实现同样的功能,代码越少越好
#假 空list,空字符串,空元组,0 ,None
# not 取反
# a = []
# b = \' \'
# c = ()
# d = 0
# e = None
# if e:
# print(1)
# else:
# print(0)
# import this

#字典 k - v 字典无序
shenyang = {\'name\':\'沈阳\',
\'age\':18,
\'sex\':\'不知道\',
\'addr\':\'天通苑\',
\'qq\':123456,
\'email\':\'shenyang@qq.com\'
}
print(shenyang)

#增加
shenyang[\'女朋友\'] = \'很漂亮\'

shenyang[\'age\'] = 38 #k不管是否存在,不存在则增加,存在则修改
print(shenyang)
shenyang.setdefault(\'age\',39) #不存在,则增加,如果k已经存在,则不会修改,
print(shenyang)

#修改
shenyang[\'女朋友\'] = \'很漂亮\'

#删除
# shenyang.pop(\'女朋\') #删除时key不存在,会报错
# del shenyang[\'ag\'] #删除时key不存在,会报错

#查,取值
print(shenyang[\'addr\']) #key 不存在,报错
print(shenyang.get(\'email\')) #key 不存在,返回None
print(shenyang)
print(shenyang.get(\'emailww\'))
#shenyang.clear() #清空字典
#shenyang.popitem() #随机删除一个key
yaoyuan = {\'chouyan\':\'1\'}
shenyang.update(yaoyuan) #把字典yaoyuan加入到另一个字典shenyang,有重复,则更新值
print(shenyang.values())
print(shenyang.keys())

for i in shenyang: #默认循环的是key
print(i)

for i in shenyang.items(): #默认循环的是key
print(i)
for i,j in shenyang.items(): #循环的是key和valus
print(i,j)

d = {\'a\':1,\'b\':2}
print(d.items())

for k,v in d.items(): #会字典转换成list,效率不高
print(k,v)

for k in d: #打印key和value的值,推荐使用这种方式,速度快
print(k,d.get(k))

info = [
{
\'xiaohei\':
{
\'money\':10000,
\'cars\':[\'Ben-z\',\'audi\',\'BMW\'],
\'info\': {
\'phone\':186212312,
\'age\':36,}
}
},
{\'xiaohong\':
{
\'house\': {
\'朝阳\':2,
\'海淀\':3,
\'昌平\':5
},
\'lan\':[\'ch\',\'en\',\'jp\'],
}
}
]
print(info)
info[0][\'xiaohei\'][\'cars\'].append(\'bsj\') #car里加bsj
print(info)
info[0][\'xiaohei\'][\'info\'][\'addr\'] = \'aa\'
info[1][\'xiaohong\'][\'house\'][\'海淀\'] += 2
print(info[1][\'xiaohong\'][\'house\'][\'海淀\'])
print(info)
info[1][\'xiaohong\'][\'sex\'] = \'女\'
print(info)

 

三、文件读写
#1、打开文件
#2、对化读/写
#3、关闭文件
#f = open(\'abc中文.txt\',encoding=\'utf-8\')
#python2 里用file,python3里没有这个方法
f = open(\'abc中文.txt\',\'a+\')
#文件指针************
# print(\'readline\',f.readline()) #读取文件的一行数据
# print(\'readlines\',f.readlines()) #读取所有文件内容,返回一个list,元素是每行的数据,大文件时不要用,因为会把文件内容都读到内存中,内存不够的话,会把内存撑爆
# print(\'read\',f.read()) #获取文件里面的所有内容

f.write(\'abc\')
f.close()
f = open(\'abc中文.txt\',\'a+\')
print(f.read())

#文件的三种模式 只读,写模式,追加模式
#r 默认只读模式,只能读,不可写,文件不存在会报错
#r+ 读写模式,可读,可追加,文件不存在会报错

#w 写模式,不可读,会覆盖以前文件内容,文件不存在则新建
#w+ 写读模式,可读,会覆盖以前文件内容,文件不存在则新建

#a 追加模式 不可读; 不存在则创建;存在则只追加内容,文件打开指针在最后,所以读不到内容
#a+ 追加读模式 可读; 不存在则创建;存在则只追加内容,

#只要和r相关的,文件不存在则报错,
# 只要和w有关的,文件内容会清空


f.seek(0)
print(\'read\',f.read())

names = [\'1\',\'2\',\'3\',\'4\',\'5\']

for name in names:
f.write(name + \'\n\')
f.writelines(names)

 

五、list切片

#切片,list取值的一种方式,切片,同样适用于字符串*******************************
stus = [\'lxy\',\'zyf\',\'wdz\',\'n1\',\'wy\',\'gfw\']
import string
# print(stus[1:3]) #顾头不顾尾
# print(stus[:3]) #从最前开始取值
# print(stus[-1]) #-1表示最后一个元素
# print(stus[1:]) #取值到最后
# print(stus[:]) #取整个list
# print(stus) #取整个list

print(string.digits.split())
nums = list(string.digits) #强制类型转换
print(nums)
print(nums[0:11:2]) #步长,默认是1
print(nums[9:0:-1]) #从后往前取值,默认是1

a = \'abcdef\'
print(a[1:3])

 

六、元组
# 定义后不可变 index 与count方法
city = (\'aa\',1,2,2,2,2)
print(city)
print(city[0])
print(city.index(2))
print(city.count(2))

# s = \'a,b,c,d\'
# print(s)
# new_s = s.replace(\'a\',\'111\')
# print(s)
# print(new_s)

 

分类:

技术点:

相关文章: