005_python3 元组 字典 集合 条件控制 循环语句 编程第一步

Python3 元组

1. 元组的元素不能修改,使用小括号,逗号隔开,也可不用小括号 ,不同类型元素

tup1 = ()    # 创建空元组

tup2 =('he',)      # 元组中只包含一个元素时,需要在元素后面添加逗号 , ,否则括号会被当作运算符使用

tup3= ('abc', 'xyz',2,4,9)

2.元组使用

访问元组:tup3[2] 、tup3[1:2]、tup3[:-3]、tup3[:]

组合元组:tup4 = tup2 + tup3    #元组中的元素值是不允许修改的

 删除整个元组: del tup4   #元组中的元素值是不允许删除的

元组运算符:

元组之间可以使用 +、+=和 * 号进行运算

Python 表达式结果描述
len((1, 2, 3))
3 计算元素个数
>>> a = (1, 2, 3)
>>> b = (4, 5, 6)
>>> c = a+b
>>> c
(1, 2, 3, 4, 5, 6)
(1, 2, 3, 4, 5, 6) 连接,c 就是一个新的元组,它包含了 a 和 b 中的所有元素。
>>> a = (1, 2, 3)
>>> b = (4, 5, 6)
>>> a += b
>>> a
(1, 2, 3, 4, 5, 6)
(1, 2, 3, 4, 5, 6) 连接,a 就变成了一个新的元组,它包含了 a 和 b 中的所有元素。
('Hi!',) * 4
('Hi!', 'Hi!', 'Hi!', 'Hi!') 复制
3 in (1, 2, 3)
True 元素是否存在
for x in (1, 2, 3): 
    print (x, end=" ")
1 2 3 迭代

3. 元组内置函数

序号方法及描述实例
1 len(tuple)
计算元组元素个数。
>>> tuple1 = ('Google', 'Runoob', 'Taobao')
>>> len(tuple1)
3
>>>
2 max(tuple)
返回元组中元素最大值。
>>> tuple2 = ('5', '4', '8')
>>> max(tuple2)
'8'
>>>
3 min(tuple)
返回元组中元素最小值。
>>> tuple2 = ('5', '4', '8')
>>> min(tuple2)
'4'
>>>
4 tuple(iterable)
将可迭代系列转换为元组。
>>> list1= ['Google', 'Taobao', 'Runoob', 'Baidu']
>>> tuple1=tuple(list1)
>>> tuple1
('Google', 'Taobao', 'Runoob', 'Baidu')

元组的不可变指的是元组所指向的内存中的内容不可变

id(tup3)

Python3 字典

4. 可变容器模型,且可存储任意类型对象;键值 用冒号隔开,对之间用逗号分开,大括号;键必须是唯一的,但值则不必且任何类型

tinydict = {'name': 'runoob', 'likes': 123, 'url': 'www.runoob.com'}

5.字典使用

空字典   :   emptyDict = {}

字典数量:   len(tinydict)

字典类型:   type(tinydict)

访问字典里面的值:tinydict['name']   #用字典里没有的键访问数据,会输出错误如下:  KeyError: 'Alice'

向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对   :  tinydict['name']   =  '更新name 的值' 、tinydict['添加键'] = '添加的值']

删除字典元素

能删单一的元素也能清空字典,清空只需一项操作 :  del tinydict['name']   # 删除某个键

                          det tinydict    删除字典   用执行 del 操作后字典不再存在

                        tinydict.clear()    #清空字典

6.字典键的特性

字典值可以是任何的Python对象,标准或者用户自定义,键不行。

不允许同一个键出现2次,创建时同一个键被赋值2次,后一个会被记住

键必须不可变,所以可用数字、字符串、元组充当,不能使用列表

7.字典内置函数&方法

内置函数:

序号函数及描述实例
1 len(dict)
计算字典元素个数,即键的总数。
>>> tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
>>> len(tinydict)
3
2 str(dict)
输出字典,可以打印的字符串表示。
>>> tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
>>> str(tinydict)
"{'Name': 'Runoob', 'Class': 'First', 'Age': 7}"
3 type(variable)
返回输入的变量类型,如果变量是字典就返回字典类型。
>>> tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
>>> type(tinydict)
<class 'dict'>

内置方法:

序号函数及描述
1 dict.clear()
删除字典内所有元素
2 dict.copy()
返回一个字典的浅复制
3 dict.fromkeys()
创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
4 dict.get(key, default=None)
返回指定键的值,如果键不在字典中返回 default 设置的默认值
5 key in dict
如果键在字典dict里返回true,否则返回false
6 dict.items()
以列表返回一个视图对象
7 dict.keys()
返回一个视图对象
8 dict.setdefault(key, default=None)
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
9 dict.update(dict2)
把字典dict2的键/值对更新到dict里
10 dict.values()
返回一个视图对象
11 pop(key[,default])
删除字典 key(键)所对应的值,返回被删除的值。
12 popitem()
返回并删除字典中的最后一对键和值。

Python3 集合

8.无序的不重复元素序列,{},用逗号分开。set() 创建,进行交、并、差 集合操作

创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典

创建一个空集合:set()     不能使用 {}

创建集合:set1 = set(list1,‘he’,9)    # list1 = ['h','apple',29,3]

     set2 = {2,35,‘hel’,435}

9.集合的交、并、差

set1 - set 2     #  差

set1 | set 2     #  并

set1 & set2     #  交

set1 ^ set2      # 都不包含set1和set2

10.集合的基本操作

添加元素:set1.add('her')    #如果元素已存在,则不进行任何操作

     set1.update(x)     #也可以添加元素,且参数可以是列表,元组,字典等

移除元素:set1.remove('her')   #如果元素不存在,则会发生错误

     set1.discard(x)      #还有一个方法也是移除集合中的元素,不存在不会发生错误

随机移除:set1.pop()        # pop 方法会对集合进行无序的排列,然后将这个无序排列集合的左面第一个元素进行删除

计算集合元素个数:len(set1)

清空集合:set1.clear()

判断元素是否在集合中存在: 'her' in set1   #判断元素 x 是否在集合 s 中,存在返回 True,不存在返回 False

11.集合内置方法完整列表

方法描述
add() 为集合添加元素
clear() 移除集合中的所有元素
copy() 拷贝一个集合
difference() 返回多个集合的差集
difference_update() 移除集合中的元素,该元素在指定的集合也存在。
discard() 删除集合中指定的元素
intersection() 返回集合的交集
intersection_update() 返回集合的交集。
isdisjoint() 判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
issubset() 判断指定集合是否为该方法参数集合的子集。
issuperset() 判断该方法的参数集合是否为指定集合的子集
pop() 随机移除元素
remove() 移除指定元素
symmetric_difference() 返回两个集合中不重复的元素集合。
symmetric_difference_update() 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
union() 返回两个集合的并集
update() 给集合添加元素
len() 计算集合元素个数

Python3 条件控制

12.通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。True执行,False不执行

Python 中用 elif 代替了 else if,所以if语句的关键字为:if – elif – else

  注意:a.每个条件后面要使用冒号:,表示接下来满足条件后要执行的语句块。

     b.使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块

     c.在Python中没有switch....case语句,在Python3.10添加了match...case 

13.if常用的操作运算符

操作符描述
< 小于
<= 小于或等于
> 大于
>= 大于或等于
== 等于,比较两个值是否相等
!= 不等于

14.if嵌套

把 if...elif...else 结构放在另外一个 if...elif...else 结构中。

15.match...case

Python 3.10 增加了 match...case 的条件判断,不需要再使用一连串的 if-else 来判断了

语法格式如下:

match subject:
    case <pattern_1>:
        <action_1>
    case <pattern_2>:
        <action_2>
    case <pattern_3>:
        <action_3>
    case _:        #  _可以匹配一切
        <action_wildcard>

Python3 循环语句

Python 中的循环语句有 for 和 while

16. while语句一般形式

while 判断条件(condition):
    执行语句(statements)……

在 Python 中没有 do..while 循环

无限循环 :设置条件表达式永远不为 false 来实现无限循环;使用 CTRL+C 来退出当前的无限循环。无限循环在服务器上客户端的实时请求非常有用

17.while循环使用else语句

while <expr>:
    <statement(s)>
else:
    <additional_statement(s)>

while 后面的条件语句为 false 时,则执行 else 的语句块

你的 while 循环体中只有一条语句,你可以将该语句与 while 写在同一行中 。while (flag): print ('欢迎访问菜鸟教程!')

18.for语句

for 循环可以遍历任何可迭代对象,如一个列表或者一个字符串

for循环的一般格式如下:

for <variable> in <sequence>:
    <statements>
else:
    <statements>

19.for...else

在 Python 中,for...else 语句用于在循环结束后执行一段代码。

语法格式如下:

for item in iterable:
    # 循环主体
else:
    # 循环结束后执行的代码

当循环执行完毕(即遍历完 iterable 中的所有元素)后,会执行 else 子句中的代码,如果在循环过程中遇到了 break 语句,则会中断循环,此时不会执行 else 子句。

20.range()函数

你需要遍历数字序列,可以使用内置 range() 函数  。也可以使 range() 以指定数字开始并指定不同的增量(甚至可以是负数,有时这也叫做'步长')

结合 range() 和 len() 函数以遍历一个序列的索引

21.break和continue 语句及循环中的else子句

break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。

continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被 break 终止时不执行。

22.pass语句

Python pass是空语句,是为了保持程序结构的完整性; 不做任何事情,一般用做占位语句

Python3 编程第一步

23.打印字符串:print()

end 关键字

关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符。print(b, end=',')

 

 

 

 

 

 

 

 

 

 

 
posted @   Shirley_Blogs  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!
点击右上角即可分享
微信分享提示