前言
该python学习笔记应该配合b站王顺子老师的《python面向对象编程五部曲》使用,课本推荐黄皮书《python编程:从入门到实践》
1.变量
变量是存储数据的容器,他引用着某个具体的数值,并且可以改变这个引用。
变量命名的规则:(1)只能包含字母、数字和下划线,不能以数字开头,区分大小写;
(2)不能包含空格,可以使用下划线来分割其中的单词,例如:abc_xxx;
(3)不要将python关键词和函数名用作变量名,且慎用 “ l ” 和 “ O ”
2.注释
注释是一段用来解释代码的文字性描述,在python中,注释一般用“ # ”表示,#号后面的内容会被解释器自动忽略。
注释的作用:(1)帮助我们自己理清楚代码逻辑
(2)对程序进行临时调试,发现错误(具体操作:选中前n行代码,按“CTRL”+“/”, 相当于将前n行都加上#,然后调试后面的)
3.数据类型
3.1数据类型的区分
区分数据类型就是对程序需要处理的数据进行分类,主要是为了区分储存空间(不同类型的数据占存储大小不同)、运行时对数据做不同处理
-
数值类型(numbers):int(整数)、float(浮点数 小数)
-
字符串(string):以单引号
'
、双引号"
、三引号'''
或"""
括起来的文本 -
布尔(bool):只有
True
、False
两种值 -
列表(list)
-
空类型(NoneType):none
-
集合(set)、元组(tuple)、字典(dictory)
数据类型的查看:type函数
print(type(666))
3.2数据类型的转换
python是强类型(类型强势,不会轻易自动修改)、动态类型(数据类型在运行时可以判定,动态修改)
一般函数格式为:需要转化的类型英文缩写(xxx)
4.运算符
4.1算数运算符
算数运算符 | 备注 |
+ | 加法 |
- | 减法 |
* | 乘法 |
** | 幂(a**b 表示 a 的 b 次幂) |
/ | 除法 |
// | 取整数(8 // 3值为2) |
% | 求模 / 取余数(7 % 5 值为2) |
注:可以利用整除和求余运算来计算某个不完整的大表格的行数和列数
4.2复合运算符
复合运算符就是在3.1中符号后加上“ = ”,例如+=(加法赋值运算符):a+=b等价于a=a+b
在符合运算符中,会先运行等号右侧的式子
4.3比较运算符
比较运算的输出结果是bool类型,true or false
比较运算符 | 备注 |
> | 是否大于 |
< | 是否小于 |
!= | 是否不等于 |
>= | 是否大于等于 |
<= | 是否小于等于 |
= = | 是否相等 |
is | 判断唯一标识是否相等 id()函数:查看唯一标识 |
4.4逻辑运算符
逻辑运算符针对于布尔类型的数据(true or false)使用
逻辑运算符 | 备注 |
not | 非,取反 |
and | 与(一假全假) |
or | 或(一真全真) |
注:1.非布尔类型的值, 如果作为真假来判定, 一般都是非零即真, 非空即真
2.整个逻辑表达式的结果不一定只是True和False,例如:
print(0 and true) #输出结果为0,因为认为0为假
5.转义符
- 概念:通过转换某个指定的字符, 使它具备特殊的含义
常见转义符 | 作用 |
\" | 双引号 |
\' | 单引号 |
\n | 换行 |
\t | 横向制符表(TAB空格) |
\ | (在行尾时) 续行符, 即下一行的内容也算进这一行 |
- 一般是在字符串类型的数据中应用
6.输入与输出
6.1输入
Python 提供了 input() 函数,可以让用户输入内容,并当作“字符串”存放到一个变量里:
content = input(“请输入内容”)
若想让用户输入的内容当作“代码”处理,需要再加上eval()函数
content = input(“请输入内容”)
result = eval(content)
6.2输出
python的输出一般使用print()函数 ,具体为 print(value, sep, end, file, flush)
value:输出的值x sep:多个数据间分隔符(默认为空格)
end:结尾符号,默认为“\n”,即换行符 file:输出的目标文件
具体使用场景:
- 格式化输出
name = 123
age ="456"
#想要输出:我的名字是xxx,年龄是xxx
print(f"我的名字是{name},年龄是{age}")
- 输出到文件中
f = open("test.txt","w") # "w"是指定只能向文件内输入,而不能取出
print(123,file=f)#file一般默认为操作台sys.stdout
- 输出不自动换行 / 结尾符号
#以*号结尾
print("abc",end="*")
#以空格结尾或者以“\t”结尾,不自动换行
print("abc",end="")
注:end函数默认为“\n”,即输出完毕后自动换行 如:print(“1\n” “23\n” “45”)
若以“\t”结尾,则为输出完毕不换行
- 输出的各个数据,使用分隔符分割
#各个数据之间使用$$$作为分隔符,默认为空格
print("1","2","3",sep="$$$")
7.案例小结
- 案例描述:采集一个人的身高, 体重, 年龄和性别; 告诉Ta, 自己的体脂率是否在正常范围之内
1. 输入:身高、体重、年龄、性别
2. 处理数据:计算体脂率并判定是否在正常范围内
3.输出:告诉用户是否正常
# 一定先注意python的版本 这里用python3.x
# 思路最重要,用注释引导思路
# 输入(使用float函数将字符类转化为浮点类)
# 身高
height = input("请输入身高(m):")
height = float(height)
# 体重
weight = input("请输入体重(kg):")
weight = float(weight)
# 年龄
age = input("请输入年龄:")
age = float(age)
# 性别
sex = input("请输入身高(男:1 女:0):")
sex = float(sex)
# 处理数据
# 计算体脂率
# BMI = 体重(kg) / (身高 * 身高)(米)
# 体脂率 = 1.2 * BMI + 0.23 * 年龄 - 5.4 - 10.8*性别
BMI = weight / (height * height)
TZL = (1.2 * BMI + 0.23 * age - 5.4 - 10.8 * sex) * 0.1
# 判定是否在正常范围内(目前还没学习if语句,所以可以用最大最小值判断)
min = 0.15 + 0.1 * (1-sex)
max = 0.18 + 0.1 * (1-sex)
result = min < TZL < max #(在python中,小于号为布尔符号,输出逻辑值)
# 输出
#告诉用户 是否正常
print(f"你的体脂率是 {TZL},是否符合标准:",result)