慕课Python3 进阶教程笔记

发布时间:2023年12月28日

1.定义继承类的super解释

在__init__()方法,需要调用super(Student, self).__init__(name, gender),来初始化从父类继承过来的属性

class Teacher(Person):
    def __init__(self,name,gender,subject):
        super(Teacher,self).__init__(name,gender)
        self.subject = subject

2.Teacher类继Person类

class Person(object):
    def __init__(self,name,gender):
        self.name = name
        self.gender = gender



class Teacher(Person):
    def __init__(self,name,gender,subject):
        super(Teacher,self).__init__(name,gender)
        self.subject = subject
        
        
teacher = Teacher('zhang','girl','math')
print(teacher.name)
print(teacher.gender)
print(teacher.subject)

3.通过isinstance()方法,可以判断一个对象是否是某个类型

4.斐波那契数列是由 0, 1, 1, 2, 3, 5, 8...构成。

请编写一个Fib类,Fib(10)表示数列的前10个元素,print Fib(10) 可以打印出数列的前 10 个元素,len(Fib(10))可以正确返回数列的个数10。

class Fib(object):
    def __init__(self,num):
        self.res = []
        self.num = num
        a = 0
        b = 1
        for x in range(num):
            self.res.append(a)
            a,b = b,a+b

    def __str__(self):
        return str(self.res)
        
    def __len__(self):
        return self.num
        
        
f = Fib(10)
print(f)
print(len(f))

5.请改造server.py和client.py文件,实现一个echo服务器,使得client.py可以循环接收用户输入并发送给服务端,服务端在收到消息后,也把消息原样返回给client。

server.py

import socket

server = socket.socket() # 1. 新建socket
server.bind(('127.0.0.1', 8999)) # 2. 绑定IP和端口(其中127.0.0.1为本机回环IP)
server.listen(5) # 3. 监听连接
s, addr = server.accept() # 4. 接受连接
print('connect addr:{}'.format(addr))
while True:
    content =s.recv(1024)
    if len(content) == 0:
        break
    s.send(content)
    print(str(content, encoding='utf-8')) # 接受来自客户端的消息,并打印出来

s.close()

client.py

import socket

client = socket.socket() # 1. 新建socket
client.connect(('127.0.0.1', 8999)) # 2. 连接服务端(注意,IP和端口要和服务端一致)
while True:
    content = input('>>> ')
    client.send(bytes(content, 'utf-8')) # 发送内容,注意发送的是字节字符串。
    content = client.recv(1024)
    print(str(content, encoding='utf-8'))

client.close()

文章来源:https://blog.csdn.net/CherryChanccc/article/details/135097424
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。