71爱课网 >  邯郸北大青鸟 python属性私有化(python编程是干嘛的)

python属性私有化(python编程是干嘛的)

  • 授课方式: 面授/网课
  • 授课学校:邯郸北大青鸟
  • 预约人数:1148人试听过
  • 教学点: 1个
  • 上课时段: 全日制
  • 开课时间:随到随学
  • 微信客服: 扫码咨询
  • 咨询电话: 15111108655

python

今天学习的是刘金玉老师零基础Python教程104期 类和对象,开始面向对象的开发。

一、类的属性

(一)类的属性:类似于人的身高、职业、性别等称为属性。注意:类的属性默认情况下是直接被开放出去,可以直接调用读取和赋值的。

一、类的方法

(一)在类的内部不同方法之间是可以调用类的同一个性的。

class person:

def setname(self,name):

self.name=name

def getname(self):

return self.name

def sayhello(self):

print("hello,"+p.name)

(二)类的方法私有化作用就是将类的方法只被某些特定的对象调用,只需要在方法名前加两个下划线即可私有化类的方法。而实际上,这种类型的私有化并不是绝对不能被调用的,我们可以采用类的名称前加一个下划线以及定义的真个私有方法名的拼接组合一个新的方法名称就可以调用。(为什么私有化的类可以被调用呢?在python中,私有化的类方法在被编译的时候,实际上就是在这个方法名称前面拼接了下划线和类的名称。)

class person:

def setname(self,name):

self.name=name

def getname(self):

return self.name

def __sayhello(self):

print("hello,"+p.name)

p.person__sayhello()

(三)如何私有化的调用方式知道的呢?

使用inspect库进行方法。

import inspect

methods=inspect.getmembers(p,predicate=inspect.ismethod)

print(methods)

注意点:inspect.getmembers(类的对象,筛选依据)

(四)补充:无论是类的方法还是类的属性,只要在方法或者属性名称前面加上两个下划线,那么就会被python编译器自动私有化,会在这个名称前面加上一个_类的名称。

class person:

def setname(self,name):

self.name=name

def getname(self):

return self.name

def __sayhello(self):

print("hello,"+p.name)

p=person()

p.setname("二流子")

print(p.getname())

print(p.name)

p._person__sayhello()

import inspect

methods=inspect.getmembers(p,predicate=inspect.ismethod)

print(methods)

学习编程第206天 python编程 类的属性方法和私有化

推荐课程

热门课程推荐

师资力量

相关培训资讯