类和对象
简单的说,类是对象的蓝图和模板,而对象是类的实例。这个解释虽然有点像用概念在解释概念,但是从这句话
我们至少可以看出,类是抽象的概念,而对象是具体的东西。在面向对象编程的世界中,一切皆为对象,对象都
有属性和行为,每个对象都是独一无二的,而且对象一定属于某个类(型)。当我们把一大堆拥有共同特征的对
象的静态特征(属性)和动态特征(行为)都抽取出来后,就可以定义出一个叫做“类”的东西。
函数的写法
"""
标识 函数名字 ():
有冒号就要缩进一个tab
在Python中所有的函数都有返回值,如果你没有给予return则默认返回出None,如果你给予了,则返回你给予的值
""""
def funcName():
.....
return ....
"""
标识 类名 () :
有冒号就要缩进一个tab
"""
class className(object):
........
"""
1.导入库, import 库名
2. for 循环,如果计数的情况则使用
开始 结束 不长
range的区间是一个前闭后开.
range(start,end,[step])
3. 格式化输出
3.1 %-->%(),%d后接整型,%f后接浮点,%s后接字符串.
3.2 {}-->format(),它可以直接传入任何类型,然后格式化输出.
4.print 控制台(terminal)打印
4.1 end 以什么方式结尾,默认以换行符"\n"
4.2 flush 刷新缓冲区.
"""
"""
类中的函数可以有自己的参数
当你想共享这个参数的时候,那么就打上"self"的印记.
"""
class A(object):
def __init__(self,a):
self.a = a
def B(self,b):
self.b = b
print(b)
def C(self):
print(self.b)
J = A(1000)
J.B(10)
J.C()
定义类
object 不是一个参数
定义类
# object 不是一个参数
"""
定义类只有两步:
1. 使用标识符class ClassName(object):
2. 重写__init__函数,但是需要记住,一定要打上一个"self"的标记
因为后面会学到继承,当在继承的时候可能就会有函数名相撞的情况.
或者说,类中会含有多个变量,多个函数,那么就需要使用"self"手段去区分.
3. 类的传参是在__init__函数中的.需要注意的是,如果你的参数可能被多个函数都使用,那么
你才在__init__函数中去定义参数
"""
class Student(object):
def __init__(self,name):
# 多个打印用","进行分隔.
print(name)
Student(100)
在Python中可以使用class
关键字定义类,然后在类中通过之前学习过的函数来定义方法,这样就可以将对象的动态特征描述出来,代码如下所示。
# 在Python2中这个object一定要写,但是在Python3中可写可不写(默认就继承了object).
#
class Student(object):
# __init__是一个特殊方法用于在创建对象时进行初始化操作
# 通过这个方法我们可以为学生对象绑定name和age两个属性
def __init__(self, name, age):
self.name = name
self.age = age
def study(self, course_name):
print('%s正在学习%s.' % (self.name, course_name))
# PEP 8要求标识符的名字用全小写多个单词用下划线连接
# 但是很多程序员和公司更倾向于使用驼峰命名法(驼峰标识)
def watch_av(self):
if self.age < 18:
print('%s只能观看《熊出没》.' % self.name)
else:
print('%s正在观看岛国爱情动作片.' % self.name
实例
王者荣耀
print("欢迎来到王者荣耀")
import numpy as np
import time
class renji(object):
def __init__(self):
res =input("选择模式")
print(res)
def renwu(self):
print('请选择英雄\n','张飞','关羽','赵云')
res1 = input('>>')
if res1==('张飞'):
print('战力:1000 \n防御:600')
elif res1==('关羽'):
print('战力:2000 \n防御:350')
elif res1==('赵云'):
print('战力:3000 \n防御:750')
else:
print("没有该英雄")
def diannao(self):
print("电脑人物选择")
res2 = np.random.choice(['张飞','关羽','赵云'])
if res2==('张飞'):
print('张飞\n战力:1000 \n防御:600')
elif res2==('关羽'):
print('关羽\n战力:2000 \n防御:350')
elif res2==('赵云'):
print('赵云\n战力:3000 \n防御:750')
else:
print("没有该英雄")
def jindutiao(self):
res3=input(">>")
if res3==('开始'):
print('正在进入游戏请稍后')
for i in range(1,101):
time.sleep(0.1)
print('%s%d%% \r'%('>'*i,i),end="",flush=True)
else:
print("完成取消")
def youxi(self):
print('\n敌军还有五秒到达战场,请做好准备!!!!!!!!!!!!\n 全军出击!!!!!!!!!')
a= renji()
a.renwu()
a.diannao()
a.jindutiao()
a.youxi()
“”"
计算五角数
“”"
"""
计算五角数
"""
def gan():
for i in range(1,101):
a=i*(3*i-1)/2
print("%5d" % a,end=" ")#打印结果为5位整数,当整数的位数不够5位时,在整数左侧补空格
if(i % 10 ==0):#打印结果每行显示10个
print("")
gan()
求一个整数个数字的和
"""
求一个整数个数字的和
"""
def nnn(num):
return sum(int(i) for i in str(num) if i.isdigit())
if __name__ == '__main__':
num = input('请输入一个整数: ')
print('{} 每位数相加之和是: {}'.format(num, nnn(num)))
nnn(4567)
“”"
3、用户输入三个数字,升序排列
“”"
def number(num1,num2,num3):
print("Enter three numbers:", num1,num2,num3)
if num1>num2 and num1>num3:
if num2>nmu3:
print("The sorted numbers are:",num3,num2,num1)
else:
print("The sorted numbers are:",num2,num3,num1)
elif num2>num1 and num2>num3:
if num1>num3:
print("The sorted numbers are:",num3,num1,num2)
else:
print("The sorted numbers are:",num1,num3,num2)
elif num3>num1 and num3>num2:
if num1>num2:
print("The sorted numbers are:",num2,num1,num3)
else:
print("The sorted numbers are:",num1,num2,num3)
number(8,56,13)