Python中的类变量、实例变量、局部变量类体内,所有函数外定义 。
所有实例对象共享 。
只有通过类名调用时才能修改,通过实例调用时无法修改 。
假设某类变量名为“name",如果用该类的某个实例x来为name赋值:x.name = 'xxx' , 实质是为该实例新定义了一个变量name 。且之后无法再通过该实例调用类变量name了 。因为使用实例调用某名为“xxx”变量时 , 若该实例没有名为“xxx”的实例变量 , 则会去调用名为“xxx”的类变量;若有该名称的实例变量,则该实例无法再直接调用该名称对应的类变量 。因此也不推荐通过实例来调用类变量 。
即:通过类实例修改类变量的值时,实际是在定义新的与类变量同名的实例变量 。
类体内,某函数(一般是__ init __ ())内定义 。“self.变量名”
因为是属于某个具体实例的,因此不能通过类名访问 。
如果不在__ init __ () 中调用(该函数会在创建实例时自动调用一次),则只有调用该实例中定义目标实例变量的那个函数后,才能使用目标实例变量 。因此最好在__ init __ () 中定义实例变量 。
类体内,某函数内定义 。
直接在函数内用“变量名=值”的方式进行定义 。
函数执行完毕后 , 该局部变量即被销毁 。
Python函数和模块的定义与使用,包括变量的类型及匿名函数用法 函数是组织好 , 可重复使用的 , 用来实现相关功能的代码段
函数提高python变量类函数了代码的重复利用率和应用的模块性 。
除Python自带的函数之外,也可以自己创建函数,叫做自定义函数
语法python变量类函数:
函数代码块以def开头
参数为输入值,放于函数名后口号里面 ,
函数内容以冒号:开始 , 函数体缩进,return返回输出值
函数调用使用关键字参数来确定传入的参数值,此时,如果多个函数则不需要按照指定顺序 。
在定义函数时,指定参数默认值 。调用时如果不传入参数 , 则使用默认值
不定长部分如果没有指定参数,传入是一个空元组
加了两个星号**的参数会以字典的形式导入
/用来指明函数形参必须使用指定位置参数,不能使用关键字参数的形式 。
3.8版本之后的才能使用
不使用def定义函数,没有函数名
lamdba主体时一个表达式 , 而不是代码块,函数体比def简单很多
定义在函数内部的为局部变量,仅能在函数内部使用
定义在函数外部的为全局变量 , 可在全局使用
模块是将包含所有定义的函数和变量的文件 , 一般将同类功能的函数组和在一起称为模块 。
模块需要导入后,在调用相应函数进行使用
模块导入的方法:
从模块中导入一个指定的部分
把一个模块的所有内容全都导入
python 类中的变量传递给类中的函数 为了把类中的变量传递给类中的函数,我们需要用到3个特定格式
① 第一个格式 @classmethod 的中文意思就是“类方法”,@classmethod声明了函数1是类方法,这样才能允许函数1使用类属性中的数据 。
② 第二个格式 cls 的意思是class的缩写 。如果类方法函数1想使用类属性(也就是类中的变量) , 就要写上cls为函数1的第一个参数,也就是把这个类作为参数传给自己,这样就能被允许使用类中的数据 。
③ 第三个格式是 cls.变量。类方法想使用类属性的时候 , 需要在这些变量名称前加上cls. 这就好比类方法和类之间的约法三章,所以但凡有任何格式错误都会报错 。
推荐阅读
- 简称gis的无锡的公司有什么,gissing公司
- thinkphp安装第三方类库,thinkphp 安装
- 滨湖直播网红,滨湖直播网红是谁
- c语言删除信息函数 c语言的删除函数
- redis和sqlsever区别,redis和数据库区别
- 硬盘分区后怎么还有东西,硬盘分区后数据还在吗
- go语言研究方向 go语言就业方向
- sap怎么设置默认浏览器,sap设置默认格式
- postgresql和mysql,POSTGRESQL和mysql初学者学哪个