三、Python的数据类型
3.1 python的基本数据类型
3.1.4 布尔值(bool)
在Python中,布尔值是表示真或假的数据类型,有两个取值,True和False,布尔值常用于控制流程、条件判断和逻辑运算,本质上来说,布尔型其实是一种特殊的整数,True对应1,False对应0。
任何对象都具有布尔属性。
3.1.5 字符串(str)
(1)字符串定义
Python中的字符串是由一对单引号、一对双引号或者一对三引号括起来的字符序列。
单引号括起来的单行,可以使用双引作为字符串的一部。
双引号括起来的单行,可以使用单引号作为字符串的一部分。
三引号括起来的多行,可以使用单引号、双引号作为字符串的一部分,也可以换行。
如果非要在单引号(或双引号)括起来的字符串中包括单引号或者双引号,可以使用转义字符反斜杠对字符串中的单引号或者双引号进行转义处理。
注意:
字符串可以使用单引号或双引号来定义,但最好在一个文件中统一使用同一种,避免混合使用。
如果字符串中可能包含某种引号时,那么优先使用另一种形式的引号来定义字符串,尽量不使用转义字符。
(2)字符串的类型
使用type()函数可以确定一个对象的类型。
(3)字符串的索引和切片
字符串中的多个字符都会按顺序给出一个编号,这个编号就是索引。
如s=‘python’,其中字母p的编号为0,可以通过索引获取单个字符。
python中的字符串,我们可以通过索引取出其中的一个字符或一段字符子串,但不支持动态修改。
字符串是不可变的序列,意味着一旦创建,就不能被修改。
在字符串中通过索引取出一个活一段字符子串的操作系统非常灵活,我们把取其中一段的操作称为切片。切片是通过指定初试索引和结束索引来获取字符串的一部分。
切片的语法是start:stop:step,其中,start表示起始索引,stop表示结束索引(不包含在切片中),step表示步长。
Str[start:stop:step]
Str[start:stop]:表示从字符串s中取索引号从n到m-1的字符子串,其中不包含索引号m的字符。
Str[start]:省略结束索引号,表示切取索引号从n到最后一个字符的子串。
Str[:stop]:省略开始索引号,表示切取索引号从0到索引号为m-1的子串。
Str[-start:-stop]:表示从字符串s中切取索引号从倒数n到倒数m-1的字符子串。
Str[::]:省略开始和结束索引号,表示切取整个字符串。
Str[::-step]:获得整个字符串的逆序。
(4)字符串的运算
字符串支持基本的运算,如拼接和重复。
(5)字符串的方法
在Python的解释器内部,所有数据类型都采用面向对象的方式实现,封装丞一个类。
字符串就是其中的一个类,每一个类里面都有许多自己的方法和属性,想要使用类的方法和属性,需要用a.b()的方式进行调用,其中a指明相应类创建的对象。
字符串常见的处理方法如下:
(6)字符串的处理函数
Python提供了许多内置函数,其中有6个与字符串处理相关的函数:
(7)字符串的格式化方法
Python提供了两种字符串格式化方法,一种是类C语言Printf()函数的格式化方法,另一种采用专门的format()格式化方法。
Python提供了多种字符串格式化方法,下面将分别介绍这些方法的使用方法并给出示例。
a、使用%进行格式化
使用%对字符串格式化的基本形式为:%[key][flags][width][.precision][length]type%var
%:格式化开始标志
[key]:可选,用于指定字典中的键
[flags]:可选,用于控制输出的格式(如左对齐、右对齐、正负号等)
[width]:可选,指定输出字段的最小宽度
[.precision]:可选,对于浮点数,它指定小数点后的位数;对于字符串,它指定最大字段宽度
[length]:可选,通常与h、l、L一起使用,指定整数的大小
type:必须,指定格式化类型(如d、f、s等)
var:要格式化的变量
示例:
python
# 整数格式化
num = 1234
formatted_num = '%06d' % num # 输出宽度为6的整数,不足部分用0填充
print(formatted_num) # 输出: 001234
# 浮点数格式化
pi = 3.14159
formatted_pi = '%.2f' % pi # 保留两位小数
print(formatted_pi) # 输出: 3.14
# 字符串格式化
name = 'Alice'
formatted_name = '%s is great!' % name
print(formatted_name) # 输出: Alice is great!
b、format方法
format()方法的基本使用形式为:<模板字符串>.format(参数1, 参数2, …)
在模板字符串中,可以使用{}作为占位符,并通过位置或关键字参数来指定值。
示例:
python
# 位置参数
template = 'I am {} and I am {} years old.'
formatted_str = template.format('Bob', 25)
print(formatted_str) # 输出: I am Bob and I am 25 years old.
# 关键字参数
template = 'Hello, {name}! You are {age} years old.'
formatted_str = template.format(name='Alice', age=30)
print(formatted_str) # 输出: Hello, Alice! You are 30 years old.
# 格式化数字
num = 3.14159
formatted_num = '{:.2f}'.format(num) # 保留两位小数
print(formatted_num) # 输出: 3.14
c、使用f字符串(Python 3.6及以上版本)
f-strings在字符串前加上f或F,并在字符串内部使用{}来包含变量或表达式。
示例:
python
name = 'Bob'
age = 25
# f-string
formatted_str = f'Hello, {name}! You are {age} years old.'
print(formatted_str) # 输出: Hello, Bob! You are 25 years old.
# 在f-string中计算
num1 = 10
num2 = 20
result = f'{num1} + {num2} = {num1 + num2}'
print(result) # 输出: 10 + 20 = 30
f-strings提供了一种简洁且直观的方式来嵌入变量和表达式,使得字符串格式化变得更加方便。