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地址和端口

时间: 2024-10-24 05:21:33

python_静态对象_socket的相关文章

用JAVASCRIPT实现静态对象、静态方法和静态属性

Javascript语言的面向对象特征很弱,其他面向对象语言在创建类时只要使用关键字static即可指定类为静态类,Javascript没有提供static这样的关键字,要让Javascript也具有"静态"特性只有靠一些"奇技淫巧"了. 代码中列举了两种静态方法/属性的实现方式,一种是静态类的静态方法和属性,另一种是非静态类的静态方法和属性,代码说明都写在每行的代码注释里,这里就不重复了. /************************************

十四、Android学习笔记_Android回调函数触发的几种方式 广播 静态对象

一.通过广播方式: 1.比如登录.假如下面这个方法是外界调用的,那么怎样在LoginActivity里面执行登录操作,成功之后在回调listener接口呢?如果是平常的类,可以通过构造函数将监听类对象传入即可.但是在Activity中不能传递监听对象,所以考虑使用广播来实现. public void login(final LoginOnClickListener listener) { Intent intent = new Intent(context, LoginActivity.clas

静态对象与非静态对象

Java静态对象和非静态对象有什么区别?? 静态对象                                                        非静态对象      是类共同拥有的.                                          是类独立拥有的, 内存空间上是固定的                                              空间在各个附属类里面分配 先分配静态对象的空间                   

bind君不可能干掉静态对象

bind也不是啥新东西了 我一直使用箭头函数代替它的某些功能 也觉得它挺简单的 没做过多的研究 最近发现bind还会帮你做奇怪的事情 不光只是bind了 如下 const x = x=>{x}; x.prop = 'x'; const x2 = x.bind({}); //undefined console.log(x2.prop) 发现x函数上的静态属性被移除了 这并不是我想要的!有些时候 我们就是希望函数上的静态属性被继承下来! 可以这么做  把属性丢到上层原型链中 const x = x=

[整理]C语言中的static静态对象

1.说明外部对象(静态外部变量和静态函数)    (1)static 用于说明外部变量或函数,使该对象的作用域限定为被编译原文件的剩余部分,即从对象说明开始到所在源文件的结束部分:    (2)被static说明的外部对象对于其他的源文件是隐藏的,也就是说其他源文件无法访问得到:    (3)不会和同一程序的其他源文件中的同名的外部对象发生命名冲突. 2.说明内部变量(静态内部变量)    (1)和自动变量一样,作用域为某个特定的函数:    (2)和自动变量不同的是,不管其所在的函数是否被调用

spring学习——注入静态对象属性

spring注入静态对象属性时,因为虚拟机类加载问题,直接在属性上使用@Autowired 是不可以的.需要在属性对应的set方法上@Autowired,并且,set方法不能定义为static. 1.创建静态对象属性对应的类 package com.bluej.springj.service.impl; import org.springframework.stereotype.Service; import com.bluej.springj.service.LogService; @Serv

C++ 静态对象

一:什么是静态对象? 对象的存储方式是静态的. 局部静态对象和类的静态对象. 局部静态对象:一个变量在函数内部定义,其生命周期跨越了该函数的多次调用.局部对象确保不迟于在程序执行流第一次经过该对象的定义语句时进行初始化.这样的对象一旦被创建,在程序结束之前都不会销毁.在定义局部静态对象的函数执行完毕后,该静态对象不会撤销.当该函数被多次调用的过程中,静态局部对象会持续存在并保存它的值. 静态成员对象:静态成员对象存储在全局存储区,静态成员对象的作用域在类的作用域中.其可以避免与其他类成员或全局对

C++ Daily 《6》---- 类静态对象与函数静态对象

C++ 的一个哲学基础是,你不应该为你使用的东西付出代价. class 拥有一个 static 成员,即使从未被用到,它也会被构造和析构: 而 函数拥有一个 static 成员, 如果这个函数从未被调用,则这个对象不会被构造. 做个简单的实验: 结果是没有调用构造函数,因为 thePrinter函数并没有被调用. 相反,类中的一个static 成员,一定会被构造, 因为类的static 成员独立于对象而存在,因此无论是否定义了这个类的对象, static 成员都会构造出来. C++ Daily

Unity3D静态对象优化系列三

我们接着系列二的问题继续讲解,系列二中的问题是如果多个材质是相同的,它没有去优化,接下来我们将其优化一下,首先要找到在哪里去优化,我们看下面的for循环语句也是系列二的代码,如下:                 for (int s = 0; s < meshFilter.sharedMesh.subMeshCount; s++)                 {                     int materialArrayIndex = 0;