Python教程

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类型包括:intfloatboolcomplex(复数)

Python中,内置的type()函数可以用来查询变量所指的对象类型。

a, b, c, d = 100, 1.02, True, 4+3j
print(type(a), type(b), type(c), type(d))

![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
origin_url=D%3A%255CCodeTools%255CTypora%255CMyBooks%255CPython%25E6%2595%2599%25E7%25A8%258B.assets%255Cimage-20240123172904926.png&pos_id=img-AsdhGnLg-1708003493251)

还可以使用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==1False==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")

元组与列表的不同之处在于:

  1. 元组使用小括号,列表则使用中括号
  2. 元组中的元素不能修改,列表中的元素可以修改

注意事项:

  1. 元组中只有一个元素时,须在元素后添加一个逗号,否则小括号会被当做运算符来使用
  2. 元组中的元素无法修改,删除,只能通过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() 计算集合元素个数

流程控制

条件控制

演示图:

img

方法一: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
  • 16
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值