流程控制¶
1.字符串¶
1.1 使用format方法格式化字符串¶
使用format()方法来格式化字符串,语法如下:
In [ ]:- 需要格式化的字符串.format(要替换{}的真实数据1,要替换{}的真实数据2,...)
复制代码 说明:
案例1:
In [1]:- name = '张三'
- string = '姓名:{}'
- print(string.format(name))
复制代码 案例2:
In [2]:- name = '张三'
- age = 20
- string = '姓名:{}\n年龄:{}'
- print(string.format(name,age))
复制代码 强调:
- 字符串中的{}可以指定编号,格式化字符串时编译器会按照编号取format()方法中的真实数据,这些真实数据的索引从0开始编号
In [4]:- name = '张三'
- age = 20
- string = '姓名:{0}\n年龄:{1}'
- print(string.format(name,age))
复制代码 强调:
- 字符串中的{}还可以指定名称,字符串在被格式化时python解释器会按照给真实数据绑定的名称来替换{}中的名称
- 在 Python 3.6 及以上版本中,推荐使用f-string(格式化字符串字面值),写法更简洁直观
In [5]:- name = '张三'
- age = 20
- weight = 55
- string = '姓名:{name}\n年龄:{age}\n体重:{weight}kg'
- print(string.format(name=name,age=age,weight=weight))
复制代码 字符串中的{}可以指定替换的浮点型数据的精度,浮点型数据在被格式化时按照指定的精度进行替换
In [6]:- points = 18
- total = 20
- print("所占百分比:{:.2%}".format(points/total)) #保留小数点两位
复制代码 1.2 使用f-string格式化字符串¶
f-string是一种更为简洁的格式化字符串的方法
语法:在字符串前面添加f或F,然后在字符串中用"{变量名}"的方式将变量安到位置上
案例:
In [8]:- age = 19
- gender = '男'
- print(f"年龄:{age},性别:{gender}")
复制代码 2.字符串中的常见操作¶
字符串中的操作在实际应用中非常常见,而python内置了很多操作字符串方法
下面字符串操作方法中,除了字符串连接方法join(),其他都是用要操作的字符串调用方法
2.1 字符串的查找¶
python中使用find()方法来实现字符串的查找功能:
In [ ]:- str.find(sub[,start[,end]])
复制代码 功能:在字符串中查找是否包含指定的子串,如果包含则返回子串首次出现的索引,否则返回-1
参数:
- sub:指定的子串
- start:开始索引,默认为0,指定从父串的那个位置开始查找
- end:结束索引,默认为字符串的长度,指定查找到的父串的那个位置
- start和end省略时,查找整个字符串
例如:查找't'是否在字符串'python'中
In [9]:- str = 'python'
- word = 'th'
- result = str.find(word)
- print(result)
复制代码 2.2 字符串替换¶
使用字符串对象的replace()方法实现字符串替换:
In [ ]:- str.replace(old,new[,count])
复制代码 功能:将当前字符串中指定的子串替换为新的子串,并返回替换后的新字符串
参数:
- old:要替换的子串
- new:新的子串
- count:替换旧子串的次数,默认全部替换
案例:
In [10]:- str = "All things Are difficult before they Are easy."
- new_str = str.replace('Are','are')
- print(new_str)
复制代码 - All things are difficult before they are easy.
复制代码 2.3 字符串分割¶
使用split()方法实现字符串分割的功能
In [ ]:- str.split(sep=None,maxsplit=-1)
复制代码 功能:按照指定的分隔符,对当前字符串进行分割,会返回一个分割后的子串组成的列表
参数:
- sep:指定分隔符,默认为空字符
- maxsplit:分割次数,默认为-1,表示无数次分割
案例:
In [11]:- str = "All things Are difficult before they Are easy."
- print(str.split())
复制代码 - ['All', 'things', 'Are', 'difficult', 'before', 'they', 'Are', 'easy.']
复制代码 2.4 删除字符串中的指定字符¶
字符串中头部或尾部中可能会包含一些无用的字符(如空格),在处理字符串前往往需要先删除无用的字符,python中的strip()、lstrip()、rstrip()方法可以删除字符串头部或尾部的指定字符
注意:这些操作不会修改原始字符串,而是返回一个删除指定字符后的新字符串
案例:
In [13]:- old_string = " Life is short,Use Python !"
- print(old_string.strip()) #移除字符串头部和尾部的指定字符,默认移除空格字符
- print(old_string.lstrip()) #移除字符串头部的指定字符,默认移除空格字符
- print(old_string.rstrip()) #移除字符串尾部的指定字符,默认移除空格字符
复制代码 - Life is short,Use Python !
- Life is short,Use Python !
- Life is short,Use Python !
复制代码 2.5 字符串大小写转换¶
Python中的upper(),lower(),capitalize(),title()可以转换字符串的大小写
In [14]:- old_string = "hello woRld"
- print(old_string.upper()) #将字符串中的字母全部转换为大写字母
- print(old_string.lower()) #将字符串的字母全部转换为小写字母
- print(old_string.capitalize()) #将字符串中的第一个字母转换为大写字母,其余字符转换为小写
- print(old_string.title()) #将字符串中每个单词的首字母转换为大写字母,其余字符转换为小写
复制代码 - HELLO WORLD
- hello world
- Hello world
- Hello World
复制代码 2.6 字符串对齐¶
center(width,fillchar=''):
- 该方法将字符串居中对齐,并在左右两侧填充空格或者指定字符fillchar,使得最终字符串长度为width
- 如果未提供fillchar,默认使用空格填充
- 返回填充后的新字符串
ljust(width,fillchar=''):
- 该方法将字符串左对齐,并在右侧填充空格或者指定字符fillchar,使得最终字符串长度为width
- 如果未提供fillchar,默认使用空格填充
- 返回填充后的新字符串
rjust(width,fillchar=''):
- 该方法将字符串右对齐,并在左侧填充空格或者指定字符fillchar,使得最终字符串长度为width
- 如果未提供fillchar,默认使用空格填充
- 返回填充后的新字符串
In [1]:- #使用center()方法
- text = "Python"
- centered_text = text.center(10,'*')
- print(centered_text)
- #使用ljust()方法
- left_aligned_text = text.ljust(10,'-')
- print(left_aligned_text)
- #使用rjust()方法
- right_aligned_text = text.rjust(10,'+')
- print(right_aligned_text)
复制代码 - **Python**
- Python----
- ++++Python
复制代码 2.7 字符串连接¶
In [ ]: 功能:用指定的字符str,连接字符串中的各个字符,并返回新的字符串
参数:
In [2]:- symbol = '*'
- world = 'python'
- print(symbol.join(world))
复制代码 2.8 连接字符串¶
Python中还可以用"+"运算符连接字符串
In [3]:- start = 'py'
- end = 'thon'
- print(start+end)
复制代码 3.组合数据类型¶
3.1 认识组合数据类型¶
组合数据类型可以将多个相同类型或不同类型的数据组合成一个整体
根据数据是组合方式不同,Python的组合数据类型分为3类:序列类型,集合类型,映射类型
3.1.1 序列类型¶
按照一定顺序依次排列的一组数据,Python中的序列支持双向索引:正向递增索引和反向递减索引
- 正向索引从左到右依次递增,第一个元素的索引为0,第二个元素的索引为1,以此类推
- 反向索引从右到左依次递减,最右边的第一个元素的索引为-1,之后向左以此类推
Python中常用的序列类型有3种:字符串(str)、列表(list)、元组(tuple)
3.1.2 集合类型¶
Python集合与数学中的集合概念一样,也具备确定性、互异性、无序性
- 确定性:集合中的每一个元素都是确定的
- 互异性:集合中的元素都是唯一的
- 无序性:集合中的元素是无序的,如果多个集合中的元素只是顺序不同,那些集合本质上是同一个集合
Python要求存入集合中的元素必须是不可变类型(如浮点型、整型、元组、字符串类型,而列表、字典、集合本身就是可变数据类型
3.1.3 映射类型¶
映射类型以键值对的形式存储元素,键与值之间存在映射关系
字典(dict)是Python唯一的内置映射,字典的键必须遵守两个原则:
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |