python 修饰类对象_Python面向对象之成员修饰符

对于这些类成员有修饰符

之前定义字段country任何对象都可以访问,是公有的

可以定义为私用属性,只有类内部的方法可以调用,外部不能直接调用,但是可以间接调用

vim day7-10.py

#!/usr/bin/python

# -*- coding:utf-8 -*-

class Foo(object):

__country = "中国"

def func(self):

print Foo.__country

obj = Foo()

obj.func()

如果直接在外部调用Foo.__country会报错

同样在方法前面加两个下划线在类的外部的无法调用

PS:私有的方法只能内部访问,就算是继承也是无法调用访问的

可以在外部使用方法调用

vim day7-11.py

#!/usr/bin/python

# -*- coding:utf-8 -*-

class Foo(object):

__country = "中国"

def __init__(self):

self.__name = 'alex'

obj = Foo()

#obj.__name

print obj._Foo__name

PS:这种方法不推荐使用

想使用就用间接方式应用

小结:

1,面向对象三大特性

封装,继承,多态(python用不到)

2,python,封装

a,多个方法公用一组变量,变量封装到对象中

b,多个方法封装在一个类中

3,继承

a,基类,派生类

b,多继承

c,新式类,经典类

d,广度优先,深度优先

4,类,对象

5,类成员

a,字段

普通(保存在对象中) 静态(保存在内存中)

b,方法

普通方法     触发者:对象  至少一个self 参数

类方法        触发者:类  只有一个cls 参数

静态方法     触发者:类   任意参数

c,属性(属性是对方法的变种,访问时和字段相似)

@property

Data = property(方法名)

#obj.Data = 执行方法并获取返回值

新式类中属性

@property      #设置属性

@方法名.setter    #获取属性

@方法名.deleter    #删除属性

6,类成员修饰符

公有 私有(加两个下划线__,只能内部访问,也能强制访问,最好间接访问)

作业

1,计算器

2,游戏人生

面向对象

练习 paramiko,configpaser

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值