Python----变量与字符串操作
一、变量的命名规范
变量的概念基本上和初中代数的方程变量是一致的。它用来存储数据的,变量可以是任意数据类型,变量定义之后一定要赋值。
- 由英文、数字以及下划线(_)组成,但不能以数字开头
- 变量名区分大小写:a = ‘jf’ , b = ‘JF’
- 为避免混淆尽量不使用 0 和 1 进行命名
- 不能使用关键字进行命名
如何查看python内置关键字
import keyword
print(keyword.kwlist)
二、python的常用数据类型
- int ,整形 ,例如:1,2,3
- float,小数,浮点类型 2.2
- bool,boolean,布尔,真,假。判断命题。True ,False
- str,字符串。‘佳霏是真的’
- list,列表 a = [ ]
data_list = ['jia','fei',1]
- tuple,元组 a = ()
data_tuple = ('jia','fei',1)
- dict,dictionary,字典 a = {}
datat_dict = {"name":"jia","age":3}
- set,集合。a = {}
三、字符串序列操作
- 连接操作 +,要相同的类型。
- 重复操作 *重复次数
- 索引操作
- 切片操作
- 格式化输出
1、连接操作
name_one = 'bad'
name_two = 'girl'
name = name_one + ' ' + name_two
print(name)
#输出结果:bad girl
2、重复操作
name = 'goodgirl'
print(name*3)
#输出结果:goodgirlgoodgirlgoodgirlgood girlgoodgirl
3、索引操作
- 索引下标从0开始,此操作用于获取字符串当中的某个字符。注意:[]里的索引值不能超出范围,超出范围会报 IndexError 错误。
hui = "我在等一位美丽的小姐"
ga = hui[9]
#输出结果:姐
4、切片操作
- 切片 name[start : end : step]
1. 取左不取右,即切片结果为 start~end-1
name = '孟嘎和王灰灰'
print(name[0:2])
#输出结果:孟嘎
2.跳级切片,step为步长,默认值为1。
print(name[::1])
#输出结果:孟嘎和王灰灰
print(name[::2])
#输出结果:孟和灰
3.步长如果为正数,则从左往右读,若为负数,则从右往左读。
print(name[5:2:-1])
#输出结果:灰灰王
print(name[0:2:1])
#输出结果:孟嘎
4.与索引不同的是,如果切片超出范围,不会报错,而是获取剩下所有的字符。例如:
print(name[3:1000])
#输出结果:王灰灰
5.字符串切片的其它操作
#省略字符串的左边,取剩下的全部
name = '孟嘎和王灰灰'
print(name[3:])
#输出结果:王灰灰
#省略字符串的右边,取左边的全部
print(name[:2])
#输出结果:孟嘎
5、格式化输出
“My string {} other {}”.format(变量1,变量2)
name1 = '噶'
name2 = '灰灰'
print("孟{} 王{}".format(name1,name2))
三、内置函数
- 大小写转化 lower() , upper()
- 大小写互换 swapcase()
- 首字母大写 title() , capitalize()
- 替换 replace(old,new)
- 查找元素 find() 没有找到就返回 -1,index() 会报错
- 数 count()
- isdigital()
- islower()
- join()
- split()
- strip()
1、大小写转换
# 转换成大写--upper()
my_string = "jf is the winner"
print(my_string.upper())
#输出结果:JF IS THE WINNER
# 转换成小写--lower()
print(my_string.upper().lower())
#输出结果:jf is the winner
#大小写相互转换
new_string = 'dJ dRAW tHE bEAT'
print(new_string.swapcase())
#输出结果:Dj Draw The Beat
#每个单词的首字母变成大写
my_string = "jf is the winner"
print(my_string.title())
#输出结果:Jf Is The Winner
#第一个单词的首字母变成大写
my_string = "jf is the winner"
print(my_string.capitalize())
#输出结果:Jf is the winner
2、查找 find() 和 index() 函数
使用 find() 函数查找字符串里的某个字符时,若查找不到 find() 函数返回 -1;查找到指定元素时返回开始的字符的索引值。使用 find() 函数查找两个或两个以上字符时,必须是连续的。index() 函数和 find() 函数类似,不同之处在于使用 index() 函数查找字符,当字符不存在时会报ValueError 错误。
meeting = '泉州冷不冷'
res = meeting.find('不冷')
print(res)
#输出结果:3
no = meeting.find('吃')
print(no)
#输出结果:-1
non = meeting.index('吃')
print(non)
#输出结果:non = meeting.index('吃') ValueError: substring not found
3、替换 replace() 函数
replace() 函数有三个参数即 replace(old,new.count)。其中 old 为你想替换的那个字符,new 为新的字符,count 为替换的个数,若不赋值则全部替换。其中要注意的是,字符串一经定义,除非重新赋值,不然不会发生变化。
my_name = '佳佳佳佳佳'
new_name = my_name.replace('佳','霏')
print(new_name)
#输出结果:霏霏霏霏霏
new_name = my_name.replace('佳','霏',2)
print(new_name)
#输出结果:霏霏佳佳佳
print(my_name)
#输出结果:佳佳佳佳佳
4、统计 count()
fw ='佳霏啊啊啊啊啊啊啊啊啊'
print(fw.count('啊'))
#输出结果:9
5、字符串拼接 join()
fw_1 = '佳霏'
fw_2 = '舞台'
fw_3 = '最炸'
total = ' '.join([fw_1,fw_2,fw_3]) # 插入空格
#输出结果:佳霏 舞台 最炸
6、字符串分割 split()
print(total.split(' ')) #遇到空格时进行切割
#输出结果:['佳霏', '舞台', '最炸']
7、去掉左右两边指定的字符串 strip()
re = ' 哈孟总事业升升升哈 '
print(re.strip(' 哈'))
#输出结果:孟总事业升升升
# 如果左右两边不一样
hi = '嗨我们的夏天才刚刚开始哈'
print(hi.lstrip('嗨'))
#输出结果:我们的夏天才刚刚开始哈
print(hi.rstrip('哈'))
#输出结果:嗨我们的夏天才刚刚开始