摘要:
前面已经说过yield的作用: 1、类似于return每次返回一个值 2、代码块(函数)暂停在yield的位置,下次调用时继续执行yield之后和之前的代码块 3、通过next(f)获取到yield的返回值 send的作用其实和yield类似: 1、类似于return每次返回一个值 2、代码块(函数 阅读全文
摘要:
# 因为生成器会根据逻辑遍历可迭代对象(此处是l1)生成新的对象。这本身没什么问题,也符合我们的要求# 但是如果可迭代对象的内容非常庞大例如: # 通过上面的例子,我们知道直接使用生成器如果遇到较大的迭代对象,就会占用非常大的内存 # 下面通过该为迭代器的方法来实现上述例子 # 为了避免此类情况的发 阅读全文
摘要:
根据输入的内容执行对应的操作 采用逻辑判断方式: 1 class CName(): 2 def __init__(self,s): 3 self.s = s 4 5 def say_Z(self): 6 print('I am ZZZ') 7 8 def say_0(self): 9 print(' 阅读全文
摘要:
运行结果: 从上面的例子可以看出,hasattr作用是判断实例是否有对应的属性(数据属性和方法属性),如果有返回True,没有则返回False getattr: 执行结果: 从上面的例子可以看出,getattr是根据传入的字符串来判断是否有对应属性,如果有对应属性,则返回该属性的值(内存地址);如果 阅读全文
摘要:
建立不中断tcp链接: tcp服务端: tcp客户端: 注意:tcp是需要建立双向连接的,所以需要监听客户端的链接,同时根据所建立的链接来收发消息。并且tcp的IP和端口绑定后(形成一个通道),建立连接之后不允许其他链接接入。 补:TCP与UDP区别详见:https://blog.csdn.net/ 阅读全文
摘要:
1 class Student(): 2 def __init__(self,score): 3 self.score = score 4 5 s1 = Student(59) # 实例化对象并给对象属性赋值 6 s1.score = 80 # 这样直接就能过 实例.数据属性来修改市里的属性值,会导 阅读全文
摘要:
1 import lxml, requests, os 2 from bs4 import BeautifulSoup 3 4 url = 'http://book.txtbook.com.cn/shu/6478/chapterlist.html' 5 response = requests.get 阅读全文