基础语法:
基础语法部分:
Python特点:
1.简单、易学,适应⼈人群⼴广泛
2.免费、开源
3.应用领域广泛
Python解释器:
解释器器的作⽤:运⾏行行⽂文件
解释器器环境:先下载后安装
PyCharm:Python开发IDE
Python注释:
注释的作⽤:⽤人类熟悉的语⾔言对代码进⾏解释说明,方便后期维护。
注释的分类
单⾏: # 注释内容 ,快捷键 ctrl+/
多⾏: “”" 注释内容 “”" 或 ‘’’ 注释内容 ‘’’
解释器不不执⾏注释内容
Python变量:
变量:自定义变量要符合,标识名命名规则(不同的编程语言标识不太一样,但大同小异)
标识名命名规则:
由数字、字⺟、下划线组成
不不能数字开头
不能使⽤内置关键字
严格区分⼤小写
命名习惯:
见名知义。
⼤驼峰:即每个单词⾸字母都⼤写,例如: MyName 。
小驼峰:第⼆个(含)以后的单词⾸字母⼤写,例如: myName 。
下划线:例如: my_name 。
数据类型
整型: int
浮点型: float
字符串: str
布尔型: bool
列表:list(Java的数组)
元组: tuple ()
集合: set { }
字典: dict (K 、V){ K:V}
Python输出:
格式化符号
%s:格式化输出字符串串
%d:格式化输出整数
%f:格式化输出浮点数
f-字符串串
f’{表达式}’
转义字符
\n:换⾏
\t:制表符
print结束符
print(“内容”,end=" ")
Python输入:
输⼊功能
input(‘提示⽂文字’)
输⼊的特点
⼀般将input接收的数据存储到变量
input接收的任何数据默认都是字符串数据类型
Python数据类型转换
转换数据类型常⽤用的函数
int()
float()
str()
list()
tuple()
eval() 将字符串串中的数据转换成Python表达式原本类型
Python运算符
算数运算的优先级
混合运算优先级顺序: () ⾼高于 ** ⾼高于 * / // % ⾼高于 + -
赋值运算符=
复合赋值运算符+=
优先级
-
先算复合赋值运算符右侧的表达式
-
再算复合赋值运算的算数运算
-
最后算赋值运算
⽐较运算符
判断相等: ==
大于等于: >=
小于等于: <=
不等于: !=
逻辑运算符
与: and
或: or
⾮非: not
条件语句
if语句语法
if 条件:
条件成⽴执⾏的代码
if…else…
if 条件:
条件成⽴执⾏的代码
else:
条件不成⽴执⾏的代码
多重判断
if 条件1:
条件1成⽴执⾏的代码
elif 条件2:
条件2成⽴执⾏的代码
else:
以上条件都不成⽴执⾏的代码
if嵌套
if 条件1:
条件1成⽴执⾏的代码
if 条件2:
条件2成⽴执⾏的代码
…
三目运算
1 条件成⽴执⾏的表达式 if 条件 else 条件不成⽴执行的表达式
循环
循环的作⽤:控制代码重复执⾏
while循环
while语法
while 条件:
条件成⽴重复执⾏的代码1
条件成⽴重复执⾏的代码2
…
while循环嵌套语法
while 条件1:
条件1成⽴立执⾏的代码
…
while 条件2:
条件2成⽴立执⾏的代码
…
for循环
for循环语法
for 临时变量量 in 序列列:
重复执⾏的代码1
重复执⾏的代码2
…
break退出整个循环
continue退出本次循环,继续执⾏下⼀一次重复执⾏的代码
else
while和for都可以配合else使⽤
else下⽅方缩进的代码含义:当循环正常结束后执⾏的代码
break终⽌止循环不会执⾏else下⽅缩进的代码
continue退出循环的⽅式执⾏else下⽅缩进的代码
Python字符串
切片
序列名[开始位置下标:结束位置下标:步⻓]
Python列表
常用操作方法:index(),len(),append(),pop(),remove()
列表可以嵌套
Python元祖
一个元祖可以存储多个数据,元祖数据不支持修改,只支持查找
index():查找某个数据,如果数据存在返回对应的下标,否则报错,语法和列表、字符串的index⽅法相同
如果元组里面有列表,修改列列表里面的数据则是支持
Python字典
字典⾥面的数据是以键值对形式出现,字典数据和数据顺序没有关系,即字典不支持下标,
后期⽆论数据如何变化,只需要按照对应的键的名字查找数据即可
字典特点:
符号为⼤大括号
数据为键值对形式出现
各个键值对之间⽤用逗号隔开
查找key:如果当前查找的key存在,则返回对应的值;否则报错
get:如果当前查找的key不存在则返回第⼆个参数(默认值),如果省略略第⼆个参数,则返回None
Python集合:
集合创建:
创建集合使⽤ {} 或 set() , 但是如果要创建空集合只能使⽤ set() ,因为 {} 用来创建空字典
集合特点:
-
集合可以去掉重复数据;
-
集合数据是⽆序的,故不不⽀支持下标
因为集合有去重功能,所以,当向集合内追加的数据是当前集合已有数据的话,则不进⾏任何操作。
remove():删除集合中的指定数据,如果数据不存在则报错
discard(),删除集合中的指定数据,如果数据不存在也不会报错
pop(),随机删除集合中的某个数据,并返回这个数据
Python公共操作:
运算符
+
in / not in
公共方法
len()
del()
range()
enumerate()
数据类型转换
tuple()
list()
set()
数据类型转换
tuple()
list()
set()
Python推导式:
列表,字典和集合。
列表推导式:⽤⼀个表达式创建⼀一个有规律的列表或控制⼀个有规律列表 。--------列表推导式⼜叫列表生成式
字典推导式作⽤:快速合并列表为字典或提取字典中目标数据
---------集合有数据去重功能
推导式的作⽤:简化代码
# 列列表推导式
[xx for xx in range()]
# 字典推导式
{xx1: xx2 for ... in ...}
# 集合推导式
{xx for xx in ...}
函数:
函数就是将⼀段具有独⽴功能的代码块 整合到一个整体并命名,在需要的位置调⽤用这个名称即可完成对应的需求 。
函数在开发过程中,可以更更⾼高效的实现代码重⽤。
定义函数:
def 函数名(参数):
代码1
代码2
......
函数必须先定义,后使用。
函数基础
定义函数的说明⽂档
def 函数名(参数):
""" 说明⽂文档的位置 """
代码
......
查看函数的说明⽂档
help(函数名)
函数的参数:函数调⽤用的时候可以传入真实数据,增大函数的使用的灵活性
形参:函数定义时书写的参数(⾮非真实数据)
实参:函数调⽤时书写的参数(真实数据)
函数的返回值
作⽤:函数调⽤后,返回需要的计算结果
函数嵌套调⽤:⼀个函数内部嵌套调⽤另外一个函数
函数高级
变量作⽤域指的是变量生效的范围,主要分为两类: 局部变量和全局变量
函数调⽤时,如果有位置参数时,位置参数必须在关键字参数的前⾯面,但关键字参数之间不存在先后顺序
函数的参数
位置参数
形参和实参的个数和书写顺序必须⼀致
关键字参数
写法: key=value
特点:形参和实参的书写顺序可以不⼀致;关键字参数必须书写在位置参数的后⾯
缺省参数
缺省参数就是默认参数
写法: key=vlaue
不定⻓位置参数
收集所有位置参数,返回⼀个元组
不定⻓关键字参数
收集所有关键字参数,返回⼀个字典
⾼阶函数是函数式编程的体现。函数式编程就是指这种⾼度抽象的编程范式
引⽤: Python中,数据的传递都是通过引⽤
递归
函数内部⾃⼰调⽤自己,必须有出⼝
lambda语法
lambda的参数形式
无参数
lambda: 表达式
一个参数
lambda 参数: 表达式
默认参数
lambda key=value: 表达式
不定⻓位置参数
lambda *args: 表达式
不定⻓关键字参数
lambda **kwargs: 表达式
⾼阶函数
作用:把函数作为参数传⼊,化简代码
内置⾼阶函数
map()
reduce()
filter()-----------过滤序列
Python文件操作:
⽂件操作的作⽤就是把一些内容(数据)存储存放起来,可以让程序下⼀次执行的时候直接使⽤,⽽不必重新制作一份,省时省⼒
⽂件操作步骤
打开
⽂件对象 = open(⽬标⽂件, 访问模式)
操作
读
文件对象.read()
文件对象.readlines()
文件对象.readline()
写
文件对象.write()
seek()
关闭
文件对象.close()
主访问模式
w:写,文件不存在则新建该文件
r:读,文件不存在则报错
a:追加
文件和文件夹操作
重命名: os.rename()
获取当前⽬录: os.getcwd()
获取⽬录列列表: os.listdir()
面向对象部分:
面向对象基础
面向对象重要组成部分
类
创建类
class 类名():
代码…
对象
对象=类名()
添加对象属性
类外面
对象名.属性名=值
类里面
self.属性名=值
获取对象属性
类外面
对象名.属性名
类里面
self.属性名
魔法方法:
__init__():初始化
__str__():输出对象信息
__del__():删除对象时调用
面向对象-----继承
继承的特点
子类默写拥有父类的所有属性和方法
子类重写父类同名方法和属性
子类调用父类同名方法和属性
super()方法快速调用父类方法
私有权限
不能继承给子类的属性和方法需要添加私有权限
class 类名():
# 私有属性
__属性名=值
# 私有方法
def __函数名(self):
代码
面向对象其他:多态等
面向对象三大特性:封装,继承,多态
类属性:归属于类对象的属性,所有对象共有的属性
类方法
@classmethod
def xx()
代码
静态方法
@staticmethod
def xx():
代码
面向对象-----异常
异常语法:
try:
可能发生异常的代码
except:
如果出现异常执行的代码
else:
没有异常执行的代码
finally:
无论是否异常都要执行的代码
捕获异常:
except 异常类型
代码
except 异常类型 as xx:
代码
自定义异常
# 1.自定义异常类
class 异常类类名(Exception):
代码
#设置抛出异常的描述信息
def __str__(self):
return ...
# 2.抛出异常
raise 异常类名()
# 捕获异常
except Exception...
面向对象----模块和包
模块—一个*.py文件
导入模块方法
import 模块名
from 模块名 import 目标
from 模块名 import *
导入包
import 包名.模块名
from 包名 import *
__all__=[]:运行导入的模块或功能
-----异常
异常语法:
try:
可能发生异常的代码
except:
如果出现异常执行的代码
else:
没有异常执行的代码
finally:
无论是否异常都要执行的代码
捕获异常:
except 异常类型
代码
except 异常类型 as xx:
代码
自定义异常
# 1.自定义异常类
class 异常类类名(Exception):
代码
#设置抛出异常的描述信息
def __str__(self):
return ...
# 2.抛出异常
raise 异常类名()
# 捕获异常
except Exception...
面向对象----模块和包
模块—一个*.py文件
导入模块方法
import 模块名
from 模块名 import 目标
from 模块名 import *
导入包
import 包名.模块名
from 包名 import *
__all__=[]:运行导入的模块或功能