一、类和对象
简单的说,类是对象的蓝图和模板,而对象是类的实例。这个解释虽然有点像用概念在解释概念,但是从这句话我们至少可以看出,类是抽象的概念,而对象是具体的东西。在面向对象编程的世界中,一切皆为对象,对象都有属性和行为,每个对象都是独一无二的,而且对象一定属于某个类(型)。当我们把一大堆拥有共同特征的对象的静态特征(属性)和动态特征(行为)都抽取出来后,就可以定义出一个叫做“类”的东西。
1、对象:封装、继承和多态
2、类
# object 不是一个参数
"""
定义类只有两步:
1. 使用标识符class ClassName(object):
2. 重写__init__函数,但是需要记住,一定要打上一个"self"的标记
因为后面会学到继承,当在继承的时候可能就会有函数名相撞的情况.
或者说,类中会含有多个变量,多个函数,那么就需要使用"self"手段去区分.
3. 类的传参是在__init__函数中的.需要注意的是,如果你的参数可能被多个函数都使用,那么
你才在__init__函数中去定义参数
"""
class Student(object):
def __init__(self,name):
# 多个打印用","进行分隔.
print(name)
Student(100)
例题:
# 输入两个数字,打印这两个数的
# 差,和、乘、除、整除、取余、平方
class smy(object):
def __init__(self,a,b):
print(a+b,a-b,a*b,a/b,a//b,a%b,a**2,b**2)
smy(1,2)
案例
"""
if 条件:
执行体
elif 条件:
执行体
else:
如果if不走.则走else
"""
# object 不是一个参数
# class
# 输入一个年龄,如果年龄大于18小于20可观看4级
# 如果年龄大于20小于50-->岛国
# 如果大于50岁,别看啦,扛不住的》
class Joker(object):
def __init__(self,age):
if 18<= age <=20:
print('4级')
elif 20< age <= 50:
print('岛国')
elif >50:
print("别看啦")
else:
print('可观看动画片')
Joker(18)
案例
"""
定义3个函数,第一个函数:年龄判断 <18 ,18<40,40>
第二个函数:性别判断: 男,女,未知
第三个函数:打印 (年轻,中年,老年)和性别
"""
class Name(object):
def __init__(self,age,gener):
self.age = age
self.gener = gener
def Age(self):
if self.age <= 18:
print('年轻')
elif 18< self.age <= 40:
print('中年')
else:
print('老年')
def Gener(self):
if self.gener == '男':
print('您 ! 是! 男~')
elif self.gener == "女":
print('您 ! 是! 女~')
else:
print('您好~')
Joker = Name(18,'男')
Joker.Age()
Joker.Gener()
案例
判断一个数字是不是素数.
"""
for xxx:
....
else:
....
当for循环能够顺利执行完毕,也就是说没有brek,则走else,否则else不走
for i in range(10):
print(i)
else:
print('hahah')
"""
class Name(object):
"""
判断一个数字是否是素数
"""
def __init__(self,num):
"""
Argus:
-----
num: int类型的数字
"""
self.num = num
def Check(self):
"""
检查self.num是不是素数
"""
for i in range(2,self.num):
if self.num % i == 0:
print('不是素数')
break
else:
print('是素数')
name = Name(11)
name.Check()
二、函数
1、"""
标识 函数名字 ():
有冒号就要缩进一个tab
在Python中所有的函数都有返回值,如果你没有给予return则默认返回出None,如果你给予了,则返回你给予的值
""""
def funcName():
.....
return ....
"""
标识 类名 () :
有冒号就要缩进一个tab
"""
class className(object):
........
2、
"""
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()