set提供了add()方法,我们可以使用add()方法,往set里面添加元素
对于set,如果添加一个已经存在的元素,不会报错,也不会改变什么
由于set里面的元素是没有顺序的,因此我们不能像list那样通过索引来访问。访问set中的某个元素实际上就是判断一个元素是否在set中,这个时候我们可以使用in来判断某个元素是否在set中
set元素是区分大小写的,必须大小写完全匹配,才能判断该元素在set里面
set和list类似,拥有一系列元素,但是set和list不一样,set里面的元素是不允许重复的,而list里面可以包含相同的元素;set与list的另一个区别是,set里面的元素是没有顺序的
如果一个字符串包含很多需要转义的字符,对每一个字符都进行转义会很麻烦。为了避免这种情况,我们可以在字符串前面加个前缀r,表示这是一个 raw 字符串,里面的字符就不需要转义了
但是r'...'表示法不能表示多行字符串,也不能表示包含'和 "的字符串
如果要表示多行字符串,可以用'''...'''
'''Line 1
Line 2
Line 3'''
Python把0、空字符串和None看成False,其他数值和非空字符串都看成True
以上文本是一段Python代码,主要展示了如何使用Python的type()函数来查询不同数据类型的对象。以下是对这段代码的详细解释:
print(type(3.1415926))
这行代码使用了type()函数来查询数字3.1415926的数据类型。
3.1415926是一个浮点数(float)。
输出结果将是<class 'float'>。
print(type('learn python in imooc'))
这行代码使用type()函数来查询字符串'learn python in imooc'的数据类型。
'learn python in imooc'是一个字符串(str)。
输出结果将是<class 'tr'>。
print(type(100))
这行代码使用type()函数来查询数字100的数据类型。
100是一个整数(int)。
输出结果将是<class 'int'>。
print(type(0b1101))
这行代码使用type()函数来查询数字0b1101的数据类型。
0b1101是一个二进制数表示的整数(int)。
输出结果将是<class 'int'>。
总结,这段代码通过type()函数演示了Python中不同类型的数据,包括浮点数、字符串、整数以及二进制表示的整数。
count()方法用来统计tuple中某个元素出现的次数。print(T.count(1))
index()方法可以返回指定元素的下标,当一个元素多次重复出现时,则返回第一次出现的下标位置。T = (1, 1, 2, 2, 3, 3, 1, 3, 5, 7, 9)
T.index(9) # ==> 10
T.index(5) # ==> 8
T.index(1) # ==> 0
pop()方法默认删除列表的最后一个元素,并返回。例如A=B.pop().
pop()方法,除了可以删除最后一个元素以外,pop()还可以接收一个参数,指定需要删除的元素的位置。
append()方法总是将元素添加到list的尾部.例如names.append('Candy')
insert()方法需要两个参数,分别是需要插入的位置,以及需要插入的元素。例如names.insert(2, 'Candy')
List 有序 可重复
set 无序 不可重复
这是一个Python编程脚本,用于根据输入的年龄值判断并打印出相应的年龄阶段。代码中首先定义了一个变量age并赋值为15,然后使用一个if-else语句来判断age是否大于17,如果是,则定义一个字符串a为'adult,{}',其中{}是一个占位符,用于后续填充具体的年龄值;接着使用format()方法将age变量的值插入到占位符位置,并打印输出结果。如果age不大于17,则定义字符串a为'teenage,{}',同样使用format()方法插入年龄值并打印。
由于代码中age的值为15,不大于17,因此最终会输出:
Unknown
teenage,15
这是一个Python编程脚本,用于检查一个人的年龄是否达到成年标准,并打印相关信息。
第一行# Enter a code是一个注释行,用于提醒读者以下内容是代码。
第二行age = 19定义了一个变量age并将其赋值为19。
第三行if age>=18:开始一个条件判断语句,检查age是否大于或等于18。
第四行print('adult', age)在条件满足时打印字符串'adult'和变量的值age。
第五行print('your age = {}'.format(age))打印一条消息,其中包含字符串'your age is'和变量的值age。
第六行print('adult')再次打印字符串'adult'。
第七行是空行,表示代码块的结束。
如果运行这个脚本,因为age被定义为19,所以条件age>=18为真,脚本会输出:
Unknown
adult 19
your age = 19
adult
这一段Python代码中包含了多个print语句,用于输出不同的字符串。这些字符串中包含了中英文混合的文本,并且展示了Python中字符串格式化的不同方式。以下是对每个print语句的详细解释:
第一个print语句:
python
print('这是一句中英文混合的Python字符串:Hello World!"')
这个语句会输出以下文本:
Unknown
这是一句中英文混合的Python字符串:Hello World!"
这里展示了在Python字符串中可以直接包含中文和英文字符。
第二个print语句:
python
print('这是一句中英文混合的Python字符串:\n{}'.format('Hello World!'))
这个语句会输出以下文本:
Unknown
这是一句中英文混合的Python字符串:
Hello World!
这里使用了\n来创建一个新行,使得"Hello World!"显示在新的一行。{}是字符串格式化的一种方式,format函数中的字符串会替换{}中的内容。
第三个print语句:
python
print('学习Python是一件很有趣的事儿:{0},{1},{2}'.format('simple','efficient','inexpensive.'))
这个语句会输出以下文本:
Unknown
学习Python是一件很有趣的事儿:simple,efficient,inexpensive.
这里使用了{0}、{1}和{2}来指定字符串中插入的位置,分别对应format函数中提供的第一个、第二个和第三个参数。
第四个print语句:
python
print('学习Python是一件很有趣的事儿:{2},{1},{0}'.format('simple','efficient','inexpensive.'))
这个语句会输出以下文本:
Unknown
学习Python是一件很有趣的事儿:inexpensive.,efficient,simple
这里展示了可以通过在{}中指定数字来改变插入参数的顺序。
第五个print语句:
python
print('学习Python是一件很有趣的事儿:{a},{b},{c}'.format(b='simple',a='efficient',c='inexpensive.'))
这个语句会输出以下文本:
Unknown
学习Python是一件很有趣的事儿:efficient,simple,inexpensive.
这里使用了命名参数的方式,在{}中指定了参数的名称,然后在format函数中通过关键字参数来传递这些值。这样可以更加灵活地指定字符串中插入的内容和顺序。
字符串模板的使用和格式化输出
在Python中,我们可以使用字符串模板来生成动态的字符串。字符串模板是一种包含占位符的字符串,这些占位符可以在后续的过程中被具体的值替换。下面我们将详细解释字符串模板的使用方法,并通过示例进行说明。
基本使用
字符串模板的基本使用方法是通过format函数将模板数据填充到模板字符串中。例如:
python
template = '林 {}' # 定义一个字符串模板,其中'{}'是占位符
a = '书豪' # 定义模板数据
result = template.format(a) # 使用format函数将数据填充到模板中
print(result) # 输出结果:林书豪
在这个例子中,'林 {}'是一个模板,'书豪'是要填充到模板中的数据。format(a)函数调用会将a变量的值填充到模板的{}位置,生成一个新的字符串'林书豪'。
指定顺序
在模板中,我们可以指定占位符的填充顺序。通过在{}中写入数字索引来实现这一点。例如:
python
template = 'hello {0}, hello {1}, hello {2}, hello {3}'
result = template.format('world', 'china', 'beijing', 'imooc')
print(result) # 输出:hello world, hello china, hello beijing, hello imooc
在这个例子中,{0}会被'world'替换,{1}会被'china'替换,以此类推。
调整顺序
我们还可以改变填充的顺序,例如:
python
template = '林 {1}, 林 {2}, 林 {3}, 林 {0}.'
result = template.format('书豪', '国豪', '俊杰', '妙可')
print(result) # 输出:林 国豪, 林 俊杰, 林 妙可, 林 书豪.
这里{1}对应的是第二个参数'国豪',以此类推。
指定对应的名字
除了使用数字索引,我们还可以使用命名参数来指定占位符对应的值。例如:
python
template = 'hello {m}, hello {w}, hello {h}, hello {y}.'
meixi = 'eixi'
wujiayu = 'wujiayu'
huangshang = 'huangshang'
yazi = 'yazi'
result = template.format(m=meixi, w=wujiayu, h=huangshang, y=yazi)
print(result) # 输出:hello meixi, hello wujiayu, hello huangshang, hello yazi.
在这个例子中,{m}会被变量meixi的值替换,{w}会被wujiayu的值替换,以此类推。
复杂的指定对应名字
在指定对应名字时,模板中的顺序和变量的赋值顺序可以不同,Python会根据指定的参数名来填充值。例如:
python
template = '3 {w}, 0 {c}, 2 {b}, 1 {i}.'
c = 'www'
w = 'ccc'
b = 'bbb'
i = 'iii'
result = template.format(b=c, c=w, w=i, i=w)
print(result) # 输出:3 iii, 0 ccc, 2 www, 1 ccc
在这个例子中,虽然template中{w}在第一个位置,但是通过w=i的赋值,实际填充的是变量i的值'iii'。
通过以上的例子,我们可以看到字符串模板在Python中的灵活使用,可以根据不同的需求来动态生成字符串。
以上文本是一段Python代码,主要展示了如何使用Python的type()函数来查询不同数据类型的对象。以下是对这段代码的详细解释:
print(type(3.41415926)): 这行代码使用了type()函数来查询数字3.41415926的数据类型,并使用print()函数输出结果。3.41415926是一个浮点数(float),因此输出将是<class 'float'>。
print(type('Learn python imooc')): 这行代码查询了字符串'Learn python imooc'的数据类型,并输出结果。由于'Learn python imooc'是一个字符串(str),所以输出将是<class 'tr'>。
print(type(100)): 这行代码查询了整数100的数据类型,并输出结果。100是一个整数(int),所以输出将是<class 'int'>。
print(type(0b1101)): 这行代码查询了二进制数0b1101的数据类型,并输出结果。0b1101是一个二进制表示的整数,同样属于整数类型(int),所以输出将是<class 'int'>。
综上所述,这段代码通过type()函数演示了Python中不同类型的数据,包括浮点数、字符串和整数,并且展示了如何输出这些数据类型的信息。
def info(**kwargs): # 1. 使用 **kwargs 接收任意数量的关键字参数
names = kwargs['names'] # 2. 从字典中提取键为 'names' 的值(姓名列表)
gender_list = kwargs['gender'] # 3. 提取键 'gender' 的值(性别列表)
age_list = kwargs['age'] # 4. 提取键 'age' 的值(年龄列表)
index = 0 # 5. 初始化索引,用于遍历列表
for name in names: # 6. 遍历姓名列表中的每个名字
gender = gender_list[index] # 7. 按当前索引获取性别
age = age_list[index] # 8. 按当前索引获取年龄
# 9. 格式化输出当前人员信息
print('name: {}, gender: {}, age: {}'.format(name, gender, age))
index += 1 # 10. 索引自增,指向下一项
因此,要定义只有一个元素的tuple,需要在元素后面添加一个逗号,。
tuple 元组 和 list 一样,是有序容器。元组和列表之间可以互相转化
定义元组的方式是使用小括号()将元组内的元素括起来。
L = ['Alice', 'Bob', 'Candy', 'David', 'Ellena']
print(L) # ==> ['Alice', 'Bob', 'Candy', 'David', 'Ellena']
T = tuple(L)
print(T) # ==> ('Alice', 'Bob', 'Candy', 'David', 'Ellena')
T = ('Alice', 'Bob', 'Candy', 'David', 'Ellena')
print(T) # ==> ('Alice', 'Bob', 'Candy', 'David', 'Ellena')
L = list(T)
print(L) # ==> ['Alice', 'Bob', 'Candy', 'David', 'Ellena']
但是,tuple和list不一样的是,tuple是固定不变的,一旦变成tuple,tuple中的每一个元素都不可被改变,同时也不能再往tuple中添加数据,而list是可以的。
T = ('Alice', 'Bob', 'Candy', 'David', 'Ellena')
# 替换元素
T[1] = 'Boby'
# 报错
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
append()方法总是将元素添加到list的尾部。
insert()方法和append()方法不一样,insert()方法需要两个参数,分别是需要插入的位置,以及需要插入的元素。
注意,将Candy插入到第三的位置之后,原来的名字,都将自动往后移动一位,这个时候再使用相同的索引获取后面的元素,将会得到不一样的结果
L[-1]代表反向访问,从列表最后一个进行范文。
# ========================# 数据类型对比表# ========================'''
| 类型 | 可变性 | 有序性 | 元素要求 | 示例 |
|-----------|--------|--------|------------|----------------|
| 数字(Number) | 不可变 | - | 数值 | x = 10 |
| 字符串(String)| 不可变 | 有序 | 字符 | s = "text" |
| 列表(List) | 可变 | 有序 | 任意 | lst = [1,"a"] |
| 元组(Tuple) | 不可变 | 有序 | 任意 | t = (1,) |
| 字典(Dict) | 可变 | 无序 | 键可哈希 | d = {"k":"v"} |
| 集合(Set) | 可变 | 无序 | 元素可哈希 | s = {1,2,3} |
这里有几个需要注意的地方:
可以看到print('抱歉,考试不及格')这行代码明显比上一行代码缩进了,这是因为这行代码是if判断的一个子分支,因此需要缩进,在Python规范中,一般使用4个空格作为缩进
在if语句的最后,有一个冒号:,这是条件分支判断的格式,在最后加入冒号:,表示接下来是分支代码块
python是严格依赖缩进的语言,if-else 块必须正确缩进。
# coding: utf-8
a='这是一句中英文混合的Python字符串'
b="Hello World!"
print(a+":"+b)
注意+的使用
python3使用了utf-8 Unicode进行编码,使得python2中的编码问题得到了解决,也使得中英文可以同时正常使用显示。
format 字符串,由字符串模板和模板数据组成。通过{}实现。
template写模板,在“变量”位置写{}
result=template.format()可以显示作为变量的内容,其中顺序可以通过template='x{0},x{1}...'内的数字进行调整。
或者通过指定{}的名字
# 指定{}的名字w,c,b,i
template = 'Hello {w}, Hello {c}, Hello {b}, Hello {i}.'
world = 'World'
china = 'China'
beijing = 'Beijing'
imooc = 'imooc'
# 指定名字对应的模板数据内容
result = template.format(w = world, c = china, b = beijing, i = imooc)
print(result) # ==> Hello World, Hello China, Hello Beijing, Hello imooc.
小知识点:
常用的转义字符还有:
\n表示换行
\t 表示一个制表符
\\表示 \ 字符本身
count()方法
count()方法用来统计tuple中某个元素出现的次数。
ndex()方法
index()方法可以返回指定元素的下标,当一个元素多次重复出现时,则返回第一次出现的下标位置。
注意,index()方法和count()方法不一样,当指定的元素不存在时,使用index()方法Python会报错。
定义元组的方式是使用小括号()将元组内的元素括起来。