7月26号小结
目录
注释
变量
输入和输出
格式化字符串
简单数据类型转换
运算符
分支结构
注释
- 注释是对程序中某一块代码的解释,也可能是将代码中某一块暂不执行的代码注释掉。
- 注释不影响程序的性能,注释不参于程序执行的。
注释分为两种形式:单行注释、多行注释
-
单行注释
快捷键:ctrl(mac:command)+ /。
代码开头使用#开头·。
-
多行注释
使用三引号’‘’‘’'或者"“”“”"
""" 多行 注释 """
变量
变量命名
- 硬性规定:
- 变量只能有数字、字母、下划线组成。
- 变量区分大小写。
- 变量不能以数字开头。
- 变量不能是系统关键字(python)。
- 非硬性要求(软性要求)(PS:可以遵守):
- 变量名见名知义
- 驼峰命名法:大驼峰命名法、小驼峰命名法。
- 大驼峰命名法:将变量名中的每个单词的首字母大写(例如:First_Name)
- 小驼峰命名法:将变量名中从第二个单词的首字母大写。(例如:first_Name)
-
变量如何使用
变量在单独创建时必须要有初始值
num = 1
查看关键字:
from keyword import kwlist
print(kwlist)
变量可以保存各种各样的数据(数据类型)
常用数据类型:
- 整型(int)。例如:13,14等。
- 浮点型(float)。例如:12.3,0.5等。
- 复数。例如:2i,-3i+5j等。
- 字符串(str)。例如:’你好‘,’hahaha‘。
- 列表(list)。例如:[1,‘abc’]
- 元组(tuple)。例如(1,’abc‘)
- 集合(set)。例如:{1,2,3}
- 字典(dict)。例如:{‘name’,‘李四’}
- 布尔(True、False)
- 空值(None)
数据类型转换
- int():将一个数值或者字符串转换成整数。
- float():将一个字符串转换成浮点数。
- str():将一个指定对象转换成字符串形式。
- chr():按照编码规则将整数转换成该编码对应的字符串(一个字符)。
- ord():按照编码规则将字符串(一个字符)转换成对应的编码(整数)。
- bool():将数据转化成布尔类型【数字是非0即为True,字符串是非空字符串即为True】
被赋值的变量如何使用
a = 1
b = 2
print(a + b)
print(a > b)
输入和输出
-
输入:input – Python提供的可以和程序进行交互的一个方法
str1 = input('请输入:') print(str1)
无论输入的内容是什么,输出的数据类型永远是字符串
出现input的程序,如果不给input做操作(回车),程序会一直等下去。
-
type() - 查看数据的数据类型
print(type(srt1))
-
-
输出:print – python提供的能偶查看数据的方法
-
可以打印数据
num = 1 print(num, 12, 'dsdfd', True, False)
-
修改打印结果的样式
sep - 分隔字符串;end - 结束字符串
end参数默认值为换行
print(1, end='\n') print(2, end='-') print(3)
sep参数默认值为一个空格
print(1, 2, 3, 4, 1 + 2) print(1, 2, 3, 4, 5, sep='♠')
sep和end必须放到print的末尾
-
格式化字符串
实现python001-python999
- 字符串:文本。
- 字符串概念:一串有限个数的符号的合集。
例如:
print('小明今年', 20, '岁')
-
旧式的格式化字符串:%s、%d、%f等
str % values --> str:字符串;values:向字符串中传入的值;%:传入值的固定语法。
name = '小明' age = 20 str1 = 'name今年age岁' print(str1)
%s对应字符串,%d对应整型,%f对应浮点型
字符串中的%s、%d、%f可以理解为占位符
values如果只传入一个值,直接写到%后即可;如果传入多个值,使用小括号括起来
str2 = '%s今年%d岁' % (name, age) print(str2)
%f 默认保留6为小数。保留n位小数:%.nf
print('%f' % 1.1) print('%.2f' % 1.1) print(type('%.2f' % 1.1))
- 旧式的格式化字符串可以将传入的任何类型的数据转为字符串。
-
format的用法
name = '张三' edu = '清华大学' str3 = '{}今年考入了{}'.format(name, edu) print(str3)
format不但能格式化整体字符串,还可以单独格式化传入的内容。
# a.>、<、^ --> 右对齐、左对齐、居中对齐 # b.: --> 左边为空,默认对传入值进行操作 # c.:右边的>3 --> 表示传入值的长度小于3,右对齐,使用空格补全。 # 0>3 -> 表示传入值的长度小于3,右对齐,使用0补全。 id = 50 stu_id = 'python{:0>3}'.format(id) print(stu_id)
% - 将传入的值转换成百分数,自动进行四舍五入。
.2 表示保留2位小数
num = 0.123456 str4 = '{:.2%}'.format(num) print(str4)
, - 千分位符
str5 = '我有{:,}元'.format(100000000) print(str5)
-
格式化字符串字面值(f - 字符串)
在字符串前面添加一个f或者F,字符串中变的位置使用{},{}中直接放变量。
id = 1 str6 = f'python{id}' print(str6) str7 = f'python{id:0>3}' print(str7) f'python{id}' 'python{}'.format(id)
-
python之禅
import this print(this)
简单数据类型转换
-
数字、布尔值转换
-
构造器语法:int()、float()、str()、list()等,在数据类型后添加小括号。
-
什么数据能够转整型
-
浮点数可以直接转整型
-
布尔值可以转整型。True == 1,False == 0
-
去掉引号是一个整数的字符串可以转整型。
print(int(1.1), int(1.9)) print(int(True), int(False)) print(int('1'))
-
-
什么样的数据能够转浮点型
-
整型可以转浮点型。
-
布尔值可以转浮点型。True == 1.0,False == 0.0
-
去掉引号是数字的字符串可以转浮点型。
print(float(1), float(0)) print(float('1'), float('1.0'), float('1.'), float('.1'))
-
-
什么数据能转成布尔值
-
0、0.0、None、‘’、[]、{}、set()能转为False
-
除此之外的所有数据均为True
print(int(bool(10))) print(1 == 10) print(bool(1) == bool(10))
-
-
运算符
python中常用运算符:
算术运算符
- +、-、*、/、//(整除)、%(取余)、**(幂运算)
num_a = 12
num_b = 5
print(num_a + num_b)
print(num_a - num_b)
print(num_a * num_b)
print(num_a / num_b)
# python中除法运算结果恒等于浮点型
print(12/3)
# // 整除 - 得到的结果为整型,向小取整
print(num_a // num_b)
# % - 获取除法运算的小数(余数不可能小于0)
print(12 % 5)
print(2 ** 4)
print(10 / 3, 10 // 3, 10 % 3) # 1
print(-10 / 3, -10 // 3, -10 % 3) # -10 % 3 = 2
print(-10 - (-10 // 3 * 3))
# 幂运算:如果使用幂运算做开方,结果永远为浮点数
print(2 ** 2, 4 ** 0.5)
# 练习:将123的各个位置的数字分别取出来。
num = 123
a = num // 100
b = num // 10 % 10 # b = (123-100) // 10
c = num % 10
print(a, b, c)
比较运算符:
- #>、<、>=(大于或等于)、<=(小于或等于)、==(等等于)、!=(不等于)
print(3 > 2) # True
print(3 < 2) # False
print(3 >= 2)
print(3 == 2)
print(3 = 2)
print(2 + 1 == 3)
逻辑运算符:
and、or、not
- and:条件1 and 条件2,如果两边同时成立,结果为True;反之,结果为False。
- 中断操作:如果左边条件不成立,右边条件不在进行判断。
print(3 > 2 and 1 <= 1) print(3 == 2 and 1 <= 1) print(3 == 2 and 1 != 1) print(True and True) print(True and False) print(False and False)
- or:条件1 or 条件2,如果两边同时都不成立,结果为False;反之,结果为True。
- 中断操作:如果左边条件成立,右边条件不在进行判断。
print(3 == 2 or 1 != 0) print(True or True) print(False or True) print(False or False)
- not:取反
print(not True) print(not (3 == 2 or 1 != 0)
赋值运算符:
=、+=、-=、*=、/=、//=、%=、**=
先算等号后面的运算,再算等号前面的运算。
num1 = 1 print(num1) num1 += 5 # num1 = num1 + 5 print(num1) num1 **= 2 print(num1) num1 %= 5 print(num1) num = 0 num += 2 # num = num + 2 num *= 3 # num = num * 3 num -= 1 # num = num - 1 print(num) num %= 4 # num = num % 4 # 变量重赋值 print(num)
复合赋值运算符:
num1 *= num1 + 5 # num1 = num1 * (num1 + 5) 先右后左,最后等号 print(num1) num *= num + 3 # num = num * (num + 3) print(num)
运算符的优先级:
""" a.算数运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符 b.** | *、/、//、% | +、- c.有括号先算括号中的。 """
分支结构
在程序运行过程中能够对某些情况正确的做出选择。
分支结构,需要用到的系统关键字:if、else、elif
单分支结构:
"""
if 条件:
代码块
else:
代码块
else语句不一定需要添加。(自己判断,不影响用户体验就不写)
"""
year = 2001
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
# print(year, '是闰年')
print('%d是闰年' % year)
else:
print('%d是平年' % year)
# 格式化字符串
# %d -> 表示将整型插入到字符串的某个位置
# %f -> 表示将浮点型插入到字符串的某个位置
# %s -> 表示将文本插入到字符串的某个位置
# 在某个网站登陆账号。
UserName = input('请输入账号:')
pwd = input('请输入密码:')
if UserName == 'admin' and pwd == '123456':
print('登陆成功')
else:
print('账号或密码错误')
练习
# 使用input输入一年年龄,判断这个人是否成年。
age = int(input('请输入年龄:'))
if age < 18:
print('未成年')
else:
print('成年')
三目运算符:
单分支结构的变形(作用:简化单分支结构,使其变得更美观)
性能和单分支结构没有差异
"""
语法:
变量 = 结果1 if 条件 else 结果2
如果条件成立,执行结果1;否则,执行结果2。
"""
age = 18
if age >= 18:
print('成年')
else:
print('未成年')
# 语法:
# 变量 = 结果1 if 条件 else 结果2
age = 18
result = '成年' if age >= 18 else '未成年'
print(result)
多分支结构:
(每一条都是或者(or)的关系):
"""
if 条件:
代码块
elif 条件:
代码块
elif 条件:
代码块
......
else:
代码块
elif可以写无数个,else语句同样可以不写(自己判断,不影响用户体验就不写)
"""
scroe = 85
if scroe >= 90:
print('A')
# elif scroe >= 80:
# elif scroe >= 80 and scroe < 90:
elif 80 <= scroe < 90:
print('B')
elif scroe >= 70:
print('C')
elif scroe >= 60:
print('D')
else:
print('E')
# ----------------------
if score >= 90:
print('A')
# elif score >= 80 and score < 90:
# elif 90 > score >= 80:
elif 80 <= score < 90:
print('B')
elif 70 <= score < 80:
print('C')
elif 60 <= score < 70:
print('D')
else:
print('E')
嵌套分支:
在单分支结构或者多分支结构中嵌入一个或多个分支结构)
不属于多分支结构
# 练习:判断一个数字是奇数还是偶数,如果是偶数,再判断是不是4的倍数。
num = 12
if num % 2 != 0:
print('%d是奇数' % num)
else:
print('%d是偶数' % num)
if num % 4 == 0:
print('%d是4的倍数' % num)
else:
print('%d不是4的倍数' % num)
# 案例:判断数字是否是偶数,如果是偶数再判断其是否是10的倍数。
num = 20
if num % 2 == 0:
print(f'{num}是偶数')
if num % 10 == 0:
print(f'{num}是10的倍数')
else:
print(f'{num}不是10的倍数')
else:
print(f"{num}是奇数")