day 17 面向对象-成员
Day17面向对象-成员
变量
1.成员变量(实例变量)(字段column)
2.类变量(静态变量)直接写在类中的,共享出去的
方法
1.成员(实例)方法,加了self的调用的时候.必须用对象去访问
2.类方法.当方法需要传递类名的时候,需要类方法.规范规则:在上方加@classmethod
3.静态方法,当你的方法不需要传递当前类的对象的时候.语法规则:在上方加@staticmethod
属性
用方法来描述我们的属性信息
注意:
1.@property 改变一个方法成为属性
2.这个方法只能有一个参数
3.必须有返回值
私有
只能在自己的类中访问
__方法
__变量
__类变量
#变量
class Person:
country="中国" #类变量.不属于对象.对象可以访问
def __init__(self,name,num,gender,birthday):
#成员变量(实例变量)
self.name=name
self.num=num
self.gender=gender
self.birthday=birthday
#对象来访问(成员方法) (实例方法)
def marry(self,duifang):
print("人会结婚%s" % duifang)
alex=Person("李杰",10086,"男","昨天")
alex.country="澳大利亚" #这里和变量没有关系,alex单独加了一个属性叫country="澳大利亚
wusir=Person("吴佩琪",10010,"女","今天")
print(alex.country) #澳大利亚#拿到的是自己
print(wusir.country) #中国
print(Person.country) #中国
# 总结:类变量,用类名去操作.
# 方法
class Person:
def __init__(self):
pass
#实例方法需要传递类的对象 self
def think(self):
print("人能思考")
#静态方法不需要传递对象或者类
@staticmethod#静态方法
def jisuan(a,b):
print("我来过这里")
return a+b
#类方法:第一个参数传递的是类名
@classmethod
def clsMethod(cls):
p=cls()
print("我是一个类方法",p)
p=Person()
p.think()
Person.think(p)
# 静态方法的调用
# 类名访问
# 静态的内容也用类名访问
# 属性
class Person:
def __init__(self,name,num,gender,birthday):
self.name=name
self.num=num
self.gender=gender
self.birthday=birthday
@property
def age(self): #方法只有一个参数,self
return 10 #必须有返回值
p=Person("alex","10086","不详","1894943")
print(p.age)
# 私有
class Tiger:
def __init__(self,name,waibiao,qingzheng,qingfu,money,fangchan):
self.name=name
self.waibiao=waibiao
self.qingzheng=qingzheng
self.__qingfu=qingfu
self.__money=money
self.__fangchan=fangchan
def buy(self):
print("我有%s" % self.__money)
self.__sel()
def __sel(self):
print("我要卖掉%s" % self.__fangchan)
lh=Tiger("alex","正直","刚正","小潘潘",10000000,5)
lh.buy()
# 成员:
class Person:
def __init__(self,name,num,gender,birthday):
self.name=name
self.num=num
#对象来访问(成员方法)(实例方法)
# 成员:在类中定义的变量和方法都被称为成员
转载于:https://www.cnblogs.com/litieshuai/p/9715205.html
day 17 面向对象-成员相关推荐
- 17. 面向对象基础
第三模块 面向对象&网络编程&并发编程 从今天开始,我们将进入系列课程第3个模块的的学习,此模块包含如下三大部分知识: 面向对象,Python中支持两种编程方式来写代码,分别是:函数式 ...
- 【C++ 语言】面向对象 ( 成员函数 | 常量函数 | 友元函数 | 友元类 | 单例类 )
文章目录 成员函数 常量函数 友元函数 new 创建对象 友元类 单例类 成员函数 此处继续上一篇博客继续向后讲解C++面向对象 类成员方法 , 除了定义构造方法与析构方法之外 , 还可以定义普通的成 ...
- 7 面向对象(成员变量和局部变量的区别,类作为形式参数的问题,匿名对象,封装,private关键字,this关键字,构造方法,类的初始化过程,static关键字)
1:成员变量和局部变量的区别(理解) (1)在类中的位置不同 成员变量:类中方法外 局部变量:方法定义中或者方法声明上 (2)在内存中的位置不同 成员变量:在堆中 局部变量:在栈中 (3)生命周期不同 ...
- Python学习 :面向对象 -- 成员修饰符
成员修饰符 两种成员 - 公有成员 - 私有成员, __字段名 - 无法直接访问,只能通过内部方法来间接访问私有成员 简例:公有成员与私有成员 class Info:country = '中国' # ...
- [零基础学JAVA]Java SE面向对象部分-17.面向对象高级(05)
上季内容回顾: 1.对象的多态性 2.抽象类和接口 本季主要知识点: 抽象类和接口的实际应用 1.子类对象可以为父类对象实例化,之后调用的方法都是子类中已经被覆写过的方法. 2.就可以利用此特性, ...
- Python面向对象进阶及类成员
再次了解多继承 先来一段代码 #!/usr/bin/env python # _*_ coding:utf-8 _*_ class A: def bar(self): print( ...
- Day7 - 面向对象编程进阶及其他相关
参考文章:http://www.cnblogs.com/alex3714/articles/5213184.html 本节内容: 面向对象高级语法部分 静态方法.类方法.属性方法 类的特殊成员方法 反 ...
- 第五十节,面向对象基本介绍
一,面向对象基础1 c#.Java:只能用面向对象编程 Ruby.python.php:函数编程 + 面向对象 1.面向过程编程2 就是程序最底层的实现过程 2.函数式编程3 就是将最底层的实现过程封 ...
- python 面向对象高级应用(三)
目录: isinstance(obj,cls)和issubclass(sub,super) 反射 __setattr__,__delattr__,__getattr__ 二次加工标准类型(包装) __ ...
最新文章
- (原)ubuntu中使用conda安装tensorflow-gpu
- Linux下各类TCP网络服务器的实现源代码
- golang 写入文件 覆盖旧文件 将旧文件清空
- Android之UI控件
- 无线研究 破解分享
- There is no Action mapped for namespace [/] and action name [LoginAction_home] associ
- 爬取B站免费视频--python代码赶快拿
- blfs(systemd版本)学习笔记-编译安装openssh软件包
- 关于腾讯云服务器不能用公网ip访问的解决方案
- 子集数据帧中的丢包因子级别
- 【裂缝识别】基于matlab GUI BP神经网络路面裂缝识别系统【含Matlab源码 1063期】
- PASCAL VOC2012数据集分析
- Cocos Creator 实现大厅+子游戏模式
- 学习笔记(二)之字符常量和字符串常量
- LimeSDR环境的安装
- 用层次分析法解决购买笔记本电脑的问题
- 2021年中国天眼对外开放,美媒感叹中国崛起的科技实力
- 百练:1042 Gone Fishing
- 05无人机动态模型(姿态表示与控制理论)2020-08-15
- 我为什么要立刻放弃React而使用Vue?
热门文章
- Windows下Apache Tomcat 8安装配置
- Nginx 系列:Nginx 实践,location 路径匹配
- Apache常见配置及问题
- 【PL/SQL】开发程序
- Maven Web项目配置Mybatis出现SqlSessionFactory错误的解决方案
- 项目出现 The superclass “javax.servlet.http.HttpServlet“ was not found on the Java Build Path 解决方法
- 如何在python中识别未知的日期时区时区
- Docker如何更改存储库名称或重命名图像?
- 你如何在PowerShell中注释掉代码?
- c语言中用于程序化结构设计的三种结构是,c语言中用于结构化程序设计的3种基本结构是...