目录
一、Python 介绍(了解)
作者: 吉多·范罗苏姆(Guido van Rossum) ⻳叔 1989 年开始书写, 1991年诞⽣
1、问什么学习 Python?
- 简单, 易学, 免费, 开源, 适⽤⼈群⼴泛
- 应⽤领域⼴泛(⾃动化测试)
2、Python 的版本
- Python2 (2.x 2.7)
- Python3(主流使⽤的版本, 3.6 之后的版本(即⼤于等于 3.6))
二、编程语⾔的分类
计算机只认识 ⼆进制(0 和 1).
编程语⾔是⼈和计算机沟通的语⾔.
编程语⾔分类: 编译型语⾔, 解释型语⾔
三、Python 环境配置
python 解释器(必须有): 将我们书写的 Python 代码转换为⼆进制, 建议 版本 >= 3.6
pycharm(选装): 是 Python 中最好⽤的IDE(集成开发环境)之 ⼀, 是⽤来书写代码运⾏代码,调试代码的
其他IDE:sublime、vscode、 idle 、记事本 ...
1、Python 解释器的安装
1. 双击安装包
2. 选择 安装⽅式(可以默认安装, 可以⾃定义), 不要忘了 勾选 添加path环境变量
path 环境变量: 将⼀个软件或者程序添加到 path 环境变量之 后, 就可以使⽤终端(cmd) 在任意路径下使⽤ 这个软件(如果没 有环境变量,只能在安装⽬录使⽤)
Python 安装之后, 在桌⾯中没有快捷⽅式,也不需要, 是在 pycharm 中使⽤或者在cmd 中使⽤
2、pycharm 的配置安装
pycharm 有两个版本, ⼀个是专业版(收费的), ⼀个社区版(免 费使⽤)
3、安装路径的选择(建议)
1. 可以直接使⽤默认的路径
2. ⾃定义路径
2.1 不建议使⽤中⽂
2.2 可以在某个盘的根⽬录中创建⼀个⽬录 tools, 可以将所以 学习阶段的环境都安装在 tools ⽬录
2.3 Python 安装, tools ⽬录中创建 Python36 ⽬录,pycharm 安装,创建 pycharm 的⽬录, 其他软件的安装,都创建 ⼀个⽬录
3. 严禁安装之后,⾃⼰剪切移动⽬录
四、pycharm
1、使⽤ pycharm 书写代码
pycharm 是书写代码的软件,还能运⾏代码, 运⾏代码的前提是在 pycharm 软件中配置了解释器.
pycharm 组织代码的⽅式是 项⽬(project), 简单的理解为⼀ 个⽬录, ⽬录中可以放很多的代码
建议: 每天的代码作为⼀个项⽬,每次在创建项⽬的时候, 需要保证这个⽬录是⼀个空⽬录
1. 双击打开 pycharm
2. 创建新项⽬
3. 配置项⽬的路径和解释器
4. 创建代码⽂件书写代码
1. 将来在⼯作中, 代码的⽂件名字不要使⽤中⽂,但⽬前学习阶段,我会使⽤中⽂
2. Python ⽂件的后缀是 .py
3. 代码要顶格书写
4. 代码中的标点符号要使⽤英⽂状态的标点
5. 运⾏代码⽂件
6. 查看运⾏结果
2、pycharm 常⻅的设置
1. 设置背景⾊
2. 设置代码的字体和⼤⼩
3. 右键菜单的使⽤
4. 设置解释器
3、Python 代码中三种波浪线和 PEP8
1. 红⾊
红⾊波浪线是代码的错误, 必须处理,代码才能执⾏
注意: 在后续课程中,某些代码没有写完,也会出现红⾊波浪线
2. 灰⾊
灰⾊波浪线, 不会影响代码的正常执⾏, 基本上所有的灰⾊波 浪线都是 PEP8 造成的
PEP8: 是 Python 代码的书写规范, 如果不按照这个规范书 写,会给灰⾊波浪线提示,建议代码的书写按照 PEP8 的规范书 写
1. 可以书写代码的时候注意 PEP8 的代码规范
2. 可以在书写完成之后,使⽤快捷键 Ctrl + Alt + L 来按照 PEP8 的规范⾃动格式化代码
3. 绿⾊
绿⾊波浪线, 不影响代码的正常执⾏, 在引号中, 认为你书写的内容不是⼀个单词,就会给你绿⾊提示.
4、快捷键(⼩操作)
添加引号括号 : 可以直接选中要添加引号或者括号的内容, 书写即可
撤销 : Ctrl + Z
删除⼀⾏: Ctrl + x
复制粘贴⼀⾏: Ctrl + d
快速在代码下⽅, 新建⼀⾏: shift + 回⻋
五、print 函数的简单使⽤
print("hello world!")
print()
是 Python 中⾃带的函数,作⽤在控制台中输出 括号
中的内容 后续看到这个函数就是输出打印 数据的, 或者想要在控制台中显 示某个内容,就要使⽤ print() 函数
print()
主要在学习阶段使⽤, 便于我们确认结果的正确性
在实际⼯作的代码中,基本不会使⽤ print,会使⽤其他的内容 代替(⽇志模块)
print() 函数中是什么内容,就会显示什么内容, ⾥边的⽂字信
息 可以使⽤单引号,也可以使⽤ 双引号
六、注释
1. 注释是对代码解释说明的⽂字, 不会执⾏, 可以增加代码的可读性
2. Python 中的注释分为两种, 单⾏注释和多⾏注释
1、单⾏注释
使⽤ 井号空格进⾏注释(单独⼀个# 也可以)
快捷键 Ctrl(cmd) + /
1. 可以选中多⾏,使⽤快捷键
2. 如果代码已经添加注释, 再次使⽤快捷键,会取消注释
2、多⾏注释
多⾏注释中的内容 可以换⾏书写
多⾏注释可以使⽤ 3 对 双引号或者 3 对 单引号 , 被三对 引号包括的内容就是注释的内容
三对引号的注释,⼀般写在⽂件的最开始部分,或者⽂档注释 处(函数)
#这是单⾏注释,代码不会执⾏
# 以井号空格开始的注释
print('hello world')
"""
使⽤三对双引号包括起来的内容 ,也是注释,
可以换⾏, 不会执⾏
"""
''' 使⽤三对单引号包括起来的内容 ,也是注释,
可以换⾏, 不会执⾏
'''
print('end')
七、在 cmd 终端中运⾏ Python 代码
python 代码⽂件的名字
八、变量
作⽤: 是⽤来存储数据的(在程序代码中出现的数据,想要保存下 来使⽤, 就必须使⽤变量), 如: 测试数据, ⽤户名, 密码, 验 证
注意事项: 变量必须先定义(保存数据)后使⽤(取出数据).
1、定义变量
#变量名 = 数据值
# ⽐如:
# 可以理解为 是将数据值保存到变量中
name = '张三' # 定义⼀个变量 name, 存储的数据值是 张三
2、使⽤变量
# 变量定义之后, 想要是使⽤变量中的数据, 直接使⽤变量名即可
# 定义⼀个变量,存储你的名字
name = '张三'
# 使⽤变量打印名字, 不需要加引号
print(name) # 张三
# 如果给 name 添加引号, 添加引号之后,输出的就是引号中的内容
print('name') # name
3、变量名的命名规范
起名字的规范, 标识符的规则
1. 必须由字⺟ 数字和下划线组成, 并且不能以数字开头
2. 不能使⽤ Python 中的关键字作为变量名
关键字: Python ⾃带的已经使⽤的标识符,具有特殊的作⽤
3. 区分⼤⼩写
4. 建议性的命名
驼峰命名法
⼤驼峰: 每个单词的⾸字⺟⼤写 MyName
⼩驼峰: 第⼀个单词的⾸字⺟⼩写,其余单词的⾸字⺟ ⼤写 myName
下划线连接法: 每个单词之间使⽤下划线连接
Python 中的变量的定义使⽤的是 下划线连接my_name
⻅名知意:
name 姓名、age 年龄、height 身⾼ ....
4、数据类型
将⽣活常⻅的数据划分为不同的类型, 因为不同的类型可以进⾏ 的操作是不⼀样的, 数字需要加减乘除 , ⽂字不需要 ...
4.1、数字类型
整型 ( int ) , 就是整数 , 即不带⼩数点的数
浮点型( float ), 就是⼩数
布尔类型( bool ), 只有两个值 真 True 1、 假 False 0
注意:True 和 False 都是 Python 中的关键字, 注意⼤⼩ 写,不要写错了
复数类型:3 + 4i, 不会⽤的
4.2、⾮数字类型
字符串: ( str) 使⽤引号引起来的就是字符串
列表: ( list ) [1, 2, 3, 4]
元组:( tuple ) (1, 2, 4, 4)
字典: ( dict ) {'name': '⼩明', 'age': 18}
4.3、type() 函数
可以获取变量的数据类型
type(变量)
想要将这个变量的类型在控制台显示, 需要使⽤ print 输出
print(type(变量))
# 整型 <class 'int'>
age = 18
print(type(age)) # type(age).print 回⻋
# 浮点型 <class 'float'>
height = 1.71
print(type(height))
# 布尔类型 <class 'bool'>
isMen = True
print(type(isMen))
# 字符串类型, 使⽤引号引起来的就是字符串 <class 'str'>
name = '⼩明'
print(type(name))
num = '18'
print(type(num))
num = 'True'
print(type(num))# str
4.4、类型转换
根据代码的需要, 将⼀种数据类型转换另⼀种数据类型(将 input 输⼊得到的数字转换为整型)
语法:
变量 = 要转换为的类型(原数据)
1. 数据原来是什么类型
2. 你要转换为什么类型
注意: 数据类型转换,不会改变原来的数据的类型, 会⽣成⼀个 新的数据类型
int() 将其他类型转换为 int 类型
1. 可以将 float 类型的数字转换为 整型
2. 可以将 整数类型的字符串 转换为 整型 3 123
float() 将其他类型转换为 浮点型
1. 可以将 int 类型转换为 浮点型 float(3) ---> 3.0
2. 可以将 数字类型的字符串(整数类型和⼩数类型) 转换为 浮点型
str() 将其他类型转换为 字符串类型
任何类型都可以使⽤ str() 将其转换为字符串, ⼀般都是直 接加上引号
九、输⼊与输出
1、输入
获取⽤户使⽤键盘录⼊的内容
使⽤的函数是 input()
变量 = input('提示的信息')
1. 代码从上到下执⾏, 遇到 input 函数之后,会暂停执⾏,等待⽤户的输⼊, 如果不输⼊会⼀直等待
2. 在输⼊的过程中,遇到回⻋,代表本次输⼊结束
3. 会将你输⼊的内容 保存到等号左边的变量中, 并且 变量的数 据类型 ⼀定是 str
result = input('请输⼊内容:')
print(type(result), result)
# 打印数据类型和 数据值
# 1. 直接回⻋ <class 'str'>
# 2. ⼩明 <class 'str'> ⼩明
# 3. 18 <class 'str'> 18
# 4. True <class 'str'> True
2、输出
输出使⽤的函数是 print() 函数,作⽤,将程序中的数据或者结果打印到控制台(屏幕)
print('hello world') name = '⼩明' print(name) age = 18 print(name, age) # 可以使⽤逗号输出多个内容
3、格式化输出
在字符串中指定的位置,输出变量中存储的值.
1. 在需要使⽤变量的地⽅,使⽤特殊符号占位
2. 使⽤变量填充占位的数据
3.1、% 格式化输出占位符号
%d 占位, 填充 整型数据 digit
%f 占位. 填充 浮点型数据 float
%s 占位, 填充 字符串数据 string
注意: 其实 %s 的占位符,可以填充任意类型的数据
# 定义变量 姓名 年龄 身⾼
name = '⼩明' # 可以使⽤ input 输⼊
age = 18 # 可以使⽤ input 输⼊
height = 1.71 # 可以使⽤ input 输⼊
# 要求按照以下个数输出个⼈信息
# 我的名字是 xx, 年龄是 xx, 身⾼是 xx m
# 使⽤格式化输出实现
# print('我的名字是 name, 年龄是 age, 身⾼是 height m')
print('我的名字是 %s, 年龄是 %d, 身⾼是 %f m' % (name, age, height))
# ⼩数默认显示 6 位, 如果想要指定显示⼩数点后⼏位,
# %.nf , n 需要换成具体的整数数字,即保留⼩数的位置
print('我的名字是 %s, 年龄是 %d, 身⾼是 %.2f m' % (name, age, height)) # 两位⼩数
print('我的名字是 %s, 年龄是 %d, 身⾼是 %.1f m' % (name, age, height)) # ⼀位⼩数
# 补充
stu_num = 1 # 学号
# 我的学号是 000001
print('我的学号是%d' % stu_num)
# %0nd n 需要换成具体的整数数字, 表示整数⼀共占⼏位
print('我的学号是%06d' % stu_num) # 000001
num = 90 # 考试的及格率
# 某次考试的及格率为 90%, 如果在 格式化中需要显示%,
# 在书写的使⽤ 需要使⽤ 两个 %% 才可以
print('某次考试的及格率为 %d%%' % num)
3.2、F-string( f字符串的格式化⽅法)
f-string 格式化的⽅法,想要使⽤ ,Python 的版本 >= 3.6
1. 需要在字符串的前边加上 f"" 或者 F""
2. 占位符号统⼀变为 {}
3. 需要填充的变量写在 {} 中
# 定义变量 姓名 年龄 身⾼
name = '⼩明' # 可以使⽤ input 输⼊
age = 18 # 可以使⽤ input 输⼊
height = 1.71 # 可以使⽤ input 输⼊
stu_num = 1 # 学号
num = 90 # 及格率
# print('我的名字是 xx, 年龄是 xx, 身⾼是 xx m, 学号 xx, 本次考试的及格率为 xx%')
print(f'我的名字是 {name}, 年龄是 {age}, 身⾼是 {height} m, 学号 {stu_num}, 本次考试的及格率为 {num}%')
# ⼀般不会有这样的需求
print(f'我的名字是 {name}, 年龄是 {age}, 身⾼是 {height:.3f} m, 学号 {stu_num:06d}, 本次考试的及格 率为 {num}%')
# 在字符串中想要输出换⾏ \n (转义字符)
print(f'我的名字是 {name}, 年龄是 {age}, 身⾼是 {height:.3f} m, 学号 {stu_num:06d},\n本次考试的及格 率为 {num}%')
3.3、字符串.format() 可以在任意版本中使用
1. 在需要使用 变量的地方使用 {} 占位
2. '{}, {}, ...'.format(变量, 变量, ...)
# 定义变量 姓名 年龄 身高 name = '小明' # 可以使用 input 输入 age = 18 # 可以使用 input 输入 height = 1.71 # 可以使用 input 输入 stu_num = 1 # 学号 num = 90 # 及格率 # print('我的名字是 xx, 年龄是 xx, 身高是 xx m, 学号 xx, 本次考试的及格率为 xx%') print(f'我的名字是 {name}, 年龄是 {age}, 身高是 {height} m, 学号 {stu_num}, 本次考试的及格率为 {num}%') # 一般不会有这样的需求 小数位保留 print(f'我的名字是 {name}, 年龄是 {age}, 身高是 {height:.3f} m, 学号 {stu_num:06d}, 本次考试 的及格率为 {num}%') # 字符串.format() print('我的名字是 {}, 年龄是 {}, 身高是 {} m, 学号 {}, 本次考试的及格率为 {}%'.format(name, age, height, stu_num, num)) print('我的名字是 {}, 年龄是 {}, 身高是 {:.3f} m, 学号 {:06d}, 本次考试的及格率为 {}%'.format(name, age, height, stu_num, num))
十、运算符
1、算术运算符
优先级: 先算谁,再算谁 (不确定优先级,就使⽤ ()) () > ** > * / // % > + -
2、⽐较运算符
⽐较运算符得到都是 bool 类型
> < >= <=
== 判断两个数是否相等, 相等为 True, 不相等为 False
!= 判断两个数是否不相等, 不相等为 True, 相等为 False
3、逻辑运算符
逻辑运算符,可以连接多个条件, 在判断和循环中使用
1. and(逻辑与): 和,并且。and 连接两个条件,都必须为 True, 整体结果才为 True, 即一假为假 (当第一个条件为 False 的时候,第二个条件就不再判断)
2. or(逻辑或): 或者。 or 连接的两个条件, 只要有一个条件为 True , 整体结果就为 True, 即 一真为真 (当第 一个条件为 True的时候,第二个条件就不再判断)
3. not(逻辑非):取反。 not 后边的条件, 如果本来是 True,变为 False, 本来是 False,变为 True
4、赋值运算符
赋值运算符 =, 作用就是将等号右边的值保存到等号左边的变量中
复合赋值运算符(将算术运算符和赋值运算符进行结合) +=、-= 、*= 、/= 、//= 、%=
例如:
a += b ===> a = a + b
a -= b ===> a = a - b
a *= b ===> a = a * b
a /= b ===> a = a / b
a //= b ===> a = a // b
a %= b ===> a = a % b
5、运算符优先级
小括号具有最高优先级。不需要刻意去记忆优先级,因为可以使用 () 改变优先级
后续更新详细优先级说明