* Python中的变量不需要类型声明
* 变量在内存中创建, 包含变量标识,名称和数据等
* 变量在使用前都必须赋值,赋值以后该变量才会被创建
## 标准的数据类型
* `Number` 数字
* `String` 字符串
* `List` 列表
* `Tuple` 元组
* `Dictionary` 字典
### `Number` 数字
Python支持四种不同的数字类型
1. int 有符号整型
2. long 长整型
3. float 浮点型
4. complex 复数
```
# 数值类型
iNumber = 10
fNumber = 10.0
cNumber = 6 +5j # 复数
print(iNumber,fNumber,cNumber)
```
数字类型存储数值, 是不可改变的数据类型,也就是改变数字数据类型会分配一个新的对象。
使用 del 语句可以删除一些对象的引用
```
del var1[,var2[,var3[....,varN]]]
```
## 变量赋值
* 等号`=` 用来给变量赋值
* 左边变量名,右边是存储在变量中的值
```
# 变量赋值
iCount = 100 # 整型
fCount = 100.0 # 浮点型
str = "Oscar" # 字符串
```
## 多个变量赋值
同时为多个变量赋值:
1. 方式1
```
a = b = c =1
```
这三个变量分配到相同的内存空间
2. 方式2
```
a,b,c = 1,2,"Oscar" #多个对象指定给多个变量
print(a,b,c)
```
## Python字符串
Python字符串有2种取值顺序
* 从左到右索引默认0开始的,最大范围是字符串长度少1
* 从右到左索引默认-1开始的,最大范围是字符串开头
| o | s | c | a | r |
| --- | --- |--- |--- |--- |
| 0 | 1 |2 | 3 | 4 |
| -5 | -4 | -3 | -2 | -1 |
* 加号`+` 是字符串连接
* `*` 号是字符串重复
```
# 字符串连接
str = "oscar"
print(str+str) #oscaroscar
# 字符串连接
str = "oscar"
print(str*3) #oscaroscaroscar
```
### 字符串截取
可以[头下标:尾下标] 来截取相应的字符,获取的子字符串包含头下标的字符,但不包含尾下标的字符。
```
# 字符串截取
str = "oscar"
print(str[0:3]) # osc
print(str[-5:-2]) # osc
```
还可以接收第3个参数, 表示步长 ,[头下标:尾下标:步长]
步长的意思的每隔几个字符截取一个字符。
```
print(str[0:4:2]) # oc , 步长为2,每两个字符取一个
```
## Python 列表
* 列表使用 `[]` 标识。
* 列表的截取也可以使用 `[头下标:尾下标] `
* `+` 和 `*` 在列表也使用, 分别表示连接和重复。
```
# 列表
list = ['o','s','c','a','r']
print(list) #['o','s','c','a','r'] 输入列表
print(list[0]) # 第一个元素 o
print(list[1:3]) # 第二个到第三个元素 ['s', 'c']
print(list[2:]) # 从第三个元素开始输出 ['c', 'a', 'r']
print(list[::-1]) # 反转列表 ['r', 'a', 'c', 's', 'o']
print(list+list) # 组合的列表 ['o', 's', 'c', 'a', 'r', 'o', 's', 'c', 'a', 'r']
print(list*2) # 输出列表两次 ['o', 's', 'c', 'a', 'r', 'o', 's', 'c', 'a', 'r']
```
## Python元组
元组类似于list , 使用 `()` 标识, 内部元素用逗号分隔,
元组不能二次赋值,相当于只读列表
元组的取元素、截取,连接、重复等和List 是相同的。
```
# tuple
tuple = ('o','s','c','a','r')
tuple[0]="p" # 此用法不合法, 元组不能修改值
```
## Python 字典
* 列表是有序的对象集合,字典是无序的对象集合
* 字典中的值通过键来存取
* 字典使用 `{}` 标识, 字典由索引 (key )和value组成
```
# Dictionary 字典
dict = {'name': 'Oscar', 'age': 36, 'city': 'HF'}
dict['name'] = 'Silver' # 修改字典的值
dict['gender'] = 'Male' # 添加新的键值对
print(dict.keys) # 输出字典的所有键
print(dict.values) # 输出字典的所有值
```
## 数据类型转换
只需要将数据类型作为函数名即可:
*` int(x [,base])` 将x转换为一个整数
* `long(x [,base] )`将x转换为一个长整数
* `float(x)`将x转换到一个浮点数
* `complex(real [,imag])`创建一个复数
* `str(x)`将对象 x 转换为字符串
*` repr(x)`将对象 x 转换为表达式字符串
* `eval(str)`用来计算在字符串中的有效Python表达式,并返回一个对象
*` tuple(s)`将序列 s 转换为一个元组
* `list(s)`将序列 s 转换为一个列表
* `set(s)`转换为可变集合
* `dict(d)`创建一个字典。d 必须是一个序列 (key,value)元组。
* `frozenset(s)`转换为不可变集合
* `chr(x)`将一个整数转换为一个字符
* `unichr(x)`将一个整数转换为Unicode字符
* `ord(x)`将一个字符转换为它的整数值
* `hex(x)`将一个整数转换为一个十六进制字符串
* `oct(x)`将一个整数转换为一个八进制字符串
- 前言
- 1.入门篇
- Python介绍
- 安装与使用
- Python开发利器之VS Code
- 模块安装
- 命令行
- 一次Python无法安装模块的问题探索与解决之旅
- 命令运行
- Conda
- 下载地址
- 2.基础篇
- 基础语法
- 输入与输出
- with as的用法
- 注释
- Python命令行参数
- 编码
- 变量类型
- 列表遍历
- 运算符
- 表达式语句
- 条件
- 循环
- 日期和时间
- 函数
- 高级语法
- @符号-装饰器
- 模块和包
- name
- init.py
- 错误和异常
- 面向对象
- 3.专题篇
- 常用功能
- Python 字符串连接
- python web
- Python CGI编程
- Python OAuth2
- 认证 Flask-HTTPAuth
- 常用命令
- 内置函数
- dir()
- print(f)
- 标准模块
- sys
- pickle-数据序列化
- os
- IO(输入输出)
- 键盘输入
- 文件读写
- 测试
- Python测试框架之pytest快速入门
- pytest-bdd快速示例和问题解决
- 基于pytest-bdd的项目目录结构和命名规范
- python BDD 的相关概念
- Behave介绍和快速示例
- Python BDD之Behave测试报告
- Python BDD 框架比较之 pytest-bdd vs behave
- pytest进阶
- Flask + pytest测试
- 参考网址
- pytest-bdd进阶
- hehave进阶
- 测试路径
- python + selunium
- HTML 根据多层CSS 查找元素
- 等待执行
- 使用text 查找 span
- pytest如何在控制台输出
- 4.问题篇
- pip pip3 及区别
- TypeError: can only concatenate str (not "NoneType") to str
- 5.实战篇
- matplotlib-绘图包
- 导入类
- 命名规范
- 模块查找
- 6.进阶篇
- Flask
- Flask介绍
- Flask扩展模块
- Flask-Login
- 问题
- Jinja2
- Flask-RESTful
- Flask-JWT-Extended
- WSGI
- Flask-SQLAlchemy
- 部署
- Flask VS Django
- Flask Web
- Flask + Vue
- Flask实战
- Flask 标准目录结构
- Blueprints
- 参考
- FastAPI 测试
- https 证书 Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate