Python教程
数据类型
基本数据类型
| 数据类型 | 是否可变 |
|---|---|
| Number(数字) | 不可变 |
| String(字符串) | 不可变 |
| Bool(布尔类型) | 不可变 |
| List(列表) | 可变 |
| Tuble(元组) | 不可变 |
| Set(集合) | 可变 |
| Dictionary(字典) | 可变 |
# 创建变量引用 var1 = 10 var2 = True #删除变量引用 del var1, var2
讯享网
数据类型之Number(数字)
讯享网# 定义一个Number类型的数据 num_int = 100 num_float = 1.02 num_bool = True number_complex = 4+3j
Number类型包括:int,float,bool,complex(复数)。
Python中,内置的type()函数可以用来查询变量所指的对象类型。
a, b, c, d = 100, 1.02, True, 4+3j print(type(a), type(b), type(c), type(d))

讯享网






























origin_url=D%3A%255CCodeTools%255CTypora%255CMyBooks%255CPython%25E6%2595%2599%25E7%25A8%258B.assets%255Cimage-.png&pos_id=img-AsdhGnLg-51)
还可以使用isinstance()来判断数据类型。
讯享网>>> a = 111 >>> isinstance(a, int) True >>>
二者区别在于:
type()不会认为子类是一种父类类型。
isinstance()会认为子类是一种父类类型。
数据类型之Bool(布尔)
# 定义一个bool类型的数据 myBool = True
布尔类型即 True 或 False。
在 Python 中,True 和 False 都是关键字,表示布尔值。
布尔类型可以用来控制程序的流程,比如判断某个条件是否成立,或者在某个条件满足时执行某段代码。
布尔类型特点:
- 布尔类型只有两个值:True 和 False。
- 布尔类型可以和其他数据类型进行比较,比如数字、字符串等。在比较时,Python 会将 True 视为 1,False 视为 0。
- 布尔类型可以和逻辑运算符一起使用,包括 and、or 和 not。这些运算符可以用来组合多个布尔表达式,生成一个新的布尔值。
- 布尔类型也可以被转换成其他数据类型,比如整数、浮点数和字符串。在转换时,True 会被转换成 1,False 会被转换成 0。
- Python3 中,
bool是int的子类,True和False可以和数字相加,True==1、False==0会返回True,但可以通过is来判断类型。 - Python2 中是没有布尔型的,它用数字
0表示False,用1表示True。
讯享网>>> issubclass(bool, int) True >>> True==1 True >>> False==0 True >>> True+1 2 >>> False+1 1 >>> 1 is True False >>> 0 is False False
a = True b = False # 比较运算符 print(2 < 3) # True print(2 == 3) # False # 逻辑运算符 print(a and b) # False print(a or b) # True print(not a) # False # 类型转换 print(int(a)) # 1 print(float(b)) # 0.0 print(str(a)) # "True"
注意: 在 Python 中,所有非零的数字和非空的字符串、列表、元组等数据类型都被视为 True,只有 0、空字符串、空列表、空元组等被视为 False。因此,在进行布尔类型转换时,需要注意数据类型的真假性。
数据类型之String(字符串)
讯享网# 定义一个String类型的数据 myStr = "我喜欢学习Python"
Python中的字符串用单引号 ' 或双引号 " 括起来。
字符串的截取的语法格式如下:
变量[头下标:尾下标]
索引值以 0 为开始值,-1 为从末尾的开始位置。
加号 + 是字符串的连接符, 星号 * 表示复制当前字符串,与之结合的数字为复制的次数。
str = "python" print(str) # 输出字符串 print(str[0:-1]) # 输出第一个到倒数第二个的所有字符 print(str[0]) # 输出字符串第一个字符 print(str[2:5]) # 输出从第三个开始到第五个的字符 print(str[2:]) # 输出从第三个开始的后的所有字符 print(str * 2) # 输出字符串两次,也可以写成 print (2 * str) print(str + "TEST") # 连接字符串
执行结果:


Python可使用反斜杠 \ 转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串。
讯享网print('python') print('py\nthon') print(r'py\thon')
执行结果:

Python 没有单独的字符类型,一个字符就是长度为1的字符串。
数据类型之List(列表)
# 定义一个List类型的数据 myList = [1, 1.01, True, "apple", 4+3j]
List(列表) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
索引值以 0 为开始值,-1 为从末尾的开始位置。

加号 + 是列表连接运算符,星号 * 是重复操作。
与Python字符串不一样的是,列表中的元素是可以改变的:
讯享网>>> a = [1, 2, 3, 4, 5, 6] >>> a[0] = 9 >>> a[2:5] = [13, 14, 15] >>> a [9, 2, 13, 14, 15, 6] >>> a[2:5] = [] # 将对应的元素值设置为 [] >>> a [9, 2, 6]
Python 列表截取可以接收第三个参数,参数作用是截取的步长,以下实例在索引 1 到索引 4 的位置并设置为步长为 2(间隔一个位置)来截取字符串:

数据类型之Tuple(元组)
# 定义一个Tuple类型的数据 myTuple = (1, 2, "apple")
元组与列表的不同之处在于:
- 元组使用小括号,列表则使用中括号
- 元组中的元素不能修改,列表中的元素可以修改
注意事项:
- 元组中只有一个元素时,须在元素后添加一个逗号,否则小括号会被当做运算符来使用
- 元组中的元素无法修改,删除,只能通过del来删除整个元组
数据类型之Dictionary(字典)
讯享网# 定义一个dict类型的数据 myDict = {
"name":"小明", "age":20, "sex":"男"} # 访问字典中的元素 myDict["name"] # 往字典中添加属性(修改属性) myDict["school"] = "清华大学" # 删除字典中的元素 del myDict["name"]
数据类型之Set(集合)
# 定义一个set类型的数据 mySet = {
1, 2, 0.1, "apple", 4+3j} # 判断元素是否在集合内 返回True或者False "apple" in mySet # True # 两个集合间的运算 a = set('abracadabra') b = set('alacazam') print(a) # {'a', 'r', 'b', 'd', 'c'} print(b) # {'l', 'a', 'z', 'm', 'c'} print(a - b) # {'r', 'b', 'd'} print(a | b) # {'l', 'a', 'z', 'r', 'b', 'd', 'm', 'c'} print(a & b) # {'a', 'c'} print(a ^ b) # {'l', 'd', 'z', 'm', 'b', 'r'}
集合推导式
讯享网c = {
x for x in "erassdfvcxbadqcfa" if x not in "abc"} print(c) # {'e', 'v', 's', 'r', 'x', 'q', 'f', 'd'}
集合的基本操作
mySet = {
'Google', 'Taobao', 'Twitter'} # 添加元素 mySet.add('FaceBook') print(mySet) # {'Twitter', 'Google', 'Taobao', 'FaceBook'} # 移除元素-方法一 mySet.remove('Google') # 如果元素不存在,则会发生错误。 print(mySet) # {'Twitter', 'FaceBook', 'Taobao'} # 移除元素-方法二 mySet.discard('Taobao') # 如果元素不存在,不会发生错误。 print(mySet) # {'Twitter', 'FaceBook'} # 随机删除集合中的一个元素 mySet.pop() print(mySet) # {'Twitter'} # 计算集合中元素个数 count = len(mySet) print(count) # 1 # 清空集合 mySet.clear() print(mySet) # set()
| 方法 | 描述 |
|---|---|
| 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() | 计算集合元素个数 |
流程控制
条件控制
演示图:
方法一:if-elif-else
代码格式:
讯享网if condition_1: statement_block_1 elif condition_2: statement_block_2 else: statement_block_3
实例演示:
code = int(input("请输入水果编号(1.苹果;2.香蕉;3.橘子):")) if code == 1: print("您选择的水果是苹果!") elif code == 2
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/32755.html