写程序我觉得无非就是输入,计算,输出。那前两个文章说的就是Python的输入输出,后面我们就来学习计算这块。
字符串的处理
拼接
python中,字符串的拼接很简单,不需要像Java和C那样调用函数方法。
xing = "z"
ming = "m"
name = xing + ming
print("My name is " + name) # 也可以直接写print("My name is " + xing + ming)
很简单直观,直接+就好了
查找
这里我们调用find()函数来帮助我们查找字符串中的字符位置。
string_1 = "wow, what a pity!"
print(string_1.find("what")) # 查找what的位置,返回的是首字母w所在的位置
print(string_1.find("w")) # 查找字符串中第一个w,并返回其位置
print(string_1.find("r")) # 字符串中没有r,返回-1,说明查找失败
替换
替换的话,我们调用replace()方法来达到目的。
string_1 = "My car is slow!"
string_1 = string_1.replace("slow", "fast") # 前面放待换的单词,后放新的单词
print(string_1)
如果待换的单词在字符串中找不到,就默认不对原字符串进行处理,不会报错。
分割
学过Java的应该知道split(),Python中也调用split()方法来分割字符串。
string_1 = "My car is slow!"
string_2 = "src\\bin\\play.exe"
s1 = string_1.split() # split()不写默认以空格为分割线,以列表形式返回数据
s2 = string_2.split('\\') # 以\分割字符串,注意\是特殊字符,详见以前写的Python学习_2——Part 3——操作符\
print(s1)
print(s2)
这里输出了一个没见过的东西,这个东西叫列表,是Python的一种数据类型,这下一点详细介绍。
列表
和之前说的int,str,float类型一样,列表也是一种数据类型。就像C中的数组,可以辅助来学习列表。每个构成列表的数据叫元素。
现在我们需要一个点名册,供老师上课提问和学生答道使用,那我们可以创建一个列表来存放数据
name_list = ["张三", "李四", "王五", "赵六"]
单纯有这个东西用处很小,计划赶不上变化,有学生不上这个课或者有新的学生加进来,那我们重新创一个列表重新开始?这里Python也提供了许多方法来供我们实现增删改查的基本功能。
增删改
name_list = ["张三", "李四", "王五", "赵六"]
print(name_list[0]); print(name_list[2]) # 输出指定位置的元素
# 如何输出多个元素?
print(name_list[1:]) # 利用切片
# 增
print("\n------增------")
name_list.append("zm") # 尾部增加元素:append(“插入的元素”)
print(name_list)
name_list.insert(1, "qwq") # 指定位置增加元素:insert(“插入的位置”,“插入的元素”)
# 原理:将位置1上面的元素以及后面的元素都往后移1,然后将新元素放在位置1上
print(name_list)
# 删
print("\n------删------")
del name_list[1] # del函数,后面放删除的元素位置
print(name_list)
print("pop()删除的元素为:"+name_list.pop(1)) # pop()方法,删除指定位置的元素,并返回
print(name_list)
name_list.remove("赵六") # remove()方法,通过指定元素来删除
print(name_list)
# 改
print("\n------改------")
name_list[0] = "张二" # 直接赋值就可以达到修改元素的作用了
print(name_list)
排序
sort()方法,括号里面的参数reverse为True就是升序排列,False就是降序排列。例子:
list_1 = ["张三", "李四", "王五", "赵六"]
list_1.sort(reverse=True)
print(list_1)
list_1.sort(reverse=False)
print(list_1)
数字列表
Python中还有range()方法,作用是创建数字列表,0,1,2,3,…,n。
格式:range(lower_limit,upper_limit,step)
,lower_limit
是开始的数字(默认从0开始),upper_limit
是结束的数字(不可少),step
是数字之间的间隔(默认为1)。
range()直接用print()输出是输出不出来的,这里我们用for循环输出,下一篇文章我们学习循环、判断、嵌套语句,这里先了解知道数字列表就行了。
for i in range(20): # 表示从0数到19
print(i, end=' ')
print("")
for i in range(1, 10): # 表示从1数到9
print(i, end=' ')
print("")
for i in range(1, 20, 2): # 表示从1数到20,每次+2
print(i, end=' ')
补充
字符串的其他常用方法
先列出来,在代码中解释他们的作用
- 获取字符串长度:len()
- 字符串大小写:upper(),lower(),title()
- 去除字符串首尾特定字符target_char:strip(target_char)
例子说明:
string_1 = "my nAme is ZM"
print(len(string_1)) # string_1的长度(空格也算一个字符,中文和英文在Python中都算一个字符)
print(string_1.upper()) # 用.来调用方法,把字符串中的字符全变为大写
print(string_1.lower()) # 同理,把字符串中的字符全变为小写
print(string_1.title()) # 同理,把字符串中的每个单词首字母都变为大写
print("-----------------")
string_2 = " name "
string_3 = ", , la la la , ,"
string_2 = string_2.strip() # 不填默认去除空格
string_3 = string_3.strip(', l') # 去除首尾的“,”、“ ”和“l”
print(string_2)
print(string_3)