外观
python
1004字约3分钟
python
2020-05-09
用途
- 爬虫
- 统计分析
语法
属性
- 变量
- 变量 a = '',只能使用数字、字母、下划线,字母、下划线可以开头,不能使用函数名、关键字作为变量
- 常量
- PI 全部大写表示常量
基本数据类型
- 数字
- 整数 可执行+ - * /
- 浮点数 3.14 1.23e9
- 十进制 0,1,2....22,23...
- 十六进制 0x为前缀,0-9,a-f 0xff00
- str(num) 数字转换成字符串
- 字符串
- 'ok' 或者 “ok”
- \转义字符 \n换行 \t制表 r''内部字符不转义'''...'''多换行内容
- str.upper() 输出字符串大写
- str.lower() 输出字符串小写
- str.rstrip() 去除空白
- str.title() 首字母大写
- len('aaaa') 字符串长度
- str1+str2 拼接字符串
- 布尔值
- True False
- 空值
- None
- 字节
- b'lalala'
集合
- 列表 -- list(有序,可变)classmates = ['A', 'B', 'C']
- 长度--- len(classmates)
- 索引-- classmates[0] classmates[-1]
- 新增
- classmates.append('D')拼接
- classmates.insert(1, 'a')插入
- 删除
- del classmates[0]
- classmates.pop() pop从末尾开始删除元素
- classmates.pop(index)
- classamtes.remove('name') 根据元素名称对其进行删除
- 修改
- classmates[1] = 'b'
- 多维
- list classmates = ['A', ['B', ['C', 'D']]]
- 排序
- classmates.sort() 按字母顺序排序
- classmates.sort(reverse=True) 按字母顺序反序排序
- sorted(classmates) 暂时按字母排序
- sorted(classmates, reverse=True) 暂时按字母顺序反序排序
- 列表生成
- range(1, 5) 生成1-4四个数字
- list(range(1, 5)) 将1-4四个数字转换成列表
- max(classmates) 取出最大值
- min(classmates) 取出最小值
- sum(classmates) 计算合计
- 列表解析
- p = [num**2 for num in range(1, 11)]
- 切片
- p[3:7]
- 元组
- tuple(有序,不变)t1 = ('A','B')
- classmates = ('A', 'B', 'C') 元素内容不可变
- classmates = ('A',['B', 'C'])元素中内容可变
- 字典 -- dict(无序,指针,可变) d1 =
- 索引 -- d1['Bob'] d1.get('Bob') 'Bob' in d1
- 新增 -- d1['AA'] = 'aa'
- 修改 -- d1['AA'] = 'bb'
- 删除
- del d1['Bob']
- d1.pop('Bob')
- 获取字典中的键 -- d1.keys()
- 获取字典中的值 -- d1.values()
- 组合
- set(无序,不变)s = set([1,2,3])
运算符
- 算法运算符
- 减法 -
- 加法 +
- 乘法 *
- 除法 /
- 取整除法 //
- 取余除法 %
- 平方 **
- 逻辑运算符 == != < > <= >= and or not
流程控制语句
- 条件判断
if <条件判断1>: <执行1> elif <条件判断2>: <执行2> elif <条件判断3>: <执行3> else: <执行4> - 循环
- for循环(已有循环的集合)
- for循环根据缩进判断程序是否在循环体内。
names = ['A', 'B', 'C']; for name in names: print name; print('aaa'); - while循环(已有循环的条件)
sum = 0 n = 100 while n > 0: sum = sum + n n = n-1 print(sum) - break 退出循环
- continue 退出当前循环
- for循环(已有循环的集合)
其他
- 输出print('text')
- 输入input('text'),然后用户手动输入
- 注释符号#注释单行代码 ''' '''或者""""""注释多行代码
- 格式Python大小写敏感
- 编码
- ASCll/UTF-8-->Unicode
- 字符串取编码十进制数 ord(‘A’)
- 十进制编码转字符串chr(65)
- 字符串转字节 'ABC'.encode('ascii') '中'.encode('utf-8')
- 字节转字符串 b‘ABC’.decode('ascii')
- 声明文档编码
!/user/bin/env python3 -*- codin: utf-8 -*- - 格式化
- %? 占位符
- %d 整数
- %s 字符串
- %x 十六进制数
- %% 表示%
- 迭代
- 迭代一切可以迭代的对象
- 生成器generator
- 一边循环一边计算的机制,称为生成器,节省内存空间。
- Python之禅 import this
类库&模块
进程和线程
多线程 全局解释锁 threading
多进程 multiprocessing模块
- 使用 Process
- 通信 Queue
- 进程池 Pool
分布式计算
Hadoop&Mrjob
- 数据保存在硬盘
Spark
- 数据保存在内存中
- RDD
- 弹性分布式数据集
正则表达式 re datetime
时间和日期 time
迭代器模块itertools、enumerate
集合模块collections
框架
OpenCV框架
Django框架
Flask框架
用途
爬虫
数据分析
Python虚拟环境
# 创建python虚拟环境
uv venv --python 3.11
# 激活pyhton虚拟环境
source .venv/bin/activate
# 安装依赖包
uv pip install -r requirements.txtPython版本管理
brew install pyenv
brew install pyenv-virtualenv
pyenv --version
pyenv install 3.12.0
pyenv versions
pyenv local 3.12.0