第 7 天 python类的反射和socket编程

 1 #!/user/bin/env python
 2 # -*- coding:utf-8 -*-
 3
 4 import sys
 5 class WebServer(object):
 6 def __init__(self,host,port):
 7 self.host = host
 8 self.port = port
 9
10 def start(self):
11 print("Servser is starting....")
12
13 def stop(self):
14 print("server is stop....")
15
16 def restart(self):
17 self.stop()
18 self.start()
19 print("server isrestart.....")
20
21 def test_run(f,name):
22 print("runngin...",f.host,name)
23
24
25 if __name__ == "__main__":
26     webServer = WebServer("localhost",3304)
27     webServer2 = WebServer("localhost",3306)
28
29 if hasattr(webServer,sys.argv[1]):
30         f = getattr(webServer,sys.argv[1]) #获取webServer.star的内存地址
31 f() #执行该函数
32
33 #把test_run的方法绑定到实例中
34 # setattr(webServer,"r_run",test_run)
35         # webServer.r_run(webServer,"tommie") #绑定在webServer实例上
36 # webServer2.r_run(webServer,"tommie") #
37
38         #删除
39 # delattr(webServer,"host")
40 delattr(WebServer,"start") #删除了start方法
41 print(webServer.restart()) 
时间: 2024-10-13 17:09:05

第 7 天 python类的反射和socket编程的相关文章

python类的反射

反射 通过字符串映射或者修改程序运行时的状态.属性.方法, 有一下4个方法 小例子--根据用户输入调用方法: class Dog(object): def __init__(self,name): self.name = name def eat(self): print("%s is eating..",self.name) d= Dog('二哈') choice = input(">>:").strip() d.choice() =========执

Python类中反射的作用

#coding:utf-8 ''' #反射的基本用法: hasattr 判断一个方法是否存在于实例中 getattr 指定一个方法名字,获取该方法的内存地址,加"()"括号并可执行 ''' import sys class WebServer(object): def __init__(self,host,port): self.host = host self.port = port def start(self): print("Server is starting...

Python类(四)-反射

反射即通过字符串映射或修改程序运行时的状态.属性.方法 有4个方法: hasattr(): hasattr(object,string):object为实例化的对象,string为字符串 判断对象object里是否有对应字符串string的方法或属性,返回布尔型 # -*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" class Person(object): def __init__(self,name): self.name = nam

Python学习笔记14(socket编程)

socket更详细的介绍在这篇就不做说明了,有兴趣的同学可以去网上查找相关资料或者直接https://docs.python.org/3/library/socket.html查看 简单的理解,socket就是将更底部的FTP.UDP等协议进行的一次封装,不用他们是如何进行三次握手四次挥手,只暴露给我们一个send发送数据和recv接收数据.因为双方进行通信最本质的作用就是收发数据. 一.声明一个socket对象 sk = socket.socket(socket.AF_INET,socket.

【Python学习之旅】---socket编程(基于TCP/UDP编程)

原文地址:https://www.cnblogs.com/chenyuxia/p/12271080.html

Python 之 类的反射

类的反射作用 当一个类中,带有多个方法时,要求用户输入方法名,并调用相应函数,此时就可使用类的反射方法,来快速调用相应函数,而不再需要使用多个IF判断条件语句. 类的反射方法 hasattr(obj,name_str) 判断一个对象OBJ里是否有对应的name_str字符串的方法 getattr(obj,name_str) 根据字符串去获取obj对象里的对应方法的内存地址 setattr(obj,'y',z) 相当于 obj.y = 'v' delattr(obj,name_str) 删除一个对

类的反射

一.概念 Python中反射是作用于类中的方法和属性,通过字符串映射或修改程序运行时的状态.属性.方法. 二.反射方法 2.1.hasarttr(obj,name_str) 判断一个对象obj中是否有对应的name_str字符串的属性或者方法 class Person(object): def __init__(self, name): self.name = name def sport(self, item): print("%s is good at %s" % (self.na

python学习道路(day8note)(抽象类,类的方法,异常处理,socket编程)

1.#面向对象 #抽象接口 === 抽象类 #就是架构师给你一个架子,你们去写,如果满足不了直接报错 1 #python2 2 print("python2---抽象类".center(20,'#')) 3 import abc #需要在python2中测试,如果直接运行会报错 4 #因为没有调用send方法 5 class Alert(object): 6 '''报警基类''' 7 __metaclass__ = abc.ABCMeta 8 @abc.abstractmethod 9

python中的反射

在绝大多数语言中,都有反射机制的存在.从作用上来讲,反射是为了增加程序的动态描述能力.通俗一些,就是可以让用户参与代码执行的决定权.在程序编写的时候,我们会写很多类,类中又有自己的函数,对象等等.这些类和函数都是为了后序代码服务,程序员决定什么时候用到哪一个类,什么时候调用某个函数.但很多时候,我们需要根据用户的需求来决定执行哪一段代码块.用户可能是通过点击,输入数据,或者其他方式发出指令,反射则将用户的指令传递到需要执行的那一段代码块.这个过程是自动执行的,无需人工去核对用户指令是否应该执行那