码迷,mamicode.com
首页 > 编程语言 > 详细

13.01python语言基础(元类)

时间:2018-09-06 12:25:06      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:关键字   print   属性   test   pass   pre   new   一个   int   

python中的类,类同样是一种对象,只要使用关键字class,python解释器执行的时候就会创建一个对象

class Test(object):

  pass

test = Test()

print(test)

 

判断一个对象是否在某个类中--->

hasattr(obj,str)

 

class Test(object):

  pass

test = Test()

print(test)

print(Test)

 

def info(o):

  print(o)

可以将类作为参数传递给函数

info(test)

可以为类添加新的属性:

class Test(object):
pass
test = Test()
print(test)
print(Test)

def info(o):
print(o)

info(test)

print(hasattr(Test,‘new attribute‘))
Test.new_attribute = ‘haha‘
print(hasattr(Test,‘new_attribute‘))
print(Test.new_attribute)

运行结果:

<__main__.Test object at 0x00000198F952C198>
<class ‘__main__.Test‘>
<__main__.Test object at 0x00000198F952C198>
False
True
haha

 

注:判断一个对象是否在类中,使用hasattr,格式hasattr(obj,str)

 

13.02python语言基础(动态创建类)

 

动态创建类

def choose_name(name):

  if name == 'haha'

    class haha(object):

      pass

    return haha

  else:

    class heihei(object):

      pass

    return heihei

 

my_class = choose_name('haha')

print(my_class)

print(my_class())

 

13.01python语言基础(元类)

标签:关键字   print   属性   test   pass   pre   new   一个   int   

原文地址:https://www.cnblogs.com/mylove-821717420/p/9597258.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!