# 注释
# 单行注释:#号
# 多行注释:三个引号,单引号多引号都可以
# 快捷键:
#ctrl + / ,在要注释的那一行输入这个快捷键就可以令那一行变成注释行,也可以一次选中多行,然后输入快捷键让多行变成注释行
# ctrl + D 快速复制一行代码
# ctrl + x 剪切整行代码
# ctrl + c 复制整行代码
# ctrl + v 粘贴整行代码
# shift + enter 新建一行代码
# table 单行或多行选中缩进
# shift + table 单行或多行选中缩退
# PEP 8
(写完代码总会看见代码下面有一行波浪线,把鼠标放到那个波浪线上会显示这个PEF 8,PEF 8后面的内容就是提示你如何规范书写
表示代码书写规范,这个规范后面的东西就是规范格式,当代码或者注释下面有波浪号时就说明不规范
# 井号的规范就是井号后面空一格再写注释,在代码后面用井号时井号要与代码空两格
# debug调试
可以查看代码的执行过程,也可以排查错误
1.打断点
2.右键debug运行代码
3.点击下一步,查看代码执行的过程
# 变量
内存地址的别名,用来存储数据
# 变量定义: 变量名 = 数据值 变量名要遵循标识符定义规则
# 例:
age = 18 # 定义一个变量age,变量age中存储的数据值是18
name = 'jason' # 定义一个变量name,变量name中存储的数据是'jason',用单引号和双引号都可以
# 使用变量中的值,直接使用变量即可
# 使用print函数打印输出name,age变量中存储的数据值:
print(name) # 输出变量name里存储的数据值
print(age) # 输出变量age里存储的数据值
# 修改变量中的数据值 变量名 = 新的数据值
# 将19这个数据存储到age中:
age = 19 # 给age变量赋予新的值
print(age) # 输出变量age里存储的数据值
# 数据类型
'''
int 整数
float 小数
string 使用引号引起来的内容就是字符串
bool 布尔,取值真或假
容器类型:
列表
元组
字典
'''
# 变量的数据类型由变量中存储的数据去决定,可以使用type()函数得到变量的数据类型,想要进行输出需要使用print() 函数
# 先用type()函数获得数据类型,再用print()函数输出这个数据类型
print(type(age)) # 直接输入type(age).print再按enter就会变成前面这个形式(int类型)
pai = 3.14 # 定义一个变量pai,变量中存储的数据值是3.14
print(type(pai)) # float类型
print(type(name)) # string类型
result = True # 定义一个变量result,变量中存储的数据是True
print(type(result)) # class 'bool'>bool布尔类型
# 标识符由字母、下划线和数字组成,且数字不能开头,区分大小写
# name_1是,_test是
# 2kgh不是, ab!c不是
标识符命名规范:
见名知意
驼峰命名法:
小驼峰式命名法:第一个单词以小写字母开头,后面单词以大写字母开头,如:myName、myLastName
大驼峰式命名法:每一个单词的首字母都采用大写字母,如:FirstName、LastName
还有一种命名法是用下划线来连接所有单词,如:send_buff、user_name
命名不要使用系统中定义好的关键字
import keyword # 导包,keywork是系统中已经定义好的内容,想要使用就需要导入
print(keyword.kwlist) # 查看系统中的关键字
# 输出print()
print('hello') # 会输出hello
print(123) # 会输出123
print('hello', 18) # 会输出hello 18,两者之间使用逗号隔开,逗号后面加个空格是规范
print(1+2) # 可以输出表达式,会输出1+2的结果3
# 格式化输出,格式化占位符(坑位),%s字符串 %d整型 %f小数浮点型
print("我的名字是%s,我的年龄是%d" % (name, age))
height = 170.5 # 定义一个变量height,变量中的存储的数据值是170.5
print("我的身高是%.2f cm" % height) # %f输出小数,默认保留六位小数 %.nf表示保留n位小数
print("及格人数占比为%d%%" % 50) # 输出50%,使用格式化输出的时候,想要输出一个%,需要使用两个%
# Python3.6版本开始支持f-string,占位统一使用{}占位,填充的数据直接写在大括号{}里面
print(f"我的名字是{name},我的年龄是{age},我的身高是{height}")
print(f"我的名字是{name},我的年龄是{age},我的身高是{height:.2f}") # height取小数点后两位
# 转义字符 \n,将\和n组合在一起作为一个字符使用,代表换行
print("one\n two\n three")
# print()函数输出之后,默认会添加一个换行,如果不想要可以去掉
print("hello", end=" ") # 双引号里的即为两个输出之间的字符
print("world")
# 输入input()
# input("用户输入提示信息"),得到用户输入的内容,遇到回车代表输入结束,得到的数据都是字符串类型
passwd = input("请输入密码:") # input()括号中不写内容不报错,但非常不友好,不知道要干嘛,写上输入提示信息更好
print("你输出的密码是%s" % passwd)
print(f"你输出的密码是{passwd}")
# 一行输入多个输入用split()
a, b, c = input("请输入多个值:").split() # 输入one two three
print(a, b, c) # one two three
# 类型转换
将原始数据转换为我们需要的数据类型,不会改变原始数据,会生成一个新的数据
1.转换成int类型 int()
1.1 float类型转换为int类型
pi = 3.14
pi2 = int(3.14)
print(type(pi))
print(type(pi2))
1.2 整数类型的字符串转换为int类型
num0 = "10"
num1 = int(num0)
print(type(num0))
print(type(num1))
2.转换为float类型 float()
2.1 int类型转换为float类型
num2 = 2
num3 = float(num2)
print(type(num2))
print(type(num3))
2.2 将数字类型的字符串转换为float类型
num4 = "10"
num5 = "3.14"
num6 = float(num4)
num7 = float(num5)
print(type(num4))
print(type(num5))
print(type(num6))
print(type(num7))
3.eval() 还原原来的数据类型,去掉字符串中的引号
num8 = eval('100') 100 int
num9 = eval('3.14') 3.14 float
num10 = eval('num9') 3.14 float
num11 = eval('hello') 代码报错,原因是hello变量没有定义,不能使用
练习1
要求:从键盘上录入苹果的价格、重量,输出苹果单价是9.00元/斤,购买了5.00斤,需要支付45.00元
price = float(input("请输入苹果的价格: ")) # str类型转换为浮点型
weight = float(input("请输入苹果的重量: ")) # str类型转换为浮点型
pay = price * weight
print(f"苹果单价{price}元/斤,购买了{weight}斤,需要支付{pay}元")
print("苹果单价是%.2f元/斤,购买了%.2f斤,需要支付%.2f元" % (price, weight, pay))
# 运算符
1.算术运算符:
+,-,*,/
// 除法取整 9//4 = 2
% 除法取余 9%4 = 1
** 指数 2**3 = 8
()括号可以改变优先级
2.赋值运算符:
= 将等号右边的结果赋值给等号左边的变量,左边的变量不能是具体的数字
3.复合赋值运算符:
+= c+=1 ==> c = c + 1
4.比较运算符:结果是bool类型
== 判断是否相等,相等为True,不相等为False
!= , > , < , >= , >=
5.逻辑运算符:
可以连接多个表达式,两个表达式共同的结果决定最终结果
and 逻辑与,连接的条件都为True时结果为True,只要有一个为False则最终结果为False
如果第一个条件为False时就不会判断第二个条件,结果一定为False
or 逻辑或,连接的条件都为False时结果为False,只要有一个为True则最终结果为True
如果第一个条件为True时就不会判断第二个条件,结果一定为True
not 逻辑非,取反,True变为False,False变为True
# 练习:给出一个两位数,求出这个数字的个位数和十位数
num = int(input("请输入一个两位数:"))
a = num % 10
b = num // 10
print(f"个位数是{a}")
print(f"十位数是{b}")