Python 环境搭建
- 下载安装
1 | 下载页面:https://www.python.org/downloads/windows/ |
- pip 升级
1 | python2 -m pip install --upgrade pip --force-reinstall |
- 虚拟环境
1 | 在 python3 的环境下创建 |
- 第三方包本地安装
1 | **.whl : |
Python 数据类型
不可变数据类型: Number(数字)、String(字符串)、Tuple(元组)
可变数据类型: List(列表)、Dictionary(字典)、Set(集合)
序列容器: String(字符串)、List(列表)Tuple(元组)
非序列容器:Dictionary(字典)、Set(集合)
数据类型之间的运算规则
- 算术运算符
1 | 常见运算符:+ 、 - 、 * 、/ (/ 在 python2 和 python3 中的作用不同) |
- 赋值运算符
1 | 常见运算符:= 、+= 、-= 、*=、/= (A += B 相当于 A = A + B) |
- 比较运算符
1 | 常见运算符:>, < , >=, <=, ==, != |
- 逻辑运算符
1 | # 逻辑运算符:逻辑与 and, 逻辑或 or, 逻辑非not (and,全真则真; or,全假为假) |
- 数据类型之间运算规则
1 | 总结: |
数据类型转换
前提:可以转换为目标类型
- 转换为 Number 类型
1 | value = '666' |
- 转换为 String 类型
1 | value = 666 |
- 转换为 float 类型
1 | value = 666 # ‘666’呢? |
数字(Number)
- 整数(integer)
- 小数 / 浮点数(float)
[ 常用的数字函数 ]
1 | abs(x) #返回数字的绝对值,如abs(-10) 返回 10 |
字符串(String)
- 字符串是 Python 中最常用的数据类型。我们可以使用引号( ’ 或 “ )来创建字符串
- 字符串切片索引
1 | str = 'Runoob' |
[ Python三引号 ]
Python 三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符
1 | para_str = """这是一个多行字符串的实例 |
列表(List)
- 列表是最常用的 Python 数据类型,它可以作为一个方括号内的逗号分隔值出现,列表的数据项不需要具有相同的类型
- 创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可
- 列表切片索引
[ 常用的列表函数 ]
1 | list.append(obj) #在列表末尾添加新的对象 |
元组(Tuple)
- 元组与列表类似,不同之处在于元组的元素不能修改
字典(Dictionary)
- 字典是另一种可变容器模型,且可存储任意类型对象
- **dict = {key1 : value1, key2 : value2 }:**每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中
- **注意:**键必须是唯一的,但值则不必;值可以取任何数据类型(如字符串,数字或元组),但键必须是不可变的。
[ 访问字典的值 ]
1 | dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'} |
[ 字典键的特性 ]
- 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
1 | dict = {'Name': 'Runoob', 'Age': 7, 'Name': '小菜鸟'} |
- 键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行
1 | dict = {['Name']: 'Runoob', 'Age': 7} |
[ 字典函数 ]
1 | radiansdict.clear() #删除字典内所有元素 |
集合(Set)
- 集合是一个无序的不重复元素序列,可以使用大括号 { } 或者 set() 函数创建集合
- **注意:**创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典
1 | basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'} |
[ 添加元素 ]
- s.add( x ) 将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作
1 | thisset = set(("Google", "Runoob", "Taobao")) |
- s.update( x ) 参数可以是列表,元组,字典等
1 | thisset = set(("Google", "Runoob", "Taobao")) |
[ 移除元素 ]
1 | s.remove( x ) # 将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误 |
[ 集合函数 ]
1 | add() #为集合添加元素 |
Python 输入输出
标准输入输出函数
- print() 标准输出函数
1 | # 换行符 \n, end='\n' |
- input() 标准输入函数,输入的内容是字符串
1 | print('请输入你的姓名:') |
Python 分支语句
if 分支语句
- 比较运算符
1 | == 相等, != 不相等, > 大于, < 小于, >= 大于等于, <= 小于等于 |
- if 语句
1 | if a > b : |
- 多个条件之间的关系
1 | # and(且) ==> 非 0 为真, 0 为假 |
while 语句
1 | """ |
Python 函数操作
1 | # 定义函数: |
数据类型基础操作
字符串(String)
维度:方法的作用,参数,返回值,原数据是否改变
符串的遍历
1 | istr = 'hello' |
字符串的替换
- replace() [ str.replace(‘old’, ‘new’, 替换次数) ]
1 | strEmail = 'zxymaibox@yeah.net' |
字符串查找
- find()
- 返回第一次出现的位置,如果没有则返回 -1
1 | strEmail = 'zxymaibox@yeah.net' |
字符串的切片
1 | # 以 @ 获取前后内容 |
字符串拆分成列表
- split()
- 返回拆分后的列表
1 | # 以 @ 获取前后内容 |
查询某一字符出现的次数
- count()
1 | strEmail = 'zxymaibox@yeah.net' |
判断字符串是否全为字母
- isalpha() [str.isalpha()]
- 返回布尔值
字符串去除两侧空格
- strip()
- 返回新的字符串
列表(List)
1 | list = [10, 20, 30, 40] |
列表的遍历
1 | list = [10, 20, 30, 40] |
列表元素插入
1 | list = [10, 20, 30, 40] |
列表元素删除
- pop() 位置删除,[ 无参数的时候,默认删除最后一个位置的元素 ]
- remove() 值删除, [ 默认删除第一次出现的值 ]
- **clear()**清空列表,
1 | list = [10, 20, 30, 40, 20] |
列表元素查找和修改
- index(oldValue) [ 如果值存在返回位置,不存在会报错 ]
- count(oldValue) [ 查找出现的次数,如果不为 0 ,再使用 index 方法 ]
1 | list = [10, 20, 30, 40] |
列表元素排序
- sort() [默认从小到大, reverse= false ]
- 参数: reverse=True 实现降序排列;
- 逆序: reverse() [ 实现列表的逆序 ]
1 | # 创建一个包含 10 个随机数的列表 |
两个列表元素追加
- extend()
1 | list1 = [1,2,3,4] |
元祖(Tuple)
可以理解为列表,但是他的元素不可修改
- 元组一旦创建不可修改
- 元组只有一个元素时,需要在尾部添加一个逗号
- 元组比列表更节省空间
- 元组是序列式容器支持索引、切片操作
1 | # 定义元组 |
字典(Dictionary)
1 | # 字典的定义,键是唯一的,值可以重复,不支持索引和切片 |
字典元素访问
1 | dict = { |
字典元素删除
1 | person = { |
字典的遍历
1 | person = { |
集合(Set)
Python 文件操作
文件的打开和关闭
- open(文件名, 访问模式) 打开文件 [ 参数: 文件名 , 访问模式]
- 访问模式: r 以只读方式打开文件(默认)
- 访问模式: w 打开文件只用于写入
- 访问模式: a 打开文件用于追加,文件存在,新的内容写入已有内容之后,文件不存在,创建新文件进行写入
- 访问模式: rb 以二进制格式打开文件用于只读,文件指针放在开头
- 访问模式: wb 以二进制格式打开文件用于写入,文件存在,将其覆盖,文件不存在,创建新文件进行写入
- 访问模式: wb 以二进制格式打开文件用于追加,文件存在,新的内容写入已有内容之后,文件不存在,创建新文件进行写入
- close() 关闭文件
pyCharm 文件编码: file encodings: GBK
1 | # 写入文件 |
文件读写
- write() 一次只可以写一行
- writelines() 一次写入多行,以列表形式
- read() 没有参数读取文件所有数据,指定参数(1,2,3… …)读取指定个数的数据
- readline() 一次读取一行
- readlines() 一次读取多行
1 | # 写入文件 |
文件拷贝
1 | # 获取要拷贝的文件名 |
文件和目录操作
1 | import os |