Bootstrap

一天一点点,接上章Python基础

emmm不好意思又好几天没更了。虽然没更但是依旧没少掉头发。接上章我们继续🆗开始

上章地址:一天一点点。Python基础-CSDN博客

Dictionary(字典)

  • 列表是有序的对象集合,字典是无序的对象集合。两者区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
  • 字典是一种映射类型,字典用 { } 标识,它是一个无序的 K : V 的集合。
  • 键(key)必须使用不可变类型。
  • 在同一个字典中,键(key)必须是唯一的。
# 字典声明方式1
dict_one = {} # 创建空字典
dict_one['one'] = "小徐"
dict_one['two'] = "掉头发"
print(dict_one)# {'one': '小徐', 'two': '掉头发'}
# 通过key获取value
print(dict_one['one']) # 小徐
print(dict_one['two']) # 掉头发

# 字典声明方式2
dict_two = {'one' : '小徐', 'two' : '掉头发'}
print(dict_two)# {'one': '小徐', 'two': '掉头发'}
# 通过key获取value
print(dict_one['one']) # 小徐
print(dict_one['two']) # 掉头发
print(dict_two.keys()) #输出所有键值
print(dict_two.values()) #输出所有值

 bytes 类型

  • bytes 类型表示的是不可变的二进制序列(byte sequence)。
  • 与字符串类型不同的是,bytes 类型中的元素是整数值(0 到 255 之间的整数),而不是 Unicode 字符。
  • bytes 类型通常用于处理二进制数据,比如图像文件、音频文件、视频文件等等。在网络编程中,也经常使用 bytes 类型来传输二进制数据。
  • 创建 bytes 对象的方式有多种,最常见的方式是使用 b 前缀:此外,也可以使用 bytes() 函数将其他类型的对象转换为 bytes 类型。bytes() 函数的第一个参数是要转换的对象,第二个参数是编码方式,如果省略第二个参数,则默认使用 UTF-8 编码:
x = b"hello world"
print(x) # b'hello world'
print(type(x)) # <class 'bytes'>

 数据类型转换

隐式类型转换

隐式类型转换会自动将一种数据类型转换为另一种数据类型。转换的过程不需要我们去处理。

从下面代码可以看出小的数据类型(int)和大的数据类型(float)相加时会自动转为大的数据类型(float)避免数据丢失

# 隐式类型转换
num_int = 100
num_flo = 1.00
num_sum = num_int + num_flo
print(type(num_int))# <class 'int'>
print(type(num_flo))# <class 'float'>
print(num_sum)# 101.0
print(type(num_sum))# <class 'float'>

 看下面这种情况这里我创建了一个int类型的整数和str        类型的字符串进行相加此时就会出问题了。这种情况下我们如果必须要进行运算怎么解决呢?就要用到数据类型转换的第二个知识点显示类型转换

num_int = 100
num_str = '100'
num_sum = num_int + num_str
print(num_sum)

# Traceback (most recent call last):
# File "D:\pywork\pythonProject\TypeConversion.py", line 14, in <module>
#    num_sum = num_int + num_str
              ~~~~~~~~^~~~~~~~~
# TypeError: unsupported operand type(s) for +: 'int' and 'str'

显示类型转换

在显式类型转换中,用户将对象的数据类型转换为所需的数据类型。 我们使用 int()、float()、str() 等预定义函数来执行显式类型转换。

这里是对上面代码的修改。我们先将num_str的类型转换为int再进行运算即可得到结果

# 显示类型转换
num_int = 100
num_str = '100'
num_str = int(num_str)
print(type(num_str))# <class 'int'>
num_sum = num_int + num_str
print(num_sum)# 200

算术运算符

+ 加 -- 两个对象相加 10+10的结果20
- 减 -- 得到负数或是一个数减去另一个数 10-10的结果0
* 乘 -- 两个数相乘或返回若干次字符串 10*10的结果100
/ 除 -- 一个数除以另一个数 10/10的结果1
% 取模 -- 返回除法的余数         10%10的结果0
** 幂 -- 返回x的y次幂 10**11为10的11次方
// 取整除 -- 往小的方向取整数 9//2的结果4

比较运算符

== 等于 -- 比较对象是否相等 10 == 11返回False
!= 不等于 -- 比较两个对象是否不相等 10 != 11返回True
> 大于 10 > 11返回False
< 小于 10 < 11返回True
>= 大于等于 10 >= 11返回False
<= 小于等于 10 <= 11返回True

条件控制

条件控制语句是通过一条或多条语句的执行结果(True或False)来决定要执行的代码

if...elif...else

# 根据小明输入的数字给出对应的提示
num = int(input("请输入随意数字获取对应奖励:"))

if num <= 0:
    print("大嘴巴子一个")
elif num > 0 & num <= 50:
    print("大嘴巴子两个")
elif num > 50 & num <= 100:
    print("大嘴巴子三个")
else:
    print("大嘴巴子四个")

match...case

  • match...case 的条件判断,不需要再使用一连串的 if-else 来判断了。
  • match 后的对象会依次与 case 后的内容进行匹配,如果匹配成功,则执行匹配到的表达式,否则直接跳过,_ 可以匹配一切。
num = int(input("请输入随意数字获取对应奖励:"))

match num:
    case 1:
        print("1")
    case 2:
        print("2")
    case _:
        print("您输入的既不是1也不是2")

 浅更一下。周六上班偷偷的学了一会儿。你们周六都上班嘛?

;