# 1. 环境安装 官网:https://www.python.org 下载地址:https://www.python.org/downloads/ # 2. IDE 推荐使用 **Jetbrains** 官方的 **PyCharm** (https://www.jetbrains.com/pycharm/) 专业版自行解决, 社区版可以免费使用 # 3. python 数据类型 Python3有**六个标准数据类型** - Number(数字) - String(字符串) - List(列表) - Tuple(元组) - Set(集合) - Dictionary(字典) 基础: Number、String 复杂(数据结构):Tuple、List、Dictionary、Set **不可变数据(3 个):**Number(数字)、String(字符串)、Tuple(元组) **可变数据(3 个):**List(列表)、Dictionary(字典)、Set(集合) ### Number类型 Number类型可以细分为 **int、float、bool、complex(复数)** 四种 ## 高级数据类型 * 序列:python当中,序列就是一组按照顺序排列值的集合 * 字符串 `str`、列表 `list`、 元组 `tuple` * 优点: 可以支持索引和切片操作 * 特征:自然数索引是指左端,负数为右端索引 ### String类型 `str`类型是由字符拼接而成,可以通过切片的方式获取部分内容 ```python aba: str = '9876543210' print(aba[7]) # 2 ``` **常用方法:** 1. `capitalize()` `@return str` 首字母变大写 2. `endswith(s: str)/startswith(s: str)` `@return bool` 是否以 xxxx *结束/开始* 3. `find(s: str)` `@return int` 检测是否包含 xxxx 4. `isalnum()` `@return bool` 判断是否是**字母**和**数字** 5. `isalpha()` `@return bool` 判断是否只有**字母** 6. `isdigit()` `@return bool` 判断是否只有**数字** 7. `islower()` `@return bool` 判断**字母**是否是**小写** (只作用于字母,其他如数字,符号等自动忽略) 1. `'123465798aaa!@#'.islower() # True` 2. `'AaAa'.islower() # false` 8. `join()` `@return str` 9. `upper()/lower()` `@return str` 转化成*大写/小写* 10. `swapcase()` `@return str` 大小写切换 11. `lstrip()/rstrip()/strip()` `@return str` 移除*左/右/两侧*空白 12. `split(s: str)` `@return list[str]` 以 xxx 切割字符串 13. `title()` `@return str` 每个单词首字母大写 14. `replace(old, new, count=None)` `@return str` 将 old 替换成 new, count代表替换数量,不填表示全部替换 15. `count(s: str)` `@return int` 统计 xxx 出现次数 ### List类型 **常用方法:** 1. `append(item)` 在列表后面增加**一个元素** 1. `extend(arr: list[item])` 在列表后面**批量增加元素** 1. `count(item)` `@return int` 统计item出现次数 1. `index(item, start, stop)` `@return int` 获取指定元素索引号 1. `insert(index, item)` 在index处插入item,**注意:单一操作** 1. `pop()` `@return item` 删除并返回最后一个元素 1. `remove(item)` `@return item` 移除左边第一个item元素 1. `reverse()` 列表**对自身**倒叙排序 ### dict类型 **常用方法:** 1. `keys()` `@return list[keys]` 返回字典内所有key键 2. `values()` `@return list[values]` 返回字典内所有value值 3. `items()` `@return list[(key, value)]` 返回字典内所有key,value键值对 4. `update({key:value})` 添加/更新键值对 5. `del dict[key]` 删除键值对 # 4. 运算(Number) ## 1) 算术运算 * 加法运算 `+` * 减法运算 `-` * 乘法运算 `*` * 除法运算 `/` * 余数 `%` * 地板除(整除) `//` * 指数 `**` **注意**: `String` 支持部分运算(`+`, `*`。其中乘后面必须跟`int`类型) ## 2) 比较运算 * 等于 `==` * 大于 `>` * 小于 `<` * 大于等于 `>=` * 小于等于 `<=` ## 3) 逻辑运算 * 与运算 `and` * 或运算 `or` * 非运算 `not` **注意**: 1. 这里不能使用 `&&`、 `||`、`!` 2. 逻辑运算后的结果不一定是`bool`型 ```python print(100 and 200) print(45 and 0) print("" or "http://c.biancheng.net/python/") print(18.5 or "http://c.biancheng.net/python/") # 200 # 0 # http://c.biancheng.net/python/ # 18.5 ``` ## 4) 赋值运算 * 赋值运算 `=` * 加法赋值运算 `+=` * 减法赋值运算 `-=` * 乘法赋值运算 `*=` * 除法赋值运算 `/=` * 取模赋值运算 `%=` (example: `c %= a` 等效于 `c = c % a`) * 幂赋值运算 `**=` (example: `c **= a` 等效于 `c = c ** a`) * 取整赋值运算 `//=` (example: `c //= a` 等效于 `c = c // a`) 注意: ```python # Running Error print(a += b) # Running Success a += b print(a) ``` # 5. 输入输出 ## 1) 输出 ### 格式化符号输出 **example** ```python # 输出 %占位符 name: str = '张三' age: int = 33 print('我是%s,我的年龄为%e岁' % (name, age)) # 我是张三,我的年龄为33 print('年龄%d' % age) # 年龄33 ``` 其中 `%d`、 `%s` 为格式化符号 | 格式化符号 | 转换 | | ---------- | ------------------------------------ | | `%c` | 字符 | | `%s` | 字符串 | | `%i` | 有符号的十进制整数 | | `%d` | 有符号的十进制整数 | | `%u` | 无符号的十进制整数(实际测试没生效) | | `%o` | 八进制整数 | | `%x` | 十六进制整数(小写字母) | | `%f` | 浮点实数 | | `%e` | 科学计数法(小写e) | | `%E` | 科学计数法(大写E) | | `%g` | 同 `%f` 和 `%e` | | `%G` | 同 `%f` 和 `%E` | ### str.format 形式输出 要输入的*部分/地方*用 `{}` 形式表示,后面输入部分写在`format` 与**格式化符号输出一样**,大括号 `{}`顺序与 format 一致 ```python name: str = '张三' age: float | int = 33.3 print('我是{},我的年龄为{}岁'.format(name, age)) print('年龄{}'.format(age)) ``` ## 2) 输入 Python 提供 **input** 方法从**控制台**获取**输入值** 注意: **input** 方法返回值为 `str` 类型,需要**手动转化**成所需的数据类型 ```python try: name: str = input('请输入你的姓名: ') age: float | int = int(input('请输入你的年龄: ')) print('我是{},我的年龄为{}岁'.format(name, age)) print('年龄{}'.format(age)) except Exception as e: print('输入有误') pass ``` # 6. 流程控制结构 ## 1) 顺序流程 自上而下执行流程,python默认的执行流程 example ```python # 加法 def add(first: int | float, second: int | float): f""" 加法语法 :param first: 第一个数 :param second: 第二个数 :return: """ return first + second print(add(22, 22)) # 减法 num1: int | float = 32 num2: int | float = 55 print(num1 - num2) # 乘法 num1, num2 = 12, 33 print(num1 * num2) print('aaa ' * 5) # 除法 a: int = 10 b: int | float = 1.01 print(a / b) # 逻辑比较( > < == >= <= ) # 比较顺序修饰: () > not > and > or print(not 2 > 3 and 1 < 4 or 2 > 3) ``` ## 2) 选择流程/分支流程 根据**判断**有选择的执行对应逻辑的一种结构 #### (1) 单分支 ```python if 条件判断: # 代码 # 代码 # ... if 2 < 3: # ... pass ``` #### (2) 双分支 ```python if 条件判断: # 代码 # 代码 # ... else: # 代码 # 代码 # ... if 2 > 3: # ... pass else: # ... pass ``` #### (3) 多分支 ```python if 条件判断: # 代码 # 代码 # ... elif 条件判断: # 代码 # 代码 # ... elif 条件判断: # 代码 # 代码 # ... elif 条件判断: # 代码 # 代码 # ... else: # 代码 # 代码 # ... if 2 > 3: # ... pass elif 2 > 4: # ... pass else: # ... pass ``` #### (4) match-case (version >= 3.10.x) 类似于 js `switch case`, 使用方法一致,但**关键词**不一样 ```python http_code = input('请输入http code: ') match http_code: case '200': print('OK') do_something_good() pass case '404': print('Not Found') do_something_bad() pass case '418': print('I\'m a teapot') make_coffee() pass case _: print('Code not found') pass pass ``` ## 3) 循环流程 在满足一定条件下,一致重复的去执行*某段/某部分代码*的一种结构 #### (1) while 特点: 1. 有**初始值** 2. **条件表达式** 3. 变量【循环体内计数变量】的**自增自减**,否则会陷入死循环 ```python while 条件判断: # 代码 # 代码 # ... i: int = 0 while i < 10: # ... i += 1 pass ``` #### (2)for ... in ... ```python i: int | str arr: list[int] = [1, 2, 3, 4, 5, 6, 7] string: str = 'I\'m Chinese' for i in arr: print(i) pass for i in string: print(i, end='') pass ``` 注意: 可以配合`range`函数使用 ```python # range(start, stop[, step]) # start: 起始值 # stop: 终止值(不会取) # step: 步伐(可以取负数, 但不能取0) # 可以通过list转化成列表形式(list[int]) list(range(10)) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] list(range(1, 11)) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] list(range(0, 30, 5)) # [0, 5, 10, 15, 20, 25] list(range(0, 10, 3)) # [0, 3, 6, 9] list(range(0, -10, -1)) # [0, -1, -2, -3, -4, -5, -6, -7, -8, -9] list(range(0)) # [] list(range(1, 0)) # [] ``` #### (3) 关键字对循环的操作 * 跳过循环: `continue` 跳过本次循环,进入下次循环 * 终止循环: `break` 终止当前循环,不再循环 > 未完待续 最后修改:2023 年 04 月 21 日 © 允许规范转载 赞 0 如果觉得我的文章对你有用,请随意赞赏