python_静态对象_socket

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python_静态对象_socket相关的知识,希望对你有一定的参考价值。

面向对象的编程进阶
 
静态方法
 
加上staticmethod后这个函数虽然还在类里,但已经和类没有关系了,也不需要再调用self
直接d = Dog("chenronghua")
d.eat(d)
 
举例:
class Dog(object):
    def __init__(self, name, ):
        self.name = name
 
    @staticmethod#此时会报错缺少self
    def eat(self):
        print ("%s is eating"%(self.name))
 
d = Dog("陈荣华")
d.eat()
 
TypeError: eat() missing 1 required positional argument: ‘self‘
 
类方法
 
类方法
只能访问类比变量
 
属性方法
把一个方法变成一个静态属性
class Dog(object):
    def __init__(self, name, ):
        self.name = name
 
    @property #attribute
    def eat(self):
        print ("%s is eating"%self.name)
 
d = Dog("chenronghua")
d.eat
 
类的特殊成员方法
 
__doc__
#直接打印这个类的描述
class Foo(object):
     """这个类是描述狗这个对象"""
print (Foo.__doc__) 
 
__module__和__class__
__module__表示当前操作的对象在那个模块
__class__ 表示当前的对象的类是什么
 
__call__对象后面加括号,触发执行
 
class Dog(object):
     def __cal__(self, *args, *kwargs)
d = Dog("chenronghua")
d(1,2,3,name="3333")
 
__dict__
 
打印类里的属性
class Dog(object):
     def __cal__(self, *args, *kwargs)
 
d = Dog("chenronghua")
d(1,2,3,name="3333")
 
#打印类里的属性
print Dog.__dict__
#打印d里的方法
print d.__dict__
 
反射
hasattr(obj,name_str)   
getattr(obj_name_str)
 
class Dog(object):
 
    def __init__(self, name):
        self.name = name
 
    def eat(self):
        print ("%s is eating..."%self.name)
 
d = Dog("niu")
choice = input(">>:").strip()
if hasattr(d,choice):            #判断对象里是否有对应的字符串的方法映射
    func = getattr(d,choice)     #根据字符串里的对象去获取对应的方法内存地址
    func("chenronghua")
 
 
def bulk(name):
     print ("%s da jiao "%name)
 
 
 
class Dog(object):
    def __init__(self, name):
        self.name = name
 
    def eat(self,food):
        print ("%s eat %s"%(self.name,food))
 
d = Dog("牛汉阳")
# d.eat("chenronghua")
 
def bulk(self):
    print ("yell %s"%self.name)
 
choice = input(" >> : " )
 
if hasattr(d,choice):
    print (hasattr(d,choice))
    getattr(d,choice)("草")
else:
    setattr(d,choice,bulk)
    getattr(d,choice)(d)
    #func = getattrt(d,choice)
    #func(d)
 
 
SOCKET
conn,addr = server.accept()
conn是个客户端连接到服务器为其生成的一个实例
addr 是个IP地址和端口
 

以上是关于python_静态对象_socket的主要内容,如果未能解决你的问题,请参考以下文章

python_静态对象_socket

30.Python面向对象类方法和静态方法动态绑定属性和__slots__限制绑定@property

30.Python面向对象类方法和静态方法动态绑定属性和__slots__限制绑定@property

Python面向对象 | 类的成员

30.Python面向对象类方法和静态方法动态绑定属性和__slots__限制绑定@property

python中类对象实例对象类属性实例属性类方法实例方法静态方法