python day 1
类和对象
简单的说,类是对象的蓝图和模板,而对象是类的实例。在面向对象编程的世界中,一切皆为对象,对象都有属性和行为,每个对象都是独一无二的,而且对象一定属于某个类。
- 导入库, import 库名
- for 循环,如果计数的情况则使用
- 开始 结束 步长
- range的区间是一个前闭后开.
range(start,end,[step])
- 格式化输出
%-->%(),%d后接整型,%f后接浮点,%s后接字符串.
{}-->format(),它可以直接传入任何类型,然后格式化输出. - print 控制台(terminal)打印
end 以什么方式结尾,默认以换行符"\n"
flush 刷新缓冲区.
-
类中的函数可以有自己的参数
当你想共享这个参数的时候,那么就打上"self"的印记.
例:
class age(object): def __init__(self,a): if 18<= a <20: print("可以观看4级") elif 20< a <=50: print("可以观看xxx") else: print("注意身体") b=age(39)
定义类:
object 不是一个参数
定义类只有两步:
1. 使用标识符class ClassName(object):
2. 重写__init__函数,但是需要记住,一定要打上一个"self"的标记
因为后面会学到继承,当在继承的时候可能就会有函数名相撞的情况.
或者说,类中会含有多个变量,多个函数,那么就需要使用"self"手段去区分.
3. 类的传参是在__init__函数中的.需要注意的是,如果你的参数可能被多个函数都使用,那么
你才在__init__函数中去定义参数
例:
class age(object): def __init__(self,a,b): self.a=a self.b=b def funcl(self): if self.a<=18: print("young") elif 18< self.a <=40: print("zhongnian") else: print("old") def gender(self): if self.b==0: print("woman") if self.b==1: print("man") else: print("i don't konw") age = age(38,"nam") age.funcl() age.gender
例:
class num(object): def __init__(self,a): self.a = a def check(self): for i in range(2,self.a): if self.a % i==0: print("不是素数") break else: print("是素数") d = num(5) d.check()
练习:
王者农药
人机对战
→1.点击人机,多人对战,对战的按钮(输入)
→2.挑选人物(典韦,赵云,鲁班)
→3.显示战力,防御
→4.人物确定,随机出1个人机,包括战力,名字...等信息显示
→5.输入开始按钮...
→6.进入加载页面...
import numpy as np class game(object): def mode(self): click = input("robot"or"people") print(click) def pickcharather(self): c = input("Please select a character:dianwei,zhaoyun,luban") if c=="dianwei": print(c,"power--1000 armor--800") elif c=="zhaoyun": print(c,"power--1500 armor--500") else: print(c,"power--2000 armor--300") def random(self): res = np.random.choice(["dianwei","zhaoyun","luban"]) if res=="dianwei": print(res,"power--1000 armor--800") elif res=="zhaoyun": print(res,"power--1500 armor--500") else: print(res,"power--2000 armor--300") def start(self): a= input("Please enter the start") print(a,"Enter the loader......") b = game() b.mode() b.pickcharather() b.random() b.start()