目录
一、变量
1.1 变量的定义
>在Python中每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
>等号(=)用来给变量赋值。=左边是一个变量名。=右边是存储在变量中的值。
变量名 = 值
>变量定义之后,后续就可以直接使用了。
>使用交互式方式(ipython),如果要查看变量的内容,直接输入变量名即可,不需要使用print函数。
>使用解释器执行,如果要输出变量的内容,必须要使用print函数。
实例1:
# 1.定义一个变量记录QQ号码
qq_number = "1234567"
# 2.定义一个变量记录QQ密码
qq_password = "123"
#在程序中,如果要输出变量的内容,需要使用print函数
print(qq_number)
print(qq_password)
1234567
123
实例2:超市买苹果
# 定义苹果价格变量
price = 8.5
# 定义购买重量
weight = 7.5
# 计算金额
money = price * weight
print(money)
63.75
# 定义苹果价格变量
price = 8.5
# 定义购买重量
weight = 7.5
# 计算金额
money = price * weight
#买苹果返回5元
money = money -5
print(money)
58.75
1.2 变量的类型
>在内存中创建一个变量,会包括:
变量的名称、变量保存的数据、变量存储数据的类型、变量的地址(标示)
实例1:个人信息
"""
定义保存小明的个人信息
姓名:小明
年龄:18岁
性别:是男生
身高:1.75米
体重:75.0公斤
"""
name = "小明"
age = 18
gender = True
height = 1.75
weight = 75.0
>在Python中,定义变量时是不需要指定变量的类型,在运行时,Python解释器会根据赋值语句等号右侧的数据自动推导出变量中保存数据的准确类型。
>数据类型分为数字型和非数字型
(1)数字型
整型(int)、浮点型(float)、布尔型(bool)、复数型(complex,主要用于科学计算)
(2)非数字型
字符串、列表 、元组、字典
>使用type函数可以查看一个变量的类型。
1.3 不同类型变量之间的计算
(1)数字型变量之间可以直接计算。
>在Python中,两个数字型变量时可以直接进行算数运算的。
>如果变量是bool型,在计算时:True对应的数字是1;False对应的数字是0。
(2)字符串变量之间使用“+”拼接字符串。
>在Python中,字符串之间可以使用“+”拼接生成新的字符串
(3)字符串变量可以和整数使用“*”重复拼接相同的字符串。
(4)数字型变量和字符串之间不能进行其他计算。
1.4 变量的输入
>所谓输入,就是用代码获取用户通过键盘输入的信息。在Python中,如果要获取用户在键盘上的输入信息,需要使用到input函数。
(1)input函数实现键盘输入
语法如下:
字符串 = input("提示信息:")
实例1:
password = input("请输入银行卡号码:")
print(password)
请输入银行卡号码:123456
123456
(2)类型转换函数
>int(x) 将x转换为一个整数;
>float(x) 将x转换为一个浮点数;
实例1:买苹果增强版
>两个字符串变量之间是不能直接用乘法的。
"""
需求:
1.收银员输入苹果的价格,单位:元/斤
2.收银员输入用户购买苹果的重量,单位:斤
3.计算并且输出付款金额
"""
# 输入苹果单价
price_str = input("请输入苹果的单价:")
# 输入购买苹果重量
weight_str = input("请输入苹果重量:")
# 转换为数字型
price = float(price_str)
weight = float(weight_str)
# 计算总金额
money = price * weight
print(money)
请输入苹果的单价:5.5
请输入苹果重量:2
11.0
实例2:买苹果改进版
>定义一个浮点变量接收用户输入的同时,就使用float函数进行转换。
>改进后的好处:节约空间,只需要为一个变量分配空间。
# 输入苹果的单价
price = float(input("输入苹果的单价:"))
# 输入苹果的单价
weight = float(input("输入苹果的重量:"))
#计算金额
money = price * weight
print(money)
输入苹果的单价:3.2
输入苹果的重量:10
32.0
1.5 变量的格式化输出
>在Python中可以使用print函数将信息输出到控制台。如果希望输出文字信息的同时一起输出数据,就需要用到格式化操作符%。
>%被称为格式化操作符,专门用于处理字符串中的格式。包含%的字符串被称为格式化字符串。%和不同的字符连用,不同类型的数据需要使用不同的格式化字符。
>语法格式:
print("格式化字符串" % 变量1)
print("格式化字符串" % (变量1,变量2...))
实例1:
# 定义字符串变量name,输出 我的名字叫小明,请多多关照!
name = "小明"
print("我的名字叫 %s,请多多关照!" % name)
# 定义整数变量student_no,输出 我的学号是000001
student_no = 1
print("我的学号是 %06d" % student_no)
# 定义小数price、weight、money,输出 苹果单价9.00元/斤,购买了5.00斤,需要支付45.00元
price = 9
weight = 5
money = price *weight
print("苹果单价 %.2f 元/斤,购买了 %.2f 斤,需要支付 %.2f 元" % (price,weight,money))
# 定义一个小数scale,输出 数据比例是10.00%
scale = 0.1*100
print("数据比例是 %.2f%%" % scale)
我的名字叫 小明,请多多关照!
我的学号是 000001
苹果单价 9.00 元/斤,购买了 5.00 斤,需要支付 45.00 元
数据比例是 10.00%
1.6 变量的命名
(1)标识符
标识符就是程序员定义的变量名、函数名。
>标识符可以由字母、下划线和数字组成
>不能以数字开头
>不能与关键字重名
(2)关键字
>关键字就是在Python内部已经使用的标识符。
>关键字具有特殊的功能和含义。
>开发者不允许定义和关键字相同的名字的标识符。
通过以下命令可以查看Python中的关键字:
import keyword
print(keyword.kwlist)
1.7 变量的命名规则
>Python中的标识符是区分大小写的
>在Python中,如果变量名需要由两个或多个单词组成时,可以按照以下方式命名:
①每个单词都使用小写字母
②单词与单词之间使用_下划线连接
③例如:first_name、last_name、qq_number、qq_password
>驼峰命名法
当变量名是有两个或多个单词组成时,还可以利用驼峰命名法来命名。
(1)小驼峰命名法
第一个单词以小写字母开始,后续单词的首字母大写。例如:firstName、lastName
(2)大驼峰命名法
每一个单词的首字母都大写。例如:FirstName、LastName、Came;lCase
二、if语句
2.1 基本语法
if 要判断的条件:
条件成立时,要做的事情
......
>代码的缩进为一个Tab建或者4个空格。(建议使用空格)
>if语句以及缩进部分是一个完整的代码块
2.2判断语句实例
"""
需求:
1.定义一个整数变量记录年龄
2.判断是否满18岁
3.如果满18岁,允许进网吧嗨皮
"""
# 定义年龄
age = 19
#判断
if age >=18:
print("可以进网吧嗨皮")
可以进网吧嗨皮
2.3比较运算符
2.4 else处理条件不满足的情况
>if和else语句以及各自的缩进部分共同是一个完整的代码块。
格式:
if 要判断的条件:
条件成立时,要做的事情
......
else:
条件不成立时,要做的事情
......
案例1:判断年龄改进
# 输入用户年龄
age = int(input("请输入年龄:"))
# 判断是否满18岁
if age >= 18:
#如果满18岁,允许进网吧嗨皮
print("你已经成年,欢迎来网吧嗨皮")
else:
# 如果未满18岁,提示回家写作业
print("你还没成年,请回家写作业吧")
请输入年龄:20
你已经成年,欢迎来网吧嗨皮
请输入年龄:14
你还没成年,请回家写作业吧
2.5 逻辑运算
>在程序开发中,通常在判断条件时,会需要同时判断多个条件.逻辑运算符可以把多个条件按照逻辑进行连接,变成更复杂的条件。Python中 的逻辑运算符包括:与(and)、或(or)、非(not)三种。
>and
条件1 and 条件2
①与/并且。
②两个条件同时满足,返回True。
③只要有一个不满足,就返回False。
>or
条件1 or 条件2
①或/或者。
②两个条件只要有一个满足,返回True。
③两个条件都不满足,返回False。
>not
not 条件
①非/不是
实例1:
# 定义一个整数变量age,编写代码判断年龄是否正常
age =12
#要求人的年龄在0~120
if age >=0 and age <=120:
print("年龄正确")
else:
print("年龄不正确")
# 定义两个整数变量Python_sorce、c_score,编写代码判断成绩
python_score = 65
c_score = 50
# 要求只要有一门成绩 > 60 分就算及格
if python_score >60 or c_score >60:
print("考试通过")
else:
print("考试失败,继续努力")
# 定义一个布尔型变量 is_employee,编写代码【判断是否是本公司员工
is_employee = False
if not is_employee:
print("非本公司人员,请勿入内")
>在开发中,通常希望某个条件不满足时,执行一些代码,可以使用not。另外,如果需要拼接复杂的逻辑计算条件,同样也有可能使用到not。
2.6 elif
>在开发中,使用if可以判断条件;使用else可以处理条件不成立的情况;但是,如果希望再增加一些条件,条件不同,需要执行的代码也不同时,就可以使用elif
语法如下:
if 条件1:
条件1满足时,执行的代码
......
elif 条件2:
条件2满足时,执行的代码
......
elif 条件3:
条件3满足时,执行的代码
......
else:
以上条件都不满足时,执行的代码
>elif 和else都必须和if联合使用,而不能单独使用
>可以将if、elif、else以及各自缩进的代码,看成一个完整的代码块。
实例:
# 定义holiday_name字符串变量记录节日名称
holiday_name = "平安夜"
# 如果是情人节应该买玫瑰/看电影
if holiday_name =="情人节":
print("买玫瑰")
print("看电影")
# 如果是平安夜应该买苹果/吃大餐
elif holiday_name == "平安夜":
print("买苹果")
print("吃大餐")
# 如果是生日应该买蛋糕
elif holiday_name == "生日":
print("买蛋糕")
# 其他的日子每天都是节日啊。。。。。
else:
print("每天都是节日啊.....")
买苹果
吃大餐
2.7 if的嵌套
>elif的应用场景是:同时判断多个条件,所有的条件是平级的;
>在开发中,使用if进行条件判断,如果希望在条件成立的执行语句中再增加条件判断,就可以使用if的嵌套;
>if的嵌套的应用场景就是:在之前条件满足的前提下,再增加额外的判断。if的嵌套的语法格式,处理缩进之外和之前的没有区别。
实例1:火车站安检
# 定义布尔型变量has_ticket表示是否有车票
has_ticket = True
# 定义整型变量kinfe_length表示刀的长度,单位:厘米
knife_length = 30
# 首先检查是否有车票,如果有,才允许进行安检
if has_ticket:
print("车票检查通过,准备开始安检")
# 安检时,需要检查刀的长度,判断是否超过20厘米
if knife_length >20:
# 如果超过20厘米,提示刀的长度,不允许上车
print("您携带的刀太长了,有%d公分长!" % knife_length)
print("不允许上车")
# 如果不超过20厘米,安检通过
else:
print("安检已经通过,祝您旅途愉快!")
# 如果没有车票,不允许进门
else:
print("大哥,请先买票!")
车票检查通过,准备开始安检
您携带的刀太长了,有30公分长!
不允许上车
实例2:石头剪刀布
# 导入随机工具包
import random
# 从控制台输入要出的拳——石头(1)/剪刀(2)/布(3)
player = int(input("请输入您要出的拳 石头(1)/剪刀(2)/布(3):"))
# 电脑随机出拳
computer = random.randint(1,3)
print("玩家选择的是 %d VS 电脑选择的是 %d" %(player,computer))
# 比较胜负
if((player == 1 and computer == 2)
or (player == 2 and computer == 3)
or (player == 3 and computer == 1)):
print("欧耶,电脑弱爆了!")
# 平局
elif player == computer:
print("真是心有灵犀啊,再来一盘")
# 其他的情况就是电脑获胜
else:
print("不服气,我们决战到天亮!")
请输入您要出的拳 石头(1)/剪刀(2)/布(3):1
玩家选择的是 1 VS 电脑选择的是 2
欧耶,电脑弱爆了!