python写⼊⽂本⽂件的数据类型必须是_三:python数据类型
和⽂件操作
8.必须要知道、会的字符串⽅法
import string
#print(string.ascii_letters+string.digits)#⼤⼩写字母+数字
#print(name.find('sss'))#查字符串的索引,到的话返回第⼀次出现的索引,不到返回-1
#print(name.format(name='niuniu', age=18))#格式化字符串
#print('abA123'.isalnum()) # 是否包含数字和字母
#print('122'.isdigit()) # 是否是数字
#print(name.lower()) # 变成⼩写
#print(name.upper()) # 变成⼤写
#strnames = 'ABCEDF'
#print('¥'.join(strnames))# join是⽤来通过某个字符串拼接⼀个可迭代对象的的每个元素的
# print('\nmysql \n'.strip()) # 默认去掉两边边的空格和换⾏
# print('mysqlm '.strip('m'))#当你传⼊某个字符串的话,它就只会去掉你指定的字符串
#place('mysql', 'oracle')) # 替换字符串
#name1 = 'zcl p y zyz'
print(name1.split())#切割字符串,返回⼀个list,按照你指定的字符串去分隔这个字符串,然后放到⼀个list⾥⾯,如果你什么都不写的话,按照空格分割,多个空格也算⼀个
9.字符串⽅法
name = 'heLLo world'
import string
print(string.ascii_letters+string.digits)#⼤⼩写字母+数字
print(string.ascii_lowercase)#所有的⼩写字母
print(string.ascii_uppercase)#所有的⼤写字母
print(string.digits)#所有的数字
# print(name.capitalize()) # ⾸字母⼤写
# (5, '*')) # 50个-,把name放中间
# dswith('d')) # 是否以x结尾
# print(name.find('sss'))
# 查字符串的索引,到的话返回第⼀次出现的索引,不到返回-1
# print(name.format(name='niuniu', age=18)) # 这个是格式字符串,再第⼀节的博客⾥⾯已经写了
# print(name.format_map({'name': 'niuniu', 'age': 19})) # 这个也是格式化字符串,后⾯跟的是⼀个字典,字典在后⾯也会写
# print('abA123'.isalnum()) # 是否包含数字和字母
# print('abA'.isalpha()) # 是否是英⽂字母
# print('122'.isdigit()) # 是否是数字
# print('11sdf'.isidentifier()) # 是否是⼀个合法的变量名
# print('aA'.islower()) # 是否是⼩写字母
# print('AA'.isupper()) # 是否是⼤写字母
# print(name.lower()) # 变成⼩写
# print(name.upper()) # 变成⼤写
names = ['zcl','py','zyz']
strnames = 'ABCEDF'
# print('¥'.join(strnames))
# print('strname:',strnames)
# join是⽤来通过某个字符串拼接⼀个可迭代对象的的每个元素的
#所有字符串的⽅法,它都不会修改原来字符串的值,都会产⽣⼀个新的字符串
# print('wubing\nhouning')
# print('\nmysql \n'.lstrip()) # 默认去掉左边的空格和换⾏
# print('\nmysql \n'.rstrip()) # 默认去掉右边的空格和换⾏
# print('\nmysql \n'.strip()) # 默认去掉两边边的空格和换⾏
# print('mysqlm '.strip('m'))#当你传⼊某个字符串的话,它就只会去掉你指定的字符串
# p = str.maketrans('abcdefg', '1234567') # 前⾯的字符串和后⾯的字符串做映射
# print('ccaegg'.translate(p)) # 输出按照上⾯maketrans做映射后的字符串
#
# new_p = str.maketrans('1234567', 'abcdefg')
# print('ccaegg'.translate(new_p))
st= 'mysql is db. mysql mysql mysql'
place('mysql', 'oracle')) # 替换字符串
# print('mysql is is db'.rfind('is')) # 返回最右边字符的下标
# names = ['zcl','py','zyz']
new_name = []
#1、先得有⼀个list存它
#2、循环判断逗号分隔的值
name1 = 'zcl p y zyz'
# print(name1.split())
#切割字符串,返回⼀个list,按照你指定的字符串去分隔这个字符串,然后放到⼀个list⾥⾯#如果你什么都不写的话,按照空格分割,多个空格也算⼀个
# print('1+2+3+4'.split()) # 切割字符串,返回⼀个list
# print('1+2+3\n1+2+3+4'.splitlines()) # 按照换⾏符分割# print('Abcdef'.swapcase()) # ⼤⼩写反转
a = 0
b = 2
#不引⼊第三个变量
a = a+b
#a是3
b = a-b
#b是1
a = a-b
#a是2
print('=====这⾥才是咱们要看的')
print(a,b)
#引⼊第三个变量的⽅法
# c = a
# #c是1
# a = b
# #a是2
# b = c
# print(a,b)
#不⽤第三⽅变量,把a和b的值交换过来
# a,b = b,a
# print('a:',a)
# print('b:',b)
a,b = b,a
print('a:',a)
print('b:',b)
⼆、列表操作
1.列表是可变变量,它是可以通下标修改值的
names = [1,2,3,"liliyun",'panyang']#定义列表
# print(names[3])#通过下标取值
names[0]='zhangyizhou'#修改值
names.append('zhaocunlei')#给list从最末尾添加值
names.insert(0,'yinwenqiao')#指定位置添加元素
# print('before ',names)
# print('pop返回值:',names.pop())
# print('remove ⽅法的返回值',ve('yinwenqiao'))
# del names[0]#使⽤del关键字删除指定元素
# names.pop()#默认删除最后⼀个元素,删谁也把它的值返回了
# names.pop(2)#删除指定位置的元素
# names.clear()#清空列表
# ve('yinwenqiao')#删除指定的值,要和pop⽅法区别开来,pop如果删除的话,传是下标,
# reomve传的是⼀个元素的值
# unt('hsdfsdf'))#查值在list⾥⾯的次数
# print('names',names)
# print(names.index('yinwenqiao'))#返回查元素的下标,如果有多个话返回第⼀个的,如果没有的话就会报错# print(names.index('yinwenqiao',3,4))#后⾯可以加上查开始位置和结束位置
stus = ['yangwb','yangwn','yanghj']
# print('加起来的',stus+names)#两个列表合并
# print('这个是extend:',d(names))#把另⼀个列表⾥⾯的每个值挨个添加到前⾯的列表中
# print('这个是extend:',stus)
# nums = [23,34,21,2,456,35,12324324]
# nums.sort()#排序,默认是升序
# print('sort:',nums)
# print(nums.sort(reverse=True))#排序,指定reverse=True就是降序
# print('sort降序:',nums)
# verse())
# print(nums)
# print('zhangyizhou' in names)#⽤in来判断⼀个元素是否在list⾥⾯
# print(names[-3])#下标是-1的话,代表最后⼀个元素
#循环列表
writelines方法的参数可以是# for name in names:
# print(name)
#多维数组、列表、list
lis = [1,'lily',19.8,['lily','lilei',['heheh','haha']]]
print(lis[3][2][1])
a1 =[1,2,3]
a2 = [4,5,6]
# a1.extend(a2)
a1.append(a2)
print(a1)
三、切⽚
切⽚的意思就是从list⾥⾯或者字符串⾥⾯取⼏个元素
切⽚操作对字符串也是完全适⽤的
name1 = 'zcl,pyzyz'
names = ['zcl','py','zyz']
# print(names[0:2])# 从第⼏个取到第⼏个,这个也是顾头不顾尾
# print(names[:2])# 如果是从第⼀个开始取,取到某⼀个下标结束,那么最前⾯是可以不写的
# print(names[1:])#如果是从前⾯某个开始取,取到最后⾯结束,那么最后⾯是可以不写的
# print(names[:])#如果最前⾯和最后⾯都不写的话,取整个列表
#nums = list(range(1,11))
# print(nums[1:10:2])#如果最后⾯写上步长的话,就是每隔⼏个取⼀次
# verse()
print(nums)
print(nums[::2])
print(nums[::-2])
print(nums[::-1])
#当切⽚的步长为负数时,是从末尾开始取值的,然后隔⼏个取⼀次
#如果步长为-1的时候,还有反转的功能
四、元组
lis = ['127.0.0.1','3306']
tp = (1,2,3,4,5,6,1,1,1)
lis[1]='3307'
print(lis)
print(tp[0])
unt(1))
print(tp.index(1))
#元组是⼀个不可变的list,只有count⽅法和index⽅法
#定义元组的时候,如果元组只有⼀个元素,那么你要在这个元素后⾯,加⼀个逗号,要不然就是⼀个字符串new_lis = tuple(lis)
print(type(new_lis))

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。