python的面相对象中,拥有3个成员,字段、方法、属性

 class Foo:
def __init__(self,name):
#公有字段name在类中与类外均能调用
self.name = name def f1(self):
print(self.name) obj = Foo('alex')
#内部调用
print(obj.name)
#>>>alex
#外部调用
obj.f1()
#>>>alex
 class Foo:
def __init__(self,name):
#私有字段name只能在类中调用类外不能调用
self.__name = name def f1(self):
print(self.__name) obj = Foo('alex')
#内部调用
print(obj.name)
#>>>alex
#外部调用
obj.f1()
#>>>报错
 #特殊成员
class Foo:
#构造方法
def __init__(self,name,age):
self.name =name
self.age = age
print('实例化对象时执行') #析构方法
def __def__(self):
print('内存被释放时,自动触发执行')
def __call__(self):
print('call') def __str__(self):
return '%s-%d'%(self.name,self.age)
return '返回什么就显示什么'
p=Foo()
>>>实例化对象时执行
#>>>显示对象属于哪个类
print(p.__class__)
>>><class '__main__.Foo'>
#执行call方法
p()
>>>call
#先执行构造方法在执行call方法
Foo()()
>>>实例化对象时执行
>>>call obj1 = Foo('alex',71)
obj2 = Foo('eric',72)
#打印对象自动调用__str__方法
print(obj1)
>>>alex-71
print(obj2)
>>>eric-72
#执行str()方法的时候自动调用__str__方法
ret = str(obj1)
print(ret)
>>>alex-71
 class Foo:
def __init__(self,name):
self.name = name #显示对象下的字段,以字典的形式保存
obj1 = Foo('alex')
obj2 = Foo('ecic')
ret = obj1.__dict__
print(ret)
print(ret['name']
>>>{'name','alex'}
>>>alex
class Foo:
def __init__(self,name,age):
self.name = name
self.age =age def __add__(self,other):
temp = '%s - %d'%(self.name,other.age)
return temp #执行对象相加的时候自动执行__add__方法
obj1 = Foo('alex',71)
obj2 = Foo('ecic',72)
#将obj1传入__add__方法的self中,obj2传入other中
ret = obj1 + obj2
print(ret)
>>>alex - 72

python-成员修饰符的更多相关文章

  1. Python学习:17.Python面向对象(四、属性(特性),成员修饰符,类的特殊成员)

    一.属性(特性) 普通方法去执行的时候,后面需要加括号,特性方法执行的时候和静态字段一样不需要不需要加括号. 特性方法不和字段同名. 特性方法不能传参数. 在我们定义数据库字段类的时候,往往需要对其中 ...

  2. python - 类成员修饰符

    在java,c#类的成员修饰符包括,公有.私有.程序集可用的.受保护的. 对于python来说,只有两个成员修饰符:公有成员,私有成员 成员修饰符是来修饰谁呢?当然是修饰成员了.那么python类的成 ...

  3. Python:Day25 成员修饰符、特殊成员、反射、单例

    一.成员修饰符 共有成员 私有成员,__字段名,__方法 - 无法直接访问,只能间接访问 class Foo: def __init__(self,name,age): self.name = nam ...

  4. Python之 ---成员修饰符

    一:成员修饰符:分为共有成员和私有成员: 私有成员:__通过两个下滑线:无法直接访问,要访问只能间接访问: 如下我们定义了一个对象,里面有两个共有的成员变量,成员变量是共有的时候我们可以外部访问,如果 ...

  5. Python面向对象之成员修饰符

    对于这些类成员有修饰符 之前定义字段country任何对象都可以访问,是公有的 可以定义为私用属性,只有类内部的方法可以调用,外部不能直接调用,但是可以间接调用 vim day7-10.py #!/u ...

  6. Python学习 :面向对象 -- 成员修饰符

    成员修饰符 两种成员 - 公有成员 - 私有成员, __字段名 - 无法直接访问,只能通过内部方法来间接访问私有成员 简例:公有成员与私有成员  class Info: country = '中国' ...

  7. Python菜鸟之路:Python基础-类(2)——成员、成员修饰符、异常及其他

    三大成员 在Python的面向对象中,主要包括三大成员:字段.方法.属性 字段 类成员的字段又可分为普通字段.静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同,代码示例如下: ...

  8. python学习day20 面向对象(二)类成员&成员修饰符

    1.成员 类成员 类变量 绑定方法 类方法 静态方法 属性 实例成员(对象) 实例变量 1.1实例变量 类实例化后的对象内部的变量 1.2类变量 类中的变量,写在类的下一级和方法同一级. 访问方法: ...

  9. Python面向对象(成员修饰符)

    day25 成员修饰符 class Foo: def __init__(self, name, age): self.name = name self.__age = age#私有,外部无法直接访问 ...

  10. python_way,day8 面向对象【多态、成员--字段 方法 属性、成员修饰符、特殊成员、异常处理、设计模式之单例模式、模块:isinstance、issubclass】

    python_way day8 一.面向对象三大特性: 多态 二.面向对象中的成员 字段.方法属性 三.成员修饰符 四.特殊成员 __init__.__doc__.__call__.__setitem ...

随机推荐

  1. selenium 打开浏览器报错java.lang.NoSuchMethodError: org.openqa.selenium.chrome.ChromeOptions.addArguments([Ljava/lang/String;)

    java.lang.NoSuchMethodError: org.openqa.selenium.chrome.ChromeOptions.addArguments([Ljava/lang/Strin ...

  2. robotframework实战二---Jenkins连用

    1.下载插件robot Jenkins环境搭建就不用说了,网上有很多帖子,你在使用时,你需要做以下几步 因为目前我已经安装了 2.新建项目 因为有重名的项目,所以会提示以下内容 你需要配置的内容就两处 ...

  3. 【CCPC-Wannafly Winter Camp Day4 (Div1) D】欧拉回路(分类讨论)

    点此看题面 大致题意: 有一个\(n\)行\(m\)列的网格图,让你给每一条边设置一个通过次数(\(\ge1\)),使其成为欧拉回路,且通过次数总和最小. 初始化 首先,由于通过次数\(\ge1\), ...

  4. CentOS 5.6怎么安装MongoDB数据库?

    1. 下载Linux版本的 MongoDB 数据库 到官方的下载页面下载mongodb的Linux版本,32位还是64位根据自己的情况自行选择 http://www.mongodb.org/downl ...

  5. 初尝微信小程序2-基本框架

    基本框架: .wxml :页面骨架 .wxss :页面样式 .js :页面逻辑    描述一些行为 .json :页面配置 创建一个小程序之后,app.js,app.json,app.wxss是必须的 ...

  6. Apache.Tomcat 调用Servlet原理之Class类的反射机制,用orc类解释

    有一个兽人类 package com.swift.servlet; public class OrcDemo { private int hp; private int mp; private int ...

  7. eclipse环境Dynamic web module version 3.1版本的进步,简化Dynamic web object 中Servlet类的配置,不用web.xml配置<Servlet>

    eclipse环境Dynamic web module version 3.1版本之前,Dynamic web object 中Servlet类的配置,要在web.xml 配置<Servlet& ...

  8. Python 初始—(函数·)

    过程是没有返回值的函数,有一系列的函数组合和逻辑功能结合即为过程: def 定义函数: def 函数名(): print("") 位置参数和关键字调用,根据位置参数优先,关键字参数 ...

  9. SSH 登录时出现如下错误:No supported key exchange algorithms

    https://help.aliyun.com/knowledge_detail/41486.html

  10. 在win10上同时安装Python2/Python3

    如何在win10上同时安装python2和python3? 为了满足日常工作或者学习的需要,我们可能会经常用到python2和python3,下面是给大家在win10上同时安装两个版本的python的 ...