# mypython **Repository Path**: xfanonymous/mypython ## Basic Information - **Project Name**: mypython - **Description**: python。。。。。。。。。。。。。。。 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-03-24 - **Last Updated**: 2026-06-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mypython Python是解释型语言,`python ./HelloWorld.py`运行.py脚本文件 Python关键字都是小写,33个保留字 ## 01_print_and_input 输入输出 多行语句通过右斜线拼接 \,多行注释用三引号拼接 ### print() 1. print_base - 打印字符、数字 - 多个打印内容用逗号,分隔 - 打印效果:默认打印出空格,隔离各个打印内容 - sep:设置多个打印内容的分隔符 - end:设置打印结尾符 2. print_format - 格式化打印 - %d 数字,%s 字符串,%f 浮点数 ### input() 1. input - type() 打印变量类型 - input() 默认用户输入字符串类型 - int() 可以直接将输入变量进行类型转换,字符转整数 ## 02_param 变量 Python不需要先声明变量类型,赋值后才会被创建。 ### 变量类型 1. param_define - python变量类型修改十分灵活 - 整数缓存池保存整数范围: -5~256 2. param_type - 变量数据类型,type()、instance(a, str) - 整型 - 浮点数,四舍五入round()、向上取整math.ceil()、向下取整math.floor() - 布尔型,大写 True、False - 字符串,字符串和数字不能直接+,str[-2]表示倒数第二个字符 - 切片,str[0:5],包头不包尾,同Java; - str2[0:8:2],2表示每两个取一个;起始索引默认为0,结束索引默认为-1(包含最后一位) - str2[-1:-10:-1];str2[::-1] 字符串反转 ### 类型转换 1. param_type_transform - 类型转换 - 进制转换:int('1A', 16),结果为26 ## 03_calculate 运算符 1. 计算运算符, a // b 取整去余 2. 比较运算符 3. 逻辑运算符,优先级:not>and>or - 短路运算,当前面的逻辑已经可以确认结果,后面的逻辑对结果没有影响时,直接输出前面的逻辑结果 - print((1-1) and 'a') # 输出0 - not 单元运算符,输出True/False 4. 位运算 5. 成员运算符,in、not in 6. 身份运算符,is、is not - is 判断两个引用对象是否为同一个内存空间,== 比较两个变量的值是否相等 ## 04_if_elif_else_and_match_case 条件 1. if:elif:else: 2. match:case:case_: ### 行和缩进 - 通过缩进定义模块,不使用{} - 同代码块语句要使用相同缩进空白数 - 4个空格或1个tab,不能混用 ## 05_while_and_for 循环 1. while:else: 2. for in range(3): - for in: else: 在没有break的情况下执行 else - range(a, b) 默认从0到b-1,指定从 a到b-1 3. break 4. continue 5. pass,空语句 ## 06_collection 集合 len() max() min() del ### range 1. range(start, end, [step=1]) 等差序列[start, end)左闭右开,start默认0 ### list 列表 1. 列表元素不区分数据类型 2. list(str) 实现字符串转字符列表 3. 成员运算 4. 遍历 5. 拼接与新增 list.append()、list.extend([])、list.insert() 6. 删除 list.pop(index)、list.remove(value)、list1.clear() 7. 元素个数 list.count(value) 8. list用作栈 list2.pop(),list2.append('dongguan') ### tuple 元组 1. 元组,只读列表,不能增删改,tuple = (123, 'fan'),不能执行 tuple[0] = 321 2. 元组方法只有 index(value)、count(value) 3. for index,value in enumerate(tuple1)、for i in range(len(tuple1)) ### str 字符串 ### dict 字典 1. 键值对,大括号定义 dict = {},dict['one'] = "1",dict = {'name':'fan', 'date':''20250808'} 2. 键唯一,键重复时,会覆盖之前的值 ### set 集合 1. 无重复元素 ### iterator 迭代器 1. 遍历集合元素 2. iter() 3. next() 4. 结束迭代:raise StopIteration 异常,防止异常死循环 ## 07_exception 异常 1. try: except [else:] 没有异常时执行 [finally:] 总会执行 2. 主动抛出异常 ## 08_function ### def 函数定义 1. 设置入参默认值,调用时指定赋值 2. 可变参数 - 函数定义入参前缀 \*,可以传入list,tuple类型参数,函数将传入参数默认转换为tuple;调用时入参为list类型要使用前缀* - 函数定义入参前缀 \**,可以传入dict类型参数;调用时入参为dict类型要使用前缀\** 3. 变量作用域 ### lambda 匿名函数 1. 匿名函数,lambda替换def,变为一个表达式 2. 不能访问参数列表外的参数,不能访问全局命名空间的参数 3. lambda arg1 [,arg2, arg3 ...] : expression 4. lambda inputX, inputY : outputX + outputY ### map 1. map(func, num) 内置函数,将num的每个元素都执行一次func 2. print(list(map(lambda x: x**2, num))) ### reduce 累积 1. 从 functools 导入,from functools import reduce,累积 2. reduce(lambda x, y: x + y, num) 将num元素取出,按表达式做 *=、+=等操作 ### filter 过滤 filter(lambda x: x % 2 == 0, num) # 过滤偶数 ## 09_module_and_package 模块和包 ``` 自定义模块演示: my_module.py (定义模块) ↓ module.py (导入: import my_module) 自定义包演示: my_package/my_math.py (定义模块) ↓ package.py (导入: from my_package import my_math) ``` - `random_and_re.py` - random 和 re 标准库 - `time_and_socket.py` - time 和 socket 标准库 - `socket_client.py` - socket 客户端 ### import module.py 1. 新建 my_module.py,定义方法 2. import my_module 就可以在 module.py 调用my_module的方法 3. from my_module import author 导入指定的方法或变量 4. from my_module import * 导入全部内容 ### package __init__.py 1. 新建Python Package 2. 新建 my_package 目录,创建 my_math.py my_package/ ├── __init__.py # 空文件,标识这是一个 Python 包 └── my_math.py # 数学运算模块 3. from my_package import my_math 导入指定包的指定模块 ### python标准库 #### random random.random() random.randint(1, 200) random.choice([1, 2, 3]) chr(random.choice([65, 122])) #### re 正则表达式匹配 re.match(r'\d', '123hi35r432') #### time #### socket ### 三方库 #### pip pip list pip install --upgrade pip pip config set global.index-url https://mirrors.aliyun.com pip install xxx ## 10_file 文件 1. 文本文件和二进制文件 2. 绝对路径,相对路径 3. 读取模式,r只读、w只写、r+可读可写;b二进制文件:rb、wb 4. 写文件,f.open(,'w',) w方式打开不存在的文件会新建并写入;打开已有文件会覆盖写入 5. 追加文件,f.open(,'a',) a方式打开已有文件,自动追加写,不会覆盖已有内容 6. with open 自带 close(),无需手动写 7. csv表格文件读写,import csv,使用 csv.reader(csvfile), next()读取一行元素,过滤表头 ## 11_object 面向对象 1. class,关键字 2. object,默认基类,(object)表示继承自此类 3. def __init__(self),构造函数 4. p1.__dict__,获取对象所有属性 5. 对象属性、对象方法 6. 类属性、类方法 @classmethod 7. 静态方法 @staticmethod 8. 继承, my_extends,定义时通过()指定父类,重写父类方法 9. 多态,my_multi 10. 封装,my_packed - 类变量前置下划线 _param 受保护的变量,__param 私有变量 - 装饰器 @property 获取变量,将方法装饰为变量 - 装饰器 @method_name.setter 修改变量,和 @property 成对出现,method_name和@property修饰的方法名一样 11. 魔法方法,magic_method - 带前置下划线的方法,如 __init__(self) 构造方法 - python内置方法,如 __str__()、__eq__()、__add__ ## 12_WxPython 三方库界面开发 1. 安装三方库 `pip install wxpython` 2. pip list 查看 3. wxUI.py 通过wxPython绘制窗口 4. Window.py 自定义类实现应用窗口 # 快捷键 运行:Shift+F10 终止:Ctrl+C # 参考 - [木棉Python2024]() - [ShowMeAI-Python]()