1.简述编写类和执行类中方法的流程
class 类名:
def method(selfself):
pass
A = 类名()
A.method()
二..简述面向对象三大特性?
封装: 把具有相同属性和功能的内容封装在一个对象中
继承: 子类可以自动拥有父类中除了私有属性外的其他所有内容
多态: 同一个对象.可以拥有多种形态.python原生自带多态性
# 3..将一下函数改成累的方式并调用:
# 列:
def func(a1):
print(a1)
class 类:
def func(self,a1):
print(a1)
A = 类()
A.func(123)
4.方法和函数的区别?
方法: 写在类中的,需要传递self
函数:孤立.不需要传递self
5.什么是构造方法?
def __init__(self):
方法体
构造方法是创建对象的时候自动调用的
6.面向对象中的self指的是什么?
self表示当前类的对象.
7.以下代码体现面向对象的什么特点?
封装
8.这个代码体现面向对象的什么特点?
封装
9.看代码写结果
class foo:
def func(self):
print("foo.func")
obj = foo()
result = obj.func()
print(result)
结果none
10.定义一个类,其中有计算周长和面积的方法(圆的半径通过参数传递到构造方法)
class Circle:
def __init__(self,r):
self.r = r
def zhouchang(self):
return2*3.14*self.r
def mianji(self):
return 3.14*self.r*self*r
c = Circle(5)
print(c.zhouchang())
11.面向对象中为什么要有继承.
为了扩展性
12.python多继承时,查找成员的顺序遵循什么规则?
从左到右 MRO = c3算法
13.看代码写结果
class Base1:
def f1(self):
print('base1,1')
def f2(self):
print('base1,f2')
def f3(self):
print('base2.f3')
self.f1()
class Base2:
def f1(self):
print('base2,f1')
class Foo(Base1, Base2):
def f0(self):
print("foo.f0")
self.f3()
f = Foo()
f.f0()
结果为: foo.f0
base2.f3
base1.1
15. 补充代码实现:
1. while循环输入用户名,密码,邮箱
2. 为每个用户创建一个对象,并添加到列表中
3.当列表中添加了3个对象后,跳出循环并以此循环打印所有用户的姓名和邮箱
如:我叫alex,邮箱是xxx@live.com
我叫oldboy,邮箱是old@live.com
...
class User:
def __init__(self, username, password, email):
self.username = username
self.password = password
self.email = email
user_list = []
for i in range(3):
user = input("请输入用户名:")
pwd = input("请输入密码:")
email = input("请输入邮箱:")
u = User(user, pwd, email)
user_list.append(u)
else:
for u in user_list:
print("我叫%s, 邮箱是:%s" % (u.username, u.email))
16.补充代码实现
class User:
def __init__(self, name, pwd):
self.name = name
self.pwd = pwd
class Account:#账户的意思
def __init__(self):
self.user_list = [] # 数据源
def login(self):#登录
print("欢迎来到登录环节")
username = input("请输入用户名: ")
password = input("请输入密码:")
for u in self.user_list:
if u.name == username and u.pwd == password:
print("登录成功")
return
else:
print("登录失败")
def register(self):
print("欢迎来到注册环节")
uname = input("请输入用户名")
pwd = input("请输入密码")
u = User(uname, pwd)
self.user_list.append(u)
def run(self):
while 1:
print("1. 注册")
print("2. 登录")
num = input("请输入你要执行的操作(Q退出):")
if num == "1":
self.register()# 注册的意思
elif num == "2":
self.login()
elif num.upper() == "Q":
print("退出")
break
else:
print("你是不是傻")
obj = Account()
obj.run()