## 编码
Python 3源码文件, 默认UTF-8编码, 所有字符串是unicode字符串, 也可以指定编码
```
# -*- coding: cp-1252 -*-
```
## 标识符
* 第一个标识符必须是字母或下划线
* 标识符由字母、数字和下划线组成
* 大小写敏感
可以使用中文, 非ASCII字符也可以
## 保留字
使用标准库提供的keyword 模块,可以列出当前的关键字:
```
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
```
## 缩进
Python使用缩进表示代码块, 不需要使用大括号。
缩进的空格的数量没有限制, 但是同一个代码块的语句必须包含相同的缩进空格数。
缩进不一致, 执行会出现错误。
正确缩进:
```
if True:
print("Ture")
else:
print("False")
```
缩进错误运行会报错:
![](https://img.kancloud.cn/93/23/93233d9817743467e4ae95db29cb50ff_962x376.png)
## 同一行显示多条语句
* 使用分号分隔
```
# 同一行显示多条语句
x = "1" ; print(x);
```
## 多行语句
如果一个语句过长, 一行写不下,可以使用反斜杠 `\` 实现多行语句:
```
# 多行语句
number_one = 1
number_two = 2
number_three =3
total = number_one + \
number_two + \
number_three
print (total)
```
注意: 在`[]`, {}, 或 () 中的多行语句,不需要使用反斜杠,例如:
```
## [] {} () 中的多行语句,不需要使用反斜杠,直接换行
total = ['1',
'2',
'3']
```
## 引号标识的字符串
Python可以使用引号, 双引号和三引号来标识。
* 单引号 `'`
* 双引号 `"`
* 三引号 `"""` : 可以由多行组成, 常用于文档字符串。
单引号和双引号可以互换使用, 但是习惯上,
单引号使用于单词, 双引号使用于句子字符串, 三引号使用于段落字符串。
```
# 引号表示的字符串
word = '单词'
sentence = "句子"
paragraph = """ 这是
一个
句子
"""
```
## 空行
* 函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。
* 类和函数之间也用一行空格分隔,突出函数入口的开始。
* 空行与代码缩进不同, 空行不是Python语法的一部分。不插入空行,Python解释器也不会出错
* 空行又利用代码的维护和重构。
## 代码块
缩进相同的一组语句构成一个代码块, 称之为代码组
像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。
将首行及后面的代码组称为一个子句(clause)。
```
if expression :
suite
elif expression :
suite
else :
suite
```
- 前言
- 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