?1.
class User(object): #重写__int__初始化方法,该方法用来初始化属,在构建方法的时候,这个方法会自动触发,用来初始化属性 def __init__(self): #name = “” 这是一个局部变量 #self类似指针 this #self.name类的属性 print("构建对象时触发了") self.name="潘先森" self.age=21 self.gender="男" self.tel="15882657456" def study(self): print("我爱学习") print("马上触发了") u=User() print("触发结束了") print(u.name,"\t",u.gender,"\t",u.age,"\t",u.tel) u.age+=1 #直接修改本对象的age属性 print(u.age) u.study()
2.
class User(object): #重写__int__初始化方法,该方法用来初始化属 #因为在构建对象的时候,才能确定对象的属性值,我们就可以将这些值进行传递 def __init__(self,name,age,gender,tel): self.name=name self.age=age self.gender=gender self.tel=tel def study(self): print("我爱学习") print("我是"+self.name+",我爱学习") #tostring方法一致 def __str__(self): return "name="+self.name+",age="+str(self.age)+",gender="+self.gender+",tel="+self.tel u=User("潘先森",20,"男","185894965") #打印<__main__.User object at 0x000001920985AFD0> 所以正常打印的对象输出的是内存的地址 # 在列表、字典这些对象打印的时候时候直接输出的就是对象的内容,因为这些对象重写了__str__(sef) print(u) u.study()
3.定义学员信息类,包含姓名、成绩属性,定义成绩打印方法(90分及以上显示优秀,80分及以上显示良好,70分及以上显示中等,60分及以上显示合格,60分以下显示不及格)
class Student(): # 2、定义学员对象属性 def __init__(self, name, score): self.name = name # 所有对象的名字来自哪里 self.score = score # 3、定义一个方法,用于打印学员的成绩等级 def print_grade(self): if self.score >= 90: # 所有对象的成绩判断 print(f'学员姓名:{self.name},学员成绩:{self.score},优秀') elif self.score >= 80: print(f'学员姓名:{self.name},学员成绩:{self.score},良好') elif self.score >= 70: print(f'学员姓名:{self.name},学员成绩:{self.score},中等') elif self.score >= 60: print(f'学员姓名:{self.name},学员成绩:{self.score},及格') else: print(f'学员姓名:{self.name},学员成绩:{self.score},不及格') # 4、实例化对象 name1 = input('请输入姓名:') score1 = int(input('请输入成绩:')) tom = Student(name1, score1) tom.print_grade()
4.小明体重75.0公斤,小明每次跑步会减掉0.50公斤,小明每次吃东西体重增加1公斤
对象:小明
属性:姓名、体重
方法:跑步、吃东西
# 1、定义Person类 class Person(): # 2、初始化对象属性,name和weight def __init__(self, name, weight): self.name = name self.weight = weight # 3、定义一个__str__方法打印对象的信息 def __str__(self): # str方法返回return信息 return f'姓名:{self.name},目前体重:{self.weight}KG' # 4、定义一个run方法代表跑步 def run(self): self.weight -= 0.5 # 5、定义一个eat方法代表吃饭 def eat(self): self.weight += 1 # 6、实例化对象 xiaoming = Person('小明', 75.0) print(xiaoming) # 7、吃饭 xiaoming.eat() print(xiaoming) # 8、减肥跑步 xiaoming.run() print(xiaoming)
5.编写Prime类实现输出大于m且紧随m的k个素数
class Prime: def __init__(self, start_value, number): self.start_value = start_value self.number = number def prime_number(self): count = 0 i = self.start_value + 1 while count < self.number: for j in range(2, i): if i % j == 0: break else: count = count + 1 print(i, end=" ") i = i + 1 m = int(input("请输入起始值m:")) k = int(input("请输入需要的素数个数k:")) prime1 = Prime(m, k) prime1.prime_number()