python3的getter方法setter方法以及property修饰

class Dog:
def __init__(self,name,age):
self.__name = name
self.__age = age
@property
def age(self):
return self.__age
@age.setter
def age(self,age):
self.__age = age
@property
def name(self):
return self.__name
@name.setter
def name(self,name):
self.__name = name

d = Dog(‘天道‘,20)
d.name = ‘修罗道‘
d.age = 50
print(d.name,d.age)

列表.sort() 字符串默认按unicode码排序
可接收一个参数key,例如:sort(key=len) 按长度排序
参数key的值为数值类型的时候,表示该列表所有值都转换为该类型,再进行比较
sorted(排序的列表,key=类型) 用法和sort基本一直,但可以对任意序列进行排序,并且不会影响原来的对象,而是返回一个新对象br/>函数作为返回值返回,也是一种高阶函数,这种高阶函数,也称为闭包
闭包要件:
1、函数嵌套
2、将内部函数作为返回值返回
3、内部函数必须要使用到外部函数的变量
装饰器:
方法名上一行用@装饰器对象,不能写方法名加()
对象:
对象是内存中专门用来存储数据的一块区域
对象中可以存放各种数据(数字、布尔值、代码)
对象由三部分组成:
对象的标识(id)
对象的类型(type)
对象的值(value)
类命名规则:
1.首字母大写

isinstance(实例对象,类对象) 检查一个对象是否是一个类的实例
对象名.属性名 = 属性值 给对象里添加属性
定义对象的方法时,至少需要定义一个self形参
调用一个对象时,解析器会先在当前对象中寻找是否含有该属性,如果有,则直接返回当前的对象属性值,如果没有,则去当前对象的类对象中去寻找,如果有则返回类对象的属性值,还没有则报错
封装是面向对象的三大特性之一
封装指隐藏对象中一些不希望被外部访问到的属性或方法
对象属性名 隐藏属性,不能通过对象访问,在属性被修饰时,python会自动为属性改名:_类名__属性名,通过_类名__属性名可以访问
_对象属性名 私有化属性,类内部可访问br/>getter方法上面加了@property后,可以像调用属性一样,调用方法,被property修饰的方法,方法名必须和属性名一致
setter方法的装饰器:@属性名.setter
getter方法必须写在setter上面

python3的getter方法setter方法以及property修饰

原文地址:https://blog.51cto.com/3945465/2384795

时间: 2024-09-29 03:13:20

python3的getter方法setter方法以及property修饰的相关文章

JavaScript中闭包实现的私有属性的getter()和setter()方法

注意: 以下的输出都在浏览器的控制台中 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>闭包</title> </head> <body> <script type="text/javascript"> /** * 利用闭包实现 * 这个函数给对象o增加了属性存储器方法 * 方法名称为ge

Java网络编程从入门到精通(18):Socket类的getter和setter方法(2)

二.用于获得和设置Socket选项的getter和setter方法 Socket选择可以指定Socket类发送和接受数据的方式.在JDK1.4中共有8个Socket选择可以设置.这8个选项都定义在java.net.SocketOptions接口中.定义如下: public final static int TCP_NODELAY = 0x0001;    public final static int SO_REUSEADDR = 0x04;    public final static int

Java网络编程从入门到精通(17):Socket类的getter和setter方法(1)

在Java类中,getter和setter方法占了很大的比重.由于Java中没有定义属性的关键字:因此,getter和setter方法用于获得和设置Java类的属性值:如getName和setName方法用于设置name属性的值.如果某个属性只有getter方法,那这个属性是只读的:如果只有setter方法,那么这个属性是只写的.在Socket类中也有很多这样的属性来获得和Socket相关的信息,以及对Socket对象的状态进行设置. 一.用于获得信息的getter方法 我们可以从Socket对

vue_计算属性getter和setter方法

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </head> <bod

魏兆辉的IOS基础学习笔记之九 OC语言基础-04 getter和setter方法

存取方法分为两种:setter方法和getter方法.setter方法,是为对象中的变量赋值.getter方法,是通过对象本身访问对象属性. 在Objective-c中,Cocoa框架在定义存取方法的时候,有相关的规定: (1). setter方法,根据它的所要去改变的属性名称来命名,并在前面加set前缀.如:setEngine,setTire等. (2). getter方法,则是以其返回的属性名称来命名,不要将get前缀加到getter方法名前面.因为在Cocoa中,get前缀有其他的用途.一

getter 和 setter方法

在ARC下  setter方法 -(void)setUserArray:(NSArray *)userArray{    _userArray = userArray;} //getter方法 -(NSArray *)userArray{    return _userArray;} 在MRC下 setter -(void)setUserArray:(NSArray *)userArray{    if (_userArray != userArray) {                [_u

自动生成getter,setter方法的插件lombok

1.在InteiliJ IDEA上安装lombok插件,并重启 . 2.在pom.xml文件中添加依赖 <dependency>    <groupId>org.projectlombok</groupId>    <artifactId>lombok</artifactId></dependency> 3.可以在实体类中使用注解 @Getter   注解在属性上:为属性提供 get 方法 @Setter  注解在属性上:为属性提供

Java反射通过getter和setter方法实现类的拷贝

1 private User copyFieldValues(User userData, User user) { 2 Field[] fields = user.getClass().getDeclaredFields(); 3 String[] fieldNames = getFieldNames(fields); 4 for (int i = 0; i < fieldNames.length; i++) { 5 Object value = getFieldValueByName(fie

Java上使用Lombok插件简化Getter、Setter方法

Maven引入依赖: <dependencies> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.18</version> <scope>provided</scope> </dependency> </dependencie