将不同的数字、方法放在一起就是对象
将不同的数字、方法放在一起就是对象
面向过程:
“怎么按步骤实现”,适合小规模程序
面向对象:
“怎么设计这个事物”
mysql数据查询
条件查询:
比较条件: > < = != <> 跟在where后面
in 查询 指定一个数据容器
between 表示一个区间 1到10 还可以表示时间范围
null值的判断 如果是一个空值对象的话 用is判断
如果是空字符串的话,则使用 = 判断
排序 order by 【asc升序 desc降序】可以指定多个字段排序;
聚合函数:
count()
max()
min()
length()
sum()
avg()
round()
date()
substr() left right
分组和分页
分组 group by
as 取别名
分组条件的筛选 where having
where 跟在from后面
having跟在group by后面
limit分页 select * from student limit start(起始位置) count(读取数量)
连接查询
内连接:inner join 两种表共同的数据
左连接:left join 参考左边的表为基准查询表,右边的表用null填充;
右连接 right join 参考右边的表为基准查询表,左边的表用null填充
子查询
1、标量查询 一行一列查询 单个值
2、列级子查询 一行多列 多个值
3、行级子查询 多行一列
4、表级子查询 多行多列【用来做数据源】
保存查询结果:
insert into 表名 select 查询来充当数据源;
union去重输出
union all 输出多次查询的结果;
LEGB规则:
Python在查找“名称”时,是按照LEGB规则查找的:
local 指的是函数或类的方法内部
Enclosed 指的是嵌套函数(一个函数包裹另一个函数,闭包)
Global 指的是模块中的全局变量
Built in 指的是Python为自己保留的特殊名称
nonlocal关键字:
用来声明外层局部变量(修改值)
global用来声明全局变量(修改值)
嵌套函数:
在函数内部定义的函数
递归函数:
1.终止条件
2.递归步骤n步的值和n-1步关联
eval()函数:
功能:将字符串str当成有效表达式来求值并返回计算结果。
语法:eval(source[, globals[,locals]])->value
参数:
source:一个Python表达式或函数compile()返回的代码对象
globb:als:可选。必须是dictionary
locals:可选。任意映射对象
递归函数:
lambda表达式和匿名函数:
只允许包含一个表达式,不能包含复杂语句。
f=lambda a,b,c: a+b+c
可变参数处理:
如:*c 为可变参数
* ,将多个参数收集到一个元组对象中
**,将多个参数收集到一个字典对象中
强制命名参数:
在带星号的“可变参数”后面增加新的参数,必须是“强制命名参数”。
r如:f1(*a,b,c)
f1(2,b=3,c=4)
参数的几种类型
位置参数:
函数调用时,实参默认按位置顺序传递,需要个数和形参匹配,按位置传递参数,称为:位置参数。
默认值参数
默认值参数必须位于普通位置参数后面
命名参数
按照形参的名称传递参数
传递不可变对象使用的是浅拷贝
浅拷贝和深拷贝:
浅拷贝拷贝父对象,不拷贝子对象
深拷贝全部拷贝完全独立
传递不可变对象:
int、float、字符串、元组、布尔值
局部变量的查询和访问的速度比全局变量快,优先考虑使用,尤其是在循环次数特别多的时候。
变量的作用域:
在函数内改变全局变量的值,增加g'lo
return 两个作用: 1.返回值 2.结束函数的执行
Python函数的分类
1.内置函数:str(), list(), len()
2.标准库函数
3.第三方函数
4.用户自定义函数
def
类的定义