Python高级语法-对象实例对象属性-类与实例,class方法静态方法等(4.6.1)

目录

  • 1.说明
  • 2.代码
  • 关于作者

@

1.说明

python中属性:类属性,实例属性
方法:类方法,实例方法,静态方法
想修改类属性,只能是类方法,因为只有类方法把cls(类)传入数据里面
静态方法也就是个普通的方法,为了方便而已
实例方法,不能通过类来直接调用,要调用也可以self = 对象名
具体下面

2.代码

class Provice(object):
    #类属性
    country = "china"

    def __init__(self,name):
        #实例属性
        self.name = name

    def self_control(self):
        print("我是实例方法,我必须有self",self.name)

    @staticmethod
    def static_method():
        #由类调用,无默认参数
        print("我是static_method")

    @classmethod
    def class_method(cls):

        print("我是classmethod++",cls.country)
        cls.country = "china___"

sichuan  = Provice("sichuan")
print(sichuan.name,sichuan.country,Provice.country)
Provice.class_method()
Provice.static_method()
Provice.self_control(sichuan)
sichuan.static_method()

print(sichuan.name,sichuan.country,Provice.country)

关于作者

个人博客网站
个人GitHub地址
个人公众号:

原文地址:https://www.cnblogs.com/simon-idea/p/11411860.html

时间: 2024-10-08 16:55:19

Python高级语法-对象实例对象属性-类与实例,class方法静态方法等(4.6.1)的相关文章

判断对象是否是某个类的实例

判断对象是否是某个类的实例,可以用instanceof运算符,但是不推荐使用 比如var obj = new Date(); obj instanceof Date;//true obj instanceof Object;//true obj instanceof Array;//true 推荐使用constructor属性判断. obj.constructor == Date //true function Test(){} var tt = new Test(); tt.construct

Java反射获取对象VO的属性值(通过Getter方法)

有时候,需要动态获取对象的属性值. 比如,给你一个List,要你遍历这个List的对象的属性,而这个List里的对象并不固定.比如,这次User,下次可能是Company. e.g. 这次我需要做一个Excel导出的工具类,导出的批量数据是以List类型传入的,List里的对象自然每次都不同,这取决于需要导出什么信息. 为了使用方便,将对象的属性名与属性值存于Map当中,使用时就可以直接遍历Map了. 此次的思路是通过反射和Getter方法取得值,然后记录在一个Map当中. Kick start

js 获取函数的所有参数和遍历JavaScript某个对象所有的属性名称和值的方法

获取所有参数 function test(){ for(var i=0;i<arguments.length;i++)  document.write(arguments[i]); } 遍历某个对象所有的属性名称和值的方法 <script language="javascript"> var obj = new Object(); obj.myname = "我是对象"; obj.pro2 = "23"; obj.pro3 = 

【很变态】PHP类实例化对象竟然可以访问类的“静态(static)方法”!!!

之前发现一个PHP的变态问题:PHP中静态(static)调用非静态方法详解 这次看了下 ThinkPHP 的源码 function.inc.php ,里面有个函数: /** * 取得对象实例 支持调用类的静态方法 * * @param string $name 类名 * @param string $method 方法 * @param string $args 参数 * @return object 对象实例 */ function get_instance_of($name, $metho

Java中自定义对象使用Collections工具类中的Sort方法

Collections工具类中的sort方法有两种形式: (1) sort(List<T> list) (2) sort(List<T> list, Comparator<? super T> c) 第一种方法中List类型的对象必须实现Comparable接口,此外,List中的元素必须可比较. 我们先定义类 package com.dongye.sort; import java.util.ArrayList; import java.util.Collection

【python基础语法】常用内置函数、关键字、方法和之间的区别(小结)

''' 关键字: False:bool数据类型 True:bool数据类型 None:表示数据的内容为空 and:逻辑运算符:与 or:逻辑运算符:或 not:逻辑运算符:非 in:身份运算符,判断变量是否在序列中 is :成员运算符,判断变量是否为某个类的实例 del:删除变量或序列的值 assert:列表排序,默认从小到大排序,升序,加参数reverse=True,按降序进行排序 with:简化Python的语句 pass:表示通过(一般用来占位的) if elif else:条件判断 wh

Python高级语法-私有属性-魔法属性(4.7.2)

目录 1.说明 2.代码 关于作者 @ 1.说明 常用的一些魔法方法如下 所谓魔法方法,就是调用的时候 不好好正常调用 2.代码 class Test: """ 我是___doc____ """ class_index = 0 def __init__(self,index): self.index = index print("index") def __call__(self, *args, **kwargs): prin

Python高级语法-私有属性-with上下文管理器(4.7.3)

目录 1.说明 2.代码 关于作者 @ 1.说明 上下文管理器 这里使用with open操作文件,让文件对象实现了自动释放资源.我们也能自定义上下文管理器,通过__enter__()和__exit__()这两个魔术方法来自定义的操作文件 当有上下文使用的场景的时候,如打开一个东西要关闭,像等文件等资源,就可以使用这种方式去定义一个上下文管理器 2.代码 class File(): def __init__(self,filename,mode): self.filename = filenam

python 高级语法

1 #coding:utf-8 2 3 #定义一个装饰器函数 4 def doc_func(func): 5 6 #包裹函数(闭包) 7 def warpfunc(): 8 #做一些额外的事情 9 print "%s called" %(func.__name__) 10 func() 11 12 return warpfunc 13 14 @doc_func 15 def foo(): 16 print "hello" 17 18 @doc_func 19 def