python基础知识
1.认识python
1.1 简要介绍
1.2 python开发环境
安装与环境配置
IDLE编写
pycharm编写
开发环境切换
(1)项目设置切换
(2)终端命令行执行切换 / 虚拟环境切换
1.3 基础知识
输入输出
print()
input()
注释
单行
多行
编码规范
缩进
使用必要的空格增强代码可读性
类间/顶级函数(外部函数)间空两行
内部方法间空一行
不同功能区间空一行
命名规范
(1)模块名(??)| 函数名 | 类的属性 | 类的方法:短、小写、可用下划线
(2)包名(??):短、小写、不用下划线
(3)类名:单词首字母大写
(4)常量:全部大写字母
(5)内部类:“_”+单词首字母大写
(6)单下划线开头的模块变量或函数是受保护的
(7)双下划线开头的实例变量或函数是类私有的
2.python基础语法
2.1 变量
python变量定义非常灵活,不需要显示定义变量类型,初始化值即为其类型。
使用内置函数type()返回变量类型。
2.2 基本数据类型
数字类型
整数(int)
分各种进制
浮点数(float)
*复数(complex)
3.14+12.5j
3.14+12.5J
布尔类型
false true
0 others
序列
数据类型转换
强制转换
int() float() str() complex() chr() ord() hex() oct()
repr() eval()
2.3 运算符(是有优先级区分的)
算数运算符
+、-、*、/、%、//、**
赋值运算符
=、+=、-=、*=、/=、%=、**=、//=
比较运算符
. >、<、==、!=、>=、<=、
python中可以应用 形如1<x<5的比较运算
逻辑运算符
and、 or、 not
位运算符
针对二进制数据 | 操作对象为二进制数据
位与& 位或 | 位异或 ^ 位取反~
左移位 << 相当于乘以2的n次幂
右移位 >> 相当于除以2的n次幂
2.4 序列
通用操作
索引
(1)正序:从0到n-1
(2)倒序:从-n到-1
(3)切片:sname[start🔚step]
相加(连接)+
乘法(重复)*n
是否存在 in
计算长度 len 最大值 max 最小值 min
sum() sorted() reversed() enumerate()
列表(有序可变序列)
创建 list() 、[]
删除 del
访问
list[index] list[cutsplit]
for item in listname
for index,item in enumerate(listname)
添加、修改、删除元素
添加:
append()
insert()
extend()
修改: =
删除:
del
remove()
统计、排序
count() index() sum()
sort() sorted()
列表推导式(快速生成列表)
list = [expression for var in range]
newlist = [expression for var in list]
newlist = [expression for var in list if condition]
元组(有序不可变序列)
用于保存程序中不可修改的内容
创建 tuple() 、()
删除 del
访问
索引、切片、for循环
修改(必须整体替换) =
连接 +
元组推导式
tuple = (expression for var in range)
newtuple = (expression for var in list)
newtuple = (expression for var in list if condition)
使用元组推导式生成的结果是一个生成器对象,将其转换为元组或者列表进行使用,或通过for循环使用;
无论通过何种方法遍历后,原生成器对象会毁灭,如再想使用,需要重新创建。
字符串(str)
定义
‘ ’
“ ”
‘‘‘ ’’’
转义字符
分割 split()
检索 find() index()
是否以给定字符串开头 startswith()
是否以给定字符串结尾 endswith()
大小写转换 lower() upper()
去除特殊字符 strip() lstrip() rstrip()
替换 replace()
格式化
(1)%
(2)format()
字典(无序可变序列)
定义 dict() {key:value}
zip()函数: list(zip(a,b)) tuple(zip(a,b)) dict(zip(a,b))
访问 键
items() 得到所有键值对列表,通过for循环遍历
删除
del
clear()
添加 =
修改 =
字典推导式
集合(无序可变序列)
集合可以用来去重,集合中每个元素都是唯一的。
创建 set() {}
添加 add()
删除 del clear() remove()
交集& 并集| 差集-
2.5 语句
选择
if else
if elif else
if中条件的嵌套 and or not
if语句的嵌套
循环
for
计次循环:枚举或遍历或迭代 循环次数已知
while
while 条件表达式:
循环体
循环语句的嵌套
跳转
break
continue
3.python高级语法
3.1 函数
函数的定义
pass
…
函数的调用
参数传递
形参
实参
位置参数
关键字参数
可变参数
一颗 * parameter 任意个位置参数 / *list ----解析为元组
两颗 ** parameter 任意个关键字参数 / *dict ---- 解析为字典
函数返回值
return
变量的作用域
全局变量
global
局部变量
匿名函数
result=lambda 参数:表达式
eg: result=lambda r:math.pirr
用途:指定短小的回调函数
内置函数
eg: range() …
3.2 类和对象
类的定义
__init()__方法
类通常会自动创建一个__init()__方法,当创建一个类的新实例时,python都会自动执行它。
__init()__方法必须包含一个self参数,并且必须是第一个参数,self参数是一个指向实例本身的引用,用于访问类中的属性和方法。在方法调用时会自动传递实际参数self。
类的使用
创建对象(实例),通过对象(实例)调用类属性(数据)、实例属性(数据)或类方法(行为)。
类属性: 定义在类中函数体外的属性(数据),通过类名或实例访问;
实例属性: 定义在类的方法中的属性,只作用于当前实例中;
继承
子类(派生类)
要在子类(派生类)中使用基类的__init__()方法,必须进行初始化,需要在派生类的__init__()方法中使用super()函数调用基类的__init__()方法。即:super().init()。
方法重写
3.3 模块 (.py文件)
定义
一个扩展名为.py的文件就是一个模块
作用
封装 复用 解缠
类型
标准模块
第三方模块
先下载并安装再使用
自定义模块
创建:即创建.py文件
导入
import modulename [as othername] ---- 通过模块名/别名调用
from modulename import member ---- 直接用
以主程序的形式执行
if name == ‘main’:
pass
3.4 包 (文件夹)
概念
分层次的目录结构,将一组功能相近的模块组织在一个目录下。
解缠 规范
创建包
·· 创建包实际就是创建一个文件夹,在该文件夹中创建一个名为’init.py’的python文件。
’init.py’文件中可以不编写任何代码,也可以编写一些python代码,其中的代码在导入包时会自动执行。
·· 在包中创建模块
使用包
import packagename.modulename
from packagename import modulename
from packagename.modulename import define