Python Day01变量、判断、模块
一、变量的基本使用
1.1 变量的类型
- 在Python中定义变量是不需要指定类型的(其他很多语言都需要 例如Java)
- 数据类型可以分为 数字型 和 非数字型
- 数字型
- 整型(int)
- 浮点型 (float)
- 布尔型 (bool)
- 真True 非 0 数 – 非零即真
- 假 False 0
- 复数型 (complex)
- 主要用于科学计算,例如:平面场问题、波动问题、电感电容等问题
- 非数字型
- 字符串
- 列表
- 元组
- 字典
== 提示:在 Python 2.x 中,整数 根据保存数值的长度还分为:
-
int(整数)
-
long(长整数)
-
使用 type 函数可以查看一个变量的类型
In [1]: type(name)
1.2 变量的输入
- 所谓 输入,就是 用代码 获取 用户通过 键盘 输入的信息
- 例如:去银行取钱,在 ATM 上输入密码
- 在 Python 中,如果要获取用户在 键盘 上的输入信息,需要使用到 input 函数
1) 关于函数
- 一个 提前准备好的功能(别人或者自己写的代码),可以直接使用,而 不用关心内部的细节
- 目前已经学习过的函数
函数 | 说明 |
---|---|
print(x) | 将 x 输出到控制台 |
type(x) | 查看 x 的变量类型 |
2) input 函数实现键盘输入
- 在 Python 中可以使用 input 函数从键盘等待用户的输入
- 用户输入的 任何内容 Python 都认为是一个 字符串
- 语法如下:
字符串变量 = input("提示信息:")
3) 类型转换函数
函数 | 说明 |
---|---|
int(x) | 将 x 转换为一个整数 |
float(x) | 将 x 转换到一个浮点数 |
- 定义 一个 浮点变量 接收用户输入的同时,就使用 float 函数进行转换
- 两个函数可以嵌套使用,如果没有输入数字,程序会报错,会牵扯到数据转换。
price = float(input("请输入价格:"))
1.3 变量的格式化输入
苹果单价 9.00 元/斤,购买了 5.00 斤,需要支付 45.00 元
- 在 Python 中可以使用 print 函数将信息输出到控制台
- 如果希望输出文字信息的同时,一起输出 数据,就需要使用到 格式化操作符
- % 被称为 格式化操作符,专门用于处理字符串中的格式
- 包含 % 的字符串,被称为 格式化字符串
- % 和不同的 字符 连用,不同类型的数据 需要使用 不同的格式化字符
格式化字符 | 含义 |
---|---|
%s | 字符串 |
%d | 有符号十进制整数,%06d 表示输出的整数显示位数,不足的地方用 0 补全 |
%f | 浮点数 %.02f表示小数点后只显示两位 |
%% | 输出 % |
- 语法格式如下:
print("格式化字符串" % 变量1)
print("格式化字符串" % (变量1, 变量2...))
1)基本练习
需求
- 定义字符串变量 name,输出 我的名字叫 小明,请多多关照!
- 定义整数变量 student_no,输出 我的学号是 000001
- 定义小数 price、weight、money,输出 苹果单价 9.00 元/斤,购买了 5.00 斤,需要支付 45.00 元
- 定义一个小数 scale,输出 数据比例是 10.00%
print("我的名字叫 %s,请多多关照!" % name)
print("我的学号是 %06d" % student_no)
print("苹果单价 %.02f 元/斤,购买 %.02f 斤,需要支付 %.02f 元" % (price, weight, money))
print("数据比例是 %.02f%%" % (scale * 100))
二、判断(if)语句
2.1 if elif else的使用
if 条件1:
条件1满足执行的代码
……
elif 条件2:
条件2满足时,执行的代码
……
elif 条件3:
条件3满足时,执行的代码
……
else:
以上条件都不满足时,执行的代码
……
2.2 if 嵌套
# 定义布尔型变量 has_ticket 表示是否有车票
has_ticket = True
# 定义整数型变量 knife_length 表示刀的长度,单位:厘米
knife_length = 20
# 首先检查是否有车票,如果有,才允许进行 安检
if has_ticket:
print("有车票,可以开始安检...")
# 安检时,需要检查刀的长度,判断是否超过 20 厘米
# 如果超过 20 厘米,提示刀的长度,不允许上车
if knife_length >= 20:
print("不允许携带 %d 厘米长的刀上车" % knife_length)
# 如果不超过 20 厘米,安检通过
else:
print("安检通过,祝您旅途愉快……")
# 如果没有车票,不允许进门
else:
print("大哥,您要先买票啊")
2.3 逻辑运算
- 逻辑运算符 可以把 多个条件 按照 逻辑 进行 连接,变成 更复杂的条件
- Python 中的 逻辑运算符 包括:与 and/或 or/非 not 三种
1) and
条件1 and 条件2
2)or
3)not
三、模块
模块是 Python 程序架构的一个核心概念
-
模块 就好比是 工具包,要想使用这个工具包中的工具,就需要 导入 import 这个模块
-
每一个以扩展名 .py 结尾的 Python 源代码文件都是一个 模块
-
在模块中定义的 全局变量 、 函数 都是模块能够提供给外界直接使用的工具
小结
- 可以在 另外一个文件中 使用 import 导入这个模块
- 导入之后,就可以使用 模块名.变量 / 模块名.函数 的方式,使用这个模块中定义的变量或者函数
Pyc 文件
C 是 compiled 编译过 的意思
操作步骤
- 浏览程序目录会发现一个 pycache 的目录
- 目录下会有一个.pyc 文件,cpython-35 表示 Python 解释器的版本
- 这个 pyc 文件是由 Python 解释器将 模块的源码 转换为 字节码
- Python 这样保存 字节码 是作为一种启动 速度的优化
import 某个模块之后,发现有pyc文件
- Python 这样保存 字节码 是作为一种启动 速度的优化
字节码
- Python 在解释源程序时是分成两个步骤的
- 首先处理源代码,编译 生成一个二进制 字节码
- 再对 字节码 进行处理,才会生成 CPU 能够识别的 机器码
- 有了模块的字节码文件之后,下一次运行程序时,如果在 上次保存字节码之后 没有修改过源代码,Python 将会加载 .pyc 文件并跳过编译这个步骤
- 当 Python 重编译时,它会自动检查源文件和字节码文件的时间戳
- 如果你又修改了源代码,下次程序运行时,字节码将自动重新创建
模块是 Python 程序架构的一个核心概念
下一章节:高级变量类型及进阶