定义一个函数
你可以定义一个由自己想要功能的函数,以下是简单的规则:
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。
任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号起始,并且缩进。
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
class Di_Ban(object):
def __int__(self, area, Color):
''' """初始化方法
:param area:
:param Color:
:return:
'''
self.area = area
self.Color = Color
def __str__(self):
return '地板面积:{},地板的颜色{}'.format(self.area, self.Color)
qing = Di_Ban(1,'黄色')
print(qing)
class Home(object):
def __int__(self, Size, site): """初始化方法
self.size = Size
self.site = site
# 剩余面积
self.free = Size
# 添加地板
self.itmes = 0
def __str__(self):
return '房子面积{},房子地址{}'.format(self.size, self.site)
def Tie(self, time):
'''贴地板'''
# 剩余面积
print('{}'.format(time))
if self.free < time.area:
return '房子已经贴满了....'
# 剩余面积减去地板面积
self.free = self.free - time.area
self.itmes +=1
print('{}添加地板'.format(self.itmes))
#有类 创建 对象
#创建地板
Qing = Di_Ban(1,'黄色')
a1 = Di_Ban(2,'红色')
a2 = Di_Ban(3,'好色')
#创建房子
home = Home(150,'地址')
#创建出来房子 贴地板(地板对象)
home.Tie(Qing)
home.Tie(a1)
home.Tie(a2)
print(home)
i = 0
while i < 10:
i = i + 1
if i == 5:
# break #1234 跳出循环,不再执行
continue #1234678910 跳出本次循环,执行下一次
# pass # 不做任何事情,只起到占位的作用
print(i, end='')
import random 没有安装 random 随机包
# 剪刀0 石头1 布2
user = int(input('大佬,请出拳')) # 用户输入
com = random.randint(0,2) #电脑随机一个
print('com' = com)
if (user==0 and com==2) or (user==1 and com==0) or (user==2 and com==1) :
print('小菜了,还想与我搞')
elif user == com:
print('平局,还想与我搞')
else:
print('输了我服气')
#元组 tup2 = (1, 2, 3, 4, 5 )
#列表 tup2 = [1, 2, 3, 4, 5 ]
#字典 tup2 = {key1 : value1, key2 : value2 } 字典的每个键值(key=>value)对用冒号(:)分割
#集合 tup2 = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'} 可以使用大括号 { } 或者 set() 函数创建集合,
#关键字end可以被用于防止输出新的一行,或者在输出的末尾添加不同的字符:
name = [i for i in range(10)]
print(name) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
name = [i for i in range(10) if i % 2 == 0]
print(name) # [0, 2, 4, 6, 8]
“编程”函数采用一组参数(也可以没有参数),在其中执行语句,并可能返回某些内容(数据类型,对象甚至是其他函数)。
1、–定义
使用def关键字定义Python函数。我们还需要指定一个函数名称和一些参数
def hello_world():
print("Hello World")
'''
a = 7
b = 8
c = 9
def is_even(nr):
if nr % 2 == 0:
print('ta shi {} is even'.format(nr))
else:
print('wo shi {} is odd'.format(nr))
is_even(a)
is_even(b)
is_even(c)
2、命名参数
print()
def display_info(name, grades):
print("Name: {}; Grades: {}".format(name, grades))
display_info("Python", [10, 6, 7])
display_info([8, 10, 8], "Python")
display_info(grades=[8, 10, 8], name="Python")
3、默认值
def raise_power(nr, pwr=2):
return pow(nr, pwr)
print(raise_power(5)) # 调用带有单个参数(nr)的函数,它总是返回它的 平方
print(raise_power(5, 4)) # 添加第二个参数,该函数将使用其值来表示该数字的幂。
4、对象
class Car(object): # class关键字定义了一个名为Car的新对象
# __init__是一个特殊的方法,在创建Car对象时总是调用它。我们想要在__init__中做的是将我们发送的值放在对象属性中
def __init__(self, brand_att, model_att, color_att): # Self总是指对象本身
self.brand = brand_att
self.model = model_att
self.color = color_att
my_tesla = Car("Tesla", "Model 3", "white")
print(my_tesla.brand)
print(my_tesla.model)
print(my_tesla.color)
my_honda = Car("Honda", "Civic", "red")
print(my_honda.brand)
print(my_honda.model)
print(my_honda.color)
5、继承–继承允许使用旧类创建新类。新类具有旧类的所有属性和方法,以及添加到其中的任何新属性和方法。
class Dog(object):
def __init__(self): """初始化方法
print("I am a dog")
def eat(self):
print("I eat dog food")
class Cat(object):
def __init__(self):
print("I am a cat")
def eat(self):
print("I eat cat food")
my_dog = Dog()
my_cat = Cat()
my_dog.eat()
my_cat.eat()
6、使用对象
a = list() #调用list类的构造函数,创建一个list类的实例a
print(a)
a.append(1)
a.append(3)
a.append(2) #调用list类的append方法,在[]中添加成员1,3,2
print(a)
7、使用对象
class Foo:
def __init__(self, name, age): """初始化方法
self.name = name
self.age = age
def detail(self):
print(self.name)
print(self.age)
obj1 = Foo('chengd', 18)
obj1.detail()
#Python默认会将obj1传给self参数,即:obj1.detail(obj1),
#所以,此时方法内部的 self = obj1,即:self.name 是 chengd ;self.age 是 18
obj2 = Foo('python', 99)
obj2.detail()
#Python默认会将obj2传给self参数,即:obj1.detail(obj2),
#所以,此时方法内部的 self = obj2,即:self.name 是 python ; self.age 是 99x
8 定义实现功能的类
class Person:
def __init__(self, na, gen, age, fig): """初始化方法
self.name = na
self.gender = gen
self.age = age
self.fight =fig
def grassland(self):
"""注释:草丛战斗,消耗200战斗力"""
self.fight = self.fight - 200
def practice(self):
"""注释:自我修炼,增长100战斗力"""
self.fight = self.fight + 200
def incest(self):
"""注释:多人游戏,消耗500战斗力"""
self.fight = self.fight - 500
def detail(self):
"""注释:当前对象的详细情况"""
temp = "姓名:%s ; 性别:%s ; 年龄:%s ; 战斗力:%s" % (self.name, self.gender, self.age, self.fight)
print(temp)
cang = Person('苍井井', '女', 18, 1000) # 创建苍井井角色
dong = Person('东尼木木', '男', 20, 1800) # 创建东尼木木角色
bo = Person('波多多', '女', 19, 2500) # 创建波多多角色
cang.incest() #苍井空参加一次多人游戏
dong.practice() #东尼木木自我修炼了一次
bo.grassland() #波多多参加一次草丛战斗
#输出当前所有人的详细情况
cang.detail()
dong.detail()
bo.detail()
cang.incest() #苍井空又参加一次多人游戏
dong.incest() #东尼木木也参加了一个多人游戏
bo.practice() #波多多自我修炼了一次
#输出当前所有人的详细情况
cang.detail()
dong.detail()
bo.detail()
#以上就是本节对于面向对象初级知识的介绍,总结如下:
#面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用
#类 是一个模板,模板中包装了多个“函数”供使用
#对象,根据模板创建的实例(即:对象),实例用于调用被包装在类中的函数
#面向对象三大特性:封装、继承和多态
class Foo:
def __init__(self, name, age, gender): """初始化方法
self.name = name
self.age = age
self.gender = gender
def kanchai(self):
print("%s,%s岁,%s,上山去砍柴" % (self.name, self.age, self.gender))
def qudongbei(self):
print("%s,%s岁,%s,开车去东北" % (self.name, self.age, self.gender))
print("{0},{1}岁 ,{2}开车去东北+++++++".format(self.name, self.age, self.gender)) # 不设置指定位置,按默认顺序
print("{},{}岁 ,{}开车去东北---------".format(self.name, self.age, self.gender))
print("网站名:{name}, 地址 {url}".format(name="菜鸟教程+++++", url="www.runoob.com"))
site = {"name": "菜鸟教程", "url": "www.runodhjkopob.com"}
print("网站名:{name}, 地址 {url}".format(**site))
def dabaojian(self):
print("%s,%s岁,%s,最爱大保健" % (self.name, self.age, self.gender))
xiaoming = Foo('小明', 10, '男')
xiaoming.kanchai()
xiaoming.qudongbei()
xiaoming.dabaojian()
print()
二、继承
class Animal:
def eat(self):
print("%s 吃 " % self.name)
def drink(self):
print("%s 喝 " % self.name)
def shit(self):
print("%s 拉 " % self.name)
def pee(self):
print( "%s 撒 " % self.name)
class Cat(Animal):
def __init__(self, name):
self.name = name
self.breed = "猫"
def cry(self):
print('喵喵叫')
class Dog(Animal):
def __init__(self, name): """初始化方法
self.name = name
self.breed = '狗'
def cry(self):
print('汪汪叫')
### 执行
c1 = Cat('小白家的小黑猫')
c1.eat()
c2 = Cat('小黑的小白猫')
c2.drink()
d1 = Dog('胖子家的小瘦狗')
d1.eat()