python
2023-06-07 14:00:32 1 举报
AI智能生成
python
作者其他创作
大纲/内容
介绍历史
1989年圣诞节 龟叔
python版本
python2.x
python3.x
python:蟒蛇
python应用场景
1、web开发:Djiango
2、机器学习
3、服务端脚本
4、爬虫
5、网络编程
python基础语法
python的类型
python对象父类:object
internal
function
code
method
frame
module
sequence
字符串
list
tuple
mapping
dict
numeric
布尔类型
整型
浮点型
python的输入输出
输出
print(,end="")
带换行输出
格式化输出
print("%s%d%f"%(v1,v2,v3))
输入
input
在python2.x中有raw_input(输入的值时表达式)
标识符
变量,类,函数的名称
数字,字符,下划线组成,数字不能开头,不能包含特殊字符
见名知意
驼峰标识
注意:约定大于规范
关键字
import keyword keyword.kwlist()
运算符
算术运算符
+
-
*
/
%
//
**
关系运算符
==
!=
<>
...
赋值运算符
=
a,b=1,2
复合赋值运算符
+=,-=,*=,/=,%=,//+,**=
逻辑运算符
and
or
not
逻辑判断与循环
if...:elif:...else:
while experssion:...
for i in 字符串或者列表
python通过强制缩进来保证代码
python函数
函数定义
1、必须要以def开头
2、函数的方法名称后:
函数调用
方法名称()
带参数的函数
定义方法的时候,可以添加多个参数,参数不需要写明类型
带默认值参数的函数
调用方法的时候,如果没有传递参数使用默认值,如果传递,覆盖默认值
不定长参数
*args:表示一个元组,是一组单个值
**kwargs:表示k-v格式的数据
带返回值函数
通过return返回结果
返回多个结果,多个结果的本质是tuple
递归函数
费波纳基数列
匿名函数
定义:lambda arg1,arg2,...:expression
用途
作为方法的参数
作为内置函数的参数
局部变量和全局变量
定义在函数内的变量叫局部变量,定义在函数外的变量叫全局变量
函数中可以直接使用全局变量
函数中要修改全局变量的时候,必须要申明global
python文件操作
文件的打开与关闭
使用open函数(path,model)
使用close方法关闭
访问模式12种
文件读写
write完成写的功能
read:读取文件全部内容
readline:读取一行内容
readlines:读取全部内容,但是是list,需要循环遍历
文件的定位
tell()获取文件当前指针的位置
seek(offset,from),移动文件指针到指定位置
0:从头开始
1:从当前位置
2、从结尾开始
类和对象
python是面向对象的语言,同时是函数式编程
封装
继承
多态
类的定义
使用class来标识类
类中可以包含属性和方法
self
指代对象自身,类似于Java中this
方法默认的第一个参数都是self,由解释器自动赋值
类中自动默认调用的方法
__init__
完成属性的初始化工作,每次创建完成之后都会调用
__new__
类似于java中的构造器,参数是cls
__str__
类似于Java中的to'string方法
__del__
当对象回收的时候会默认调用
当一个对象由多个引用的时候,会有一个计数器每次使用del删除,计数器-1
继承
python是多继承
python中所有的父类是object
在继承的时候,如果多个父类具有相同的方法,按照继承的顺序(自身重写,父类顺序)
多态
python崇尚鸭子模型
封装
python中也可以由私有属性和私有方法,只能在本类中使用
使用__来标识私有属性和方法
其他类想要使用必须提供公共的方法才可以访问
类属性和实例属性
定义在类中,方法外的变量叫类属性,可以使用类名.属性名访问,也可以使用对象.属性名调用,所有的对象共享同一块存储空间
想要修改类属性,只能通过类名.属性进行修改
类方法和实例方法
使用d的时候可以用使用类名.方法名调用
需要使用@classmethod来标识,参数必须是cls
可以使用@staticmethod来标识。不需要传递任何参数
设计模式
单例模式
工厂模式
异常
python程序运行过程中发生的不正常情况
捕获异常
try....except
try..finally
try...except...else
try..except.else ...finally
输出异常信息
捕获异常的时候使用as定义别名,直接打印别名即可
自定义异常
1、继承Excetion
2、重写init方法
3、程序出现异常的时候raise方法抛出异常
模块安装与制作
导入模块
import 模块名
from 模块名 import 具体的方法或者对象
form 模块名 import *
import 模块名 as 别名
制作模块
编写的任意的python文件都可以当作是一个模块
模块检索顺序
1、当前目录
2、pythonpath环境变量
3、系统Path变量
模块的安装
pip install 模块名
conda install 模块名
__init__.py
表示当前目录的模块导入情况
列表推导式
通过一种简单的方式生成一个列表
多层for循环的嵌套
i=[i for i in range()]
i=[i for i in range() if condition]
i=[(i,j) for i in range() for j in range()]
数据库操作
导入模块pymysql
新建连接
connect(host,user,password,dbname,port)
创建游标
conn,cursor()
执行sql
cursor.execute(sql)
返回结果是影响的行数,可以遍历获取的值
cursor.fetchOne
cursor.fetchAll
执行insert,delete,update时候需要提交事务
conn,commit
关闭连接
conn,close()
numpy
是一个科学计算库,包含数组和矩阵的运算
基本变量
ndim:维度,轴
rank:秩,表示轴的个数
shape:表示每个轴上元素的个数
size:整个数组的个数
dtype:数据类型
创建数组的方式
np.array([])
np.random.randint(start,end,size).reshape(x,y)
np.random.randn(size).reshape(x,y)
np.random,rand(size).reshape(x,y)
注意:size的大小等于shape值的乘积
np.empty.reshape()
np.ones(),reshape()
np.zeros.reshape()
数组的切片
可以通过下标来获取元素的值
array[x,y]
x表示行的范围:start:end:step
y表示列的范围:start:end:step
数组的遍历
range(0,array.shape[0])
range(0,array.shape[1])
矩阵的运算
+-
矩阵的行和列的个数必须一致
np,dot()
两个矩阵的乘积:第一个矩阵的列必须等于第二个矩阵的行
转置
array,T
数乘
一个整数乘以矩阵中的每一个值
矩阵的形状
合并
stack
hstack
vstack
row_stack
column_Stack
拆分
split
hsplit
vsplit
0 条评论
下一页