python基础知识学习记录,day7

Lambda表达式和匿名函数
Lambda表达式可以用于申明匿名函数,只允许包含一个表达式,不能含有复杂语句
基本语法
Lambda arg1,arg2,arg3: 函数表达式,其中arg为参数
在这里插入图片描述
Eval()函数:可以用于把字符串str当成表达式求值
Eval(source[,global[,locals]] - > value
Source:表达式 globals:可选,必须是字典 locals:可选,任意映射对象
在这里插入图片描述
递归函数
递归函数指函数在内部直接或间接的调用自己,包含递归条件和递归步骤两部分
在这里插入图片描述
内嵌函数
在函数内部调用另一个函数
作用:隐藏封装(从外部无法看到内嵌函数的代码),节省空间

在printName函数中又定义了inner_print函数用以解决中英文名字顺序的问题,实际使用时,只要使用printName这个函数就可以LEGB规则
在查找名称时,python按照的顺序是1. 函数或类的方法内部(local)2.嵌套函数(Enclosed)3. 全局变量(Global)4.python自有的特殊名称(Built in)如果都没找到,就会报错

面向过程与面向对象
前者注重行动的逻辑流程,后者注重对象与对象的关系

对象的发展由来
数据》数组》结构体》对象
数字》同类数据》不同类数据》不同数据和关系、方法‘

类的定义
类是生产对象的模板,我们通过类来定义和区分对象(但它本身也是对象)
一个对象由方法和属性组成,同类对象共同拥有一个方法,而每个对象又有维持各自的属性

在这里插入图片描述
构造函数__init__
一个python对象包含id,type,value三个部分,而value包含属性和方法,构造函数就是用于执行一个实例对象的初始化。它的第一个参数必须为self,在后面写你要添加的属性,self代指你要创建的对象。(它是把对象初始化不是创建对象,new()方法才是创建对象的)

实例属性与实例方法
s1.salary()为实例增加salary这一属性,通过init函数,用代码:self.实例属性名 = 初始值,可以定义,之后通过对象.实例属性名来访问或着增加新的属性
s1.say_score()为实例方法,调用实例方法时,不能给self传参,解释器会自动传参

在这里插入图片描述

类方法
类对象使用的方法,其他方法不能被类对象使用通过@classmethod定义,格式
@classmethod
Def 类方法名(cls[,形参列表]):
函数

在这里插入图片描述
静态方法
在类中定义与类无关的方法
@staticmethod
Def 类方法名(cls[,形参列表]):#cls特指类对象
函数体
在这里插入图片描述
_del__方法(析构函数):销毁对象,释放占用的资源
__cal__方法:像调用函数一样调用对象

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值