2.1. 认识变量类型和变量地址
● Python可以使⽤ id() 函数获得变量的地址.
● 相同内容的变量会有相同的地址.
# 数据类型 变量名=变量值
# Python 语⾔的变量类型是⾃动推导
# 1. 整型常量特点
num1 = 10
num2 = 10
# 思考:以上两个变量是⼀样的吗?
# %s字符串 %d整型 %f浮点型 字符串.format()
# f-string
# print(f'id(num1) = {id(num1)}, id(num2) = {id(num2)}')
print(f'{type(num1) = }, {type(num2) = }')
print(f'{id(num1) = }, {id(num2) = }')
print('-' * 50)
# 2.浮点型常量特点
# 字符串相乘就是重复的含义
n1 = 10.5
n2 = 10.5
print(f'{type(n1) = }, {type(n2) = }')
print(f'{id(n1) = }, {id(n2) = }')
print('-' * 50)
# 3.字符串常量的特点
s1 = 'hello world'
# Python 语⾔的字符串都是⼀样的.没有所谓`字符类型` char
s2 = "hello world"
print(f'{type(s1) = }, {type(s2) = }')
print(f'{id(s1) = }, {id(s2) = }')
运行结果如下图所示:

2.2. 余数 (%) 和整除(//) 使⽤ divmod() 函数⼀次获得商和余数
# 商(没有⼩数点)
quotient1 = 10 / 3
quotient2 = 10 // 3
# / 浮点除
# // 整除
print(f'{quotient1 = }, {quotient2 = }')
# 余数
remaining = 10 % 3
print(f'{remaining = }')
#内置函数divmod(x, y)
#逗号表达式
q, r = divmod(10, 3)
print(f'{q = }, {r = }')
运行结果如下图所示:

2.3. 乘⽅(**)
# ⼆进制
# 复制ctrl + d (duplicate复制)
print(2 ** 0)
print(2 ** 1)
print(2 ** 2)
print(2 ** 3)
print(2 ** 4)
print(2 ** 5)
print(2 ** 6)
print(2 ** 7)
print('-' * 20)
print(10 ** 0)
print(10 ** 1)
print(10 ** 2)
运行结果如下图所示:

2.4. 位运算操作 需求 : 交换 x, y 的值
2.5. 整数与浮点数的特性 8 整数的英⽂是 integer, 在计算机程序语⾔中⼀般⽤ int 表示. 整数⼤⼩必须在某⼀区间, 否则会有 溢位(overflow), 造成数据不正确. Python3已经将整数存储空间的⼤⼩限制拿掉了, 所有没有 long 了, 也就是说 int 可以是任意⼤⼩的数值. 浮点数的英⽂是 float, 既然整数⼤⼩没有限制, 浮点数⼤⼩当然也没有限制.

# 科学计算: 航天领域, 宇宙学, 天⽂学...
n = 18446744073709551616 + 1
print(n)
f = 123456789.123456789
print(f)
运行结果如下图所示:

2.6. 字符串
所谓的字符串(string)数据是指两个单引号之间或是两个双引号之间任意个数字元符号的数据, 它的 数据类型代号是 str, 如果我们用单引号去处理字符串产生错误, 碰到这种情况, 我们可以用双引号 解决. 数学的运算符 + 可以执行两个字符串相加, 产生新的字符串. 程序设计时如果字符串长度多于一行, 可以使用三个单引号(或是三个双引号)将字符串包夹.
# 字符串 : 字符 + 字符串
# 1. 单引号 ''
# 2. 双引号 ""
# 3. 三引号 ''' ''' """ """ 多行字符串
s = '''
介绍信
尊敬的xxx, 我向您推荐该学员...
...
...
非常优秀!!
此致/敬礼
'''
print(s)
运行结果如下图所示:

# raw string 原生字符串 (取消所有转义)
# 文件路径
filepath = 'D:\\TuLing\\2421\\视频\\专为AI设计的Python课程'
filename = r'D:\TuLing\2421\视频\专为AI设计的Python课程'
print(f'{filepath = }')
print(f'{filename = }')
# binary string
# 二进制数据
s = b'hello world' # 相当于将字符串类型数据转换为了字节数据
print(s, type(s))
运行结果如下图所示:

2.7. 输入与输出
input()函数与print()函数功能相反, 这个函数会从屏幕读取用户从键盘输入的数据. 特别注意所有输 入的数据不论是字符串或是数值数据返回到value时一律是字符串数据, 如果要执行数学运算需要用
int()函数转换为整数.
print('hello world')
# input() 函数是一个阻塞函数, 回车才代表输入的结束
msg = input('请输入你的内容: ')
print(f'{msg = }, {type(msg) = }')
# 需求 : 让用户输入两个整型数值, 实现数学上的加法运算
n1, n2 = eval(input('请输入两个整型数值: ')) # 10, 20
result = n1 + n2
print(f'{result = }')
运行结果如下图所示:
