P019-变量基本原理
- 变量是程序的基本组成单位
- 变量是程序的基本组成单位
- 变量三要素(类型+名称+值)
- 应用实例
a=10
print("a的值为", a, "类型是", type(a))
-
简单原理示意图
-
程序/代码执行后,变量的值存在计算机内存里
-
计算机内存
-
变量示意图
-
P020-变量介绍
- 介绍
- 内存中一个数据存储空间的表示
- 可以看做是一个房间的门牌号
- 变量要先定义再使用
P021-记录个人信息
- 应用实例
name = "tom"
age = 20
score = 90.4
# 输出信息
print("个人信息如下:", "\n", name, age, score)
P022-格式化输出
- 格式化输出
- %操作符
- format()函数
- f-strings【推荐】
- 应用实例
name = "tom"
age = 20
score = 90.42
# %操作符
print("个人信息:%s %d %.2f" %(name, age, score))
# format()函数
print("个人信息:{} {} {}" .format(name, age, score))
# f-strings
print(f"个人信息:{name} {age} {score}")
P023-加号的使用
- +号的使用
- 当左右两边都是数值型时,则做加法运算
- 当左右两边都是字符串,则做拼接运算
- 应用实例
name = "tom"
score = 90
print(score + 86) #176
print(name + "86") #tom86
print("100" + "86") #10086
print(100 + 86) #186
print("100" + 86) #报错
P024-数据类型概述
- 基本数据类型
类型 | 描述 |
---|---|
整型 int | 整数:1,-1,200 |
浮点型 float | 小数:1.1,-4.5,900.9 |
布尔值 bool | 逻辑,可以理解为对(True)或错(False) |
字符串 string | 字符组成的一串内容,Python中用成对的单引号或双引号括起来 |
- type()函数-查看数据类型
P025-整数类型
- 使用细节
- Python中的整型,可以表示很大的数
- Python的整数有十进制DEC,十六进制HEX,八进制OCT,二进制BIN
- 十六进制:前缀0x,由0-9和A-F组合
- 八进制:前缀0o,由0-7组合
- 二进制:前缀0b,由0和1组合
- Python中整型占多少个字节?
- 常识
- 字节(byte):计算机中基本存储单元
- 位(bit):计算机中最小存储单位
- 1byte = 8bit
- 字节数随数字增大而增大(Python整型是变长的)
- 每次增加4个字节
- 常识
n1 = 2
n2 = 2 ** 30
n3 = 2 ** 124
# 2 ** 15 表示2的15次方
# 在python中,用sys.getsizeof返回对象的大小(按字节)
import sys
print(sys.getsizeof(n1))#28
print(sys.getsizeof(n2))#32
print(sys.getsizeof(n3))#44
P026-浮点类型
- 使用细节
- 浮点数表示形式
- 十进制形式:5.12 .512
- 科学计数法形式:5.12e2(5.12乘10的2次方,e不区分大小写)5.12E-2
- 浮点数有大小限制,边界为
- max
- min
- 浮点类型计算后,存在精度的损失,可以用Decimal类进行精确计算
- 浮点数表示形式
b = 8.1/3
from decimal import Decimal
B = Decimal("8.1")/Decimal("3")
print("b=", b) #b= 2.6999999999999997
print("B=", B) #B= 2.7
P027-布尔类型
- 基本介绍
- bool类型,取值True和False
- True和False都是关键字
- 适于逻辑运算,用于程序流程控制
- 使用细节
- 布尔类型可以和其他数据类型进行比较,比如数字、字符串等。在比较时,Python会将True视为1,False视为0
- 在Python中,非0被视为真值,0被视为假值
P028-字符串类型
-
基本介绍
- 使用单引号或双引号包括起来,创建字符串
- str就是string的缩写,在使用type()查看数据类型时,字符串类型显示的就是str
-
使用细节
- Python不支持单字符类型,单字符在Python中也是作为一个字符串使用
- 用三个单引号
'''内容'''
,或三个双引号"""内容"""
可以使字符串内容保持原样输出 - 在字符串前面加个
r
可以使整个字符串不会被转义
str1 = '''print("OK")'''
print(str1)
str2 = r"Tom\tSiri\nRose"
print(str2)
P029-字符串驻留机制
- Python仅保存一份相同且不可变字符串,不同的值被存放在字符串的驻留池中,Python的驻留机制对相同的字符串只保留一份拷贝,后续创建相同字符串时,不会开辟新空间,而是把该字符串的地址赋给新创建的变量
id()
:该函数可以返回对象/数据的内存地址
str1 = "Python"
str2 = "Python"
str3 = "Python"
print("str1",id(str1))
print("str2",id(str1))
print("str3",id(str1))
- 驻留机制几种情况讨论
- 字符串是由**26个英文字母大小写、0-9、_**组成时
- 字符串长度为0或1时
- 字符串在编译时进行驻留,而非运行时
- [-5,256]的整数数字时
- sys中的intern方法可以强制2个字符串指向同一对象
- PyCharm对字符串进行了优化处理
P030-数据类型转换
-
隐式类型转换
- Python变量的类型不是固定,会根据变量当前值在运行时决定的,可以通过内置函数
type()
来查看其类型,这种方法就是隐式转换,有的书也称自动转换
- Python变量的类型不是固定,会根据变量当前值在运行时决定的,可以通过内置函数
var1 = 520
print(type(var1)) #int
var1 = 13.14
print(type(var1)) #float
var1 = "Python"
print(type(var1)) #str
-
在运算的时候,数据类型会向高精度自动转换
-
显式类型转换
-
如果需要对变量数据类型进行转换,只需要将数据类型作为函数名即可,这种方式就是显示转换/强制转换
-
一下几个内置的函数可以完成数据类型之间的转换。函数会返回一个新的对象/值,就是强制转换后的结果
函数 | 描述 |
---|---|
int(x,[,base]) | |
float(x) | |
complex(real,[,imag]) | |
str(x) | |
repr(x) | |
eval(str) | |
tuple(s) | |
list(s) | |
set(s) | |
dict(d) | |
frozenset(s) | |
chr(x) |
i = 10
j = float(i)
print(type(j),j) #float 10.0
k = str(i)
print(type(k),k) #str 10
-
显示类型转换注意事项
-
不管什么值的int,float都可以转成str,str(x)将对象x转换为字符串
-
int转成float时,会增加小数部分;float转成int时,会去掉小数部分
-
str转int,float使用int(x),float(x)将对象x转换为int,float
-
在将str类型转成基本数据类型时,要确保str值能够转成有效的数据
P031-本章作业
P032-本章小结
- 动手去做,就会一步步走向成功