目录
1、注释
单行注释(ctrl+/)
多行注释""" """
2、变量
变量命名基本规则:
(1)变量名不能是系统关键字。
(2)变量名只能由数字、字母、下划线组成,不能以数字开头。
(3)变量名区分大小写。
变量命名规范:
(1)见名知意。
(2)驼峰命名法:
a.大驼峰命名法:变量中每个单词的首字母都大写。(FirstName)
b.小驼峰命名法:变量中从第二个单词开始首字母大写。(firstName)
3、查看系统关键字
from keyword import kwlist print(kwlist)
4、数据类型
查看数据类型:type()
整型(int)、浮点型(float)、布尔(bool)、字符串(str)
列表(list)、元组(tuple)、集合(set)、字典(dict)
print(type(a)) # <class 'int'>
print(type(b))
print(type(c), type(d), type(e), type(f), type(g), type(h))
5、输入与输出
输入--input
输出--print print能够将程序中任意数据打印出来,将数据规范的打印出来,供程序员辨别数据。
print(10, 10 + 100, 10 < 30, '1234')
结束字符串 --- end='\n'(默认,可以不写) \n(换行):转义字符 - 具有特殊含义的字符 \t(制表符tab)
print(10, 10 + 100, 10 < 30, '1234',end='\n')
print(10, 10 + 100, 10 < 30, '1234', end='\t')
print(123)
# 分隔字符串 --- sep=' '(默认,可以不写)
print(10, 10 + 100, 10 < 30, '1234', sep=' ')
print(10, 10 + 100, 10 < 30, '1234', sep='❤️')
sep、end必须放到print的末尾
6、格式化输出
(1)format()方法 - 配合{}向一个文本中任意参数
#注意:format中数据的个数需要和{}的数量保持一致。
print( '{}今年{}岁'.format(name, age))
(2)f-字符串
print(f'{name}今年{age}岁')
(3)千分位符 ,
:, 表示将传进来的数据每隔三位使用,分隔一次
num = 1324567890765436789
1,324,567,890,765,436,789
(4)0.8965 --> 89.85%
b = '{:.2%}'.format(67 / 100)
print(b)
(5)时间
time_ = datetime(2022, 6, 21, 15, 33, 40)
print(time_)
c = '{:%Y-%m-%d %H-%M-%S}'.format(time_)
print(c)
2022-06-21 15:33:40
2022-06-21 15-33-40
7、数学运算符
+(加)、-(减)、*(乘)、/(除)、//(整除)、**(幂运算,浮点型)、%(取余)
逻辑运算符:and(逻辑与运算)、or(逻辑或运算)、not(逻辑非运算) --> 结果均为布尔
比较运算符:
> 、 < 、 ==(等等于) 、 !=(不等于) 、 >= 、 <=
比较大小得到的结果是布尔值
赋值运算符:
先算等号右边,再给等号左边赋值
=、+=、-=、*=、/=、//=、%=、**=
(1)数学运算符
+(加)、-(减)、*(乘)、/(除)、//(整除)、**(幂运算)、%(取余)
print(2 + 3)
print(2 - 3)
print(2 * 3)
print(2 / 3)
//-整除:向小取整,任何除法运算得到的结果均为整数(int)
print(2 // 3)
% - 取余
print(5 % 2)
print(2 % 3)
** - 幂运算涉及到开方结果均为浮点型
print(2 ** 2)
print(4 ** 0.5)
print(4 ** -0.5)
(2)逻辑运算符
and(逻辑与运算)、or(逻辑或运算)、not(逻辑非运算) --> 结果均为布尔值
and:条件1 and 条件2,条件1和条件2都成立时,整体条件成立。反之,条件不成立。
中断:and左边条件不成立时,and右边条件无需再判断。
print(True and True)
print(False and True)
print(False and False)
or:条件1 or 条件2,条件1和条件2至少有一个成立,整体成立。都不成立时,整体才不成立。
中断:or左边条件成立时,or右边条件无需再判断。
print(True or True)
print(False or True)
print(False or False)
# not - 取反,反义词
print(not True)
(3)比较运算符
# > 、 < 、 ==(等等于) 、 !=(不等于) 、 >= 、 <=
# Python中比较大小是同类型数据之间比较大小。
# 比较大小得到的结果是布尔值。
print(3 > 4)
# 问题:为什么python能够比较大小?
# Python使用的编码值叫万国码:unicode,其是ASCII编码的拓展。
# 数字0-9对应的十进制编码值:48-57.
print('A' < 'a')
# A-Z对应的十进制编码:65-90;a-z对应的编码值:97-122。
print(0 != 1)
print(0 == 1)
# >=、<=
print(2 >= 2)
# 判断年份是否是闰年:
year = 2004
result = (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)
print(result)
(4)赋值运算符
# 先算等号右边,再给等号左边赋值
# =、+=、-=、*=、/=、//=、%=、**=
a = 10
a += 5
# a = a + 5
a **= 2
# a = a ** 2
print(a)
a %= 2
# a = a % 2
print(a)
# 复合赋值运算符
a *= a + 3
# a = a * (a + 3)
print(a)
(5)运算符优先级:
a.先算小括号整体。
b.算数运算符:**大于*、/、%、//大于+、-
c.算数元素符 > 比较运算符 > 逻辑运算符 > 赋值运算符
# 练习1:华氏度和摄氏度的转换:C = (F - 32)/1.8 F = 87 C = round((F - 32) / 1.8, 1) # round(参数1, 参数2) --> 参数1等于数值,参数2需要保留的小数位数。 print(f'华氏度{F}等于摄氏度{C}') # 练习2:根据指定的圆的半径,计算圆的周长和面积。 r = 3 pi = 3.14 C = 2 * pi * r S = pi * r ** 2 print(f'半径为{r}的圆的周长为{C},面积为{S}')
8、数据类型转换
(1)布尔值转换
# 所有的数据都可以转换为布尔值(bool)
# bool()
print(bool(0), bool(1), bool(-1))
print(bool(''), bool([]), bool({}), bool(None))
# a.0转换为False,非0全是True
# b.所有的空值对象全是False。
(2)数字转换
# 1.整型(int)
# in()
# # a.布尔值可以转换成整型:False --> 0,True --> 1
# # b.浮点型转整型:向小取整
# # c.去掉引号是一个整数的字符串可以转整型t
print(int(bool(100)))
print(int(0.1)) # --> 0
print(int(.1)) # --> 0
print(int(1.)) # --> 1
# print(int('1.0')) --> invalid literal for int() with base 10: '1.0'
print(int('1'))
# 2.浮点型(float)
# float()
# a.整型转浮点型。
# b.去掉引号是数字的字符串可以转成浮点型。
# c.布尔值可以转浮点型--->False:0.0; True:1.0
print(float(1))
print(float('.9'))
print(float('9.'))
print(float('9.9'))
9、分支结构
from keyword import kwlist
print(kwlist)
(1)单分支结构
# 分支结构关键词:if、else、elif
案例:账号密码登录
username = input('请输入用户名:')
password = input('请输入密码:')
if username == 'admin' and password == '123456':
print('登录成功')
else:
print('登录失败')
单分支结构语法:
if 条件:
代码段1
else:
代码段2
缩进:一般把缩进看做四个空格,一个程序的缩进必须保持一致。
# 练习:判断一个年份是否是闰年?
year = int(input('请输入一个年份:'))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print(f'{year}是闰年')
else:
print(f'{year}是平年')
(2)多分支结构
if year % 4 == 0 and year % 100 != 0:
print(f'{year}是闰年')
elif year % 400 == 0:
print(f'{year}是闰年')
else:
print(f'{year}是平年')
多分支结构语法:
if 条件1:
代码段1
elif 条件2:
代码段2
.....
else:
代码段N
(3)嵌套分支
# 案例:判断一个数字是否是偶数,如果是偶数,在判断其是否是3的倍数。
# 随机模块:random
from random import randint
# randint(a,b) - a<b,randint能够生成[a,b]范围的随机整数
num = randint(0, 100)
print(num)
if num % 2 == 0:
print('偶数')
if num % 3 == 0:
print('是3的倍数')
else:
print('奇数')
嵌套分支语法:
if 条件1:
代码段
if 条件:
....
else:
代码段
(4)三目运算符
# 判断一个人是否成年
age = 17
if age < 18:
print('未成年')
else:
print('成年')
# 三目运算符写法:
result = '成年' if age >= 18 else '未成年'
print(result)
三目运算符语法:
变量 = '结果1' if 条件 else '结果2'
条件成立,结果为结果1,反之为结果2
10.练习题
练习1:输入三条边长,如果能构成三角形就计算周长和面积。
a = float(input('输入三角形边长:'))
b = float(input('输入三角形边长:'))
c = float(input('输入三角形边长:'))
if a + b > c and a + c > b and b + c > a:
# pass:保持结构完整性,不参与程序执行
# pass
# 周长
C = a + b + c
# 面积:海伦公式 -->
# (三角形周长的一半 * (三角形周长的一半 - a) * (三角形周长的一半 - b).....)**0.5
S = (C / 2 * (C / 2 - a) * (C / 2 - b) * (C / 2 - c)) ** 0.5
print(f'三角形的周长为{C},面积为{round(S, 2)}')
else:
print('三条边不能构成三角形')
练习2:百分制成绩转换为等级制成绩。
要求:如果输入的成绩在90分以上(含90分)输出A;80分-90分(不含90分)输出B;
70分-80分(不含80分)输出C;60分-70分(不含70分)输出D;60分以下输出E。
score = 90
if score >= 90:
print('A')
# elif score >= 80 and score < 90:
elif score >= 80:
print('B')
elif score >= 70:
print('C')
elif score >= 60:
print('D')
else:
print('E')
练习3:英制单位英寸和公制单位厘米互换。
注意:厘米=英寸/2.54
num = float(input('请输入一个数值:'))
unit = input('请输入单位:')
if unit == 'cm' or unit == '厘米':
print(f'{num}{unit}={num * 2.54}in')
else:
print(f'{num}{unit}={num / 2.54}cm')