Python高级语法-对象实例对象属性-类与实例,class方法静态方法等(4.6.1)
@
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地址
个人公众号:
Python高级语法-对象实例对象属性-类与实例,class方法静态方法等(4.6.1)的更多相关文章
- Python高级语法之:一篇文章了解yield与Generator生成器
Python高级语法中,由一个yield关键词生成的generator生成器,是精髓中的精髓.它虽然比装饰器.魔法方法更难懂,但是它强大到我们难以想象的地步:小到简单的for loop循环,大到代替多 ...
- java 编程基础 Class对象 反射 :获取类的构造方法,方法,成员变量,内部类,外部类,父类,实现的接口,修饰符等...
类 Class 每个类被加载之后,系统就会为该类生成一个对应的Class对象,通过该Class对象就可以访问到JVM中的这个类. 我们在Java中获取Class对象一般有三种方式: (1), 使用C ...
- Python基础语法07--面向对象+正则表达式
Python 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 如果你以前没有接触过 ...
- python面对对象编程------4:类基本的特殊方法__str__,__repr__,__hash__,__new__,__bool__,6大比较方法
一:string相关:__str__(),__repr__(),__format__() str方法更面向人类阅读,print()使用的就是str repr方法更面对python,目标是希望生成一个放 ...
- 网络编程-Python高级语法-property属性
知识点: 一.什么是property属性? 一种用起来像是使用的实例属性一样的特殊属性,可以对应于某个方法,Python的property属性的功能是:property属性内部进行一系列的逻辑计算,最 ...
- Python高级语法-贯彻回顾-元类(4.99.1)
@ 目录 1.为什么要掌握元类 2.正文 关于作者 1.为什么要掌握元类 在django中编写models的时候遇到了元类的相关操作 并且在mini-web框架编写的时候也遇到了相关的问题 意识到深入 ...
- Python高级语法总结
1.Python面向对象 创建类 使用class语句来创建一个新类,class之后为类的名称并以冒号结尾,如下实例: class ClassName: '类的帮助信息' #类文档字符串 class_s ...
- 【很变态】PHP类实例化对象竟然可以访问类的“静态(static)方法”!!!
之前发现一个PHP的变态问题:PHP中静态(static)调用非静态方法详解 这次看了下 ThinkPHP 的源码 function.inc.php ,里面有个函数: /** * 取得对象实例 支持调 ...
- python基础语法17 面向对象4 多态,抽象类,鸭子类型,绑定方法classmethod与staticmethod,isinstance与issubclass,反射
多态 1.什么是多态? 多态指的是同一种类型的事物,不同的形态. 2.多态的目的: “多态” 也称之为 “多态性”,目的是为了 在不知道对象具体类型的情况下,统一对象调用方法的规范(比如:名字). 多 ...
随机推荐
- Xrepo:一个现代化的跨平台 C/C++ 包管理器
xrepo 是一个基于 Xmake 的跨平台 C/C++ 包管理器. 项目源码 官方文档 它基于 xmake 提供的运行时,但却是一个完整独立的包管理程序,相比 vcpkg/homebrew 此类包管 ...
- Codeforces Round #677 (Div. 3) E、G题解
E. Two Round Dances #圆排列 题目链接 题意 \(n\)(保证偶数)个人,要表演一个节目,这个节目包含两种圆形舞蹈,而每种圆形舞蹈恰好需要\(n/2\)个人,每个人只能跳一种圆形舞 ...
- 分享:经常说你精通C语言,看看这十道题你会不会解!
今天给大家分享我们在日常工作中可能遇到的疑问,不看答案,你是否有把握都能答对?让我们来试试吧~ 一.会输出"hello-std-out"? 参考答案: stdout和stder ...
- LaTeX的字体字号设置
字体属性: 字体族代码及注释: 显示效果: 字体系列设置及字体形状设置代码及注释: 显示效果: 字体大小及中文字号的设置代码及注释: 显示效果: ctex文档有关中文字号的排版: ctex文档的打开方 ...
- eNSP VLAN划分基础配置及Access接口
交换机内实现VLAN通信拓扑图: 一.修改主机名并保存 1.进入系统视图模式(配置模式) <Huawei>system-view 2.sysname命令修改主机名为yanyuda [Hua ...
- 2020.11最新JAVA环境安装配置
Windows10下java环境配置 更新:2020年11月25日 电脑环境: windows10 64位 一.下载jdk 首先到Oracle网站下载对应操作系统的jdk安装包. https://ww ...
- 你的Idea还可用吗?不妨试试这个神器!
@ 目录 一.STS安装 1.STS下载 2.STS安装 二.STS使用 1.STS配置JDK 2.STS配置Maven 3.使用STS创建SpringBoot项目 三.优化STS 1.主题美化 2. ...
- CentOS中安装Docker步骤
1.安装仓库所需要的软件包 yum install -y yum-utils device-mapper-persistent-data lvm2 2.设置yum加速源 yum-config-mana ...
- 使用paho的MQTT时遇到的重连导致订阅无法收到问题和解决
最近在使用MQTT来实现消息的传输,网上demo很多,这里就不在重复介绍了,直接上代码,百度就能出现一大堆 下面是MQTT实现订阅的主要代码部分 MqttClient client = new Mqt ...
- 20190713_发布网站的时候报错:无法完成向远程代理 URL 发送请求 基础连接已经关闭 发送时发生错误
环境介绍: Vs2017 IIS 7.5 服务器: windows 2008 R2 overflow上有一篇帖子讲了关于问题的解决办法: 链接: https://stackoverflow.com/q ...