-
简述编写类和执行类中方法的流程。
class File: def read(self): pass def write(self): pass
-
简述面向对象三大特性?
封装,继承,多态
-
将以下函数改成类的方式并调用 :
def func(a1): print(a1)
class Func: def func(self,a): print(a) f = Func() f.func('123')
-
面向对象中的self指的是什么?
self是形式参数,self由那个类创建,找方法的时候就从他开始找。
-
以下代码体现 面向对象的什么特点?
class Person: def __init__(self, name, age, gender): self.name = name self.age = age self.gender = gender obj = Person('武沛齐', 18, '男')
封装
-
以下代码体现 面向对象的什么特点?
class Message: def email(self): """ 发送邮件 :return: """ pass def msg(self): """ 发送短信 :return: """ pass def wechat(self): """ 发送微信 :return: """ pass
封装
-
看代码写结果
class Foo: def func(self): print('foo.func') obj = Foo() result = obj.func() print(result)
foo.func None
-
定义个类,其中有计算圆周长和面积的方法(圆的半径通过参数传递到初始化方法)。
import math class circular: def __init__(self,banjin): self.banjin = banjin def zhouchang(self): return self.banjin*2*math.pi def mianji(self): return self.banjin*self.banjin*math.pi a = circular(9) print(a.mianji(),a.zhouchang())
-
面向对象中为什么要有继承?
增加代码的重用性
-
Python继承时,查找成员的顺序遵循什么规则?
先从子类中寻找,找不到则从父类中寻找
-
看代码写结果
class Base1: def f1(self): print('base1.f1') def f2(self): print('base1.f2') def f3(self): print('base1.f3') self.f1() class Base2: def f1(self): print('base2.f1') class Foo(Base1, Base2): def f0(self): print('foo.f0') self.f3() obj = Foo() obj.f0()
foo.f0 base1.f3 base1.f1
-
看代码写结果:
class Base: def f1(self): print('base.f1') def f3(self): self.f1() print('base.f3') class Foo(Base): def f1(self): print('foo.f1') def f2(self): print('foo.f2') self.f3() obj = Foo() obj.f2()
foo.f2 foo.f1 base.f3
-
补充代码实现
user_list = [] while True: user = input(“请输入用户名:”) pwd = input(“请输入密码:”) email = input(“请输入邮箱:”) """ # 需求 1. while循环提示 户输 : 户名、密码、邮箱(正则满 邮箱格式) 2. 为每个 户创建 个对象,并添加到 表中。 3. 当 表中的添加 3个对象后,跳出循环并以此循环打印所有 户的姓名和邮箱 """
user_list = [] class User: def __init__(self,user,pwd,email): self.user = user self.pwd = pwd self.email = email while True: user = input('请输入用户名:') pwd = input('请输入密码:') email = input('请输入邮箱:') userinfo = User(user,pwd,email) user_list.append(userinfo) if len(user_list)==3: for i in user_list: print('用户姓名:%s,用户邮箱:%s'%(i.user,i.email)) break
-
补充代码:实现用户注册和登录。
class User: def __init__(self, name, pwd): self.name = name self.pwd = pwd class Account: def __init__(self): # 用户列表,数据格式:[user对象,user对象,user对象] self.user_list = [] def login(self): """ 用户登录,输入用户名和密码然后去self.user_list中校验用户合法性 :return: """ pass def register(self): """ 用户注册,没注册一个用户就创建一个user对象,然后添加到self.user_list中,表示注册成功。 :return: """ pass def run(self): """ 主程序 :return: """ pass if __name__ == '__main__': obj = Account() obj.run()
class User: def __init__(self, name, pwd): self.name = name self.pwd = pwd class Account: def __init__(self): # 用户列表,数据格式:[user对象,user对象,user对象] self.user_list = [] def login(self): """ 用户登录,输入用户名和密码然后去self.user_list中校验用户合法性 :return: """ name = input("请输入登录用户名:") pwd = input("请输入登录密码:") for i in self.user_list: if name == i.name and pwd == i.pwd: print("登录成功") return True print("登录失败") return False # pass def register(self): """ 用户注册,每注册一个用户就创建一个user对象,然后添加到self.user_list中,表示注册成功。 :return: """ name = input("请输入注册用户名:") pwd = input("请输入注册用户密码:") user = User(name,pwd) self.user_list.append(user) # pass def run(self): """ 主程序 :return: """ self.register() self.login() if __name__ == '__main__': obj = Account() obj.run()#实现用户注册和登录。
老男孩python全栈s21day19作业(面向对象)
最新推荐文章于 2022-01-21 17:07:00 发布