函数部分
#My_list[1,2,3,4] my_dict={'a':1,'b',:2,'c':3}
#进行传参
my_list[1,2,3,4]
my_dict={'a':1,'b',:2,'c':3.'d':4}
my_sum(*my_lsit) #列表需要 * 进行拆包
my_sum(**my_dict) #字典需要**进行拆包
密名函数
lambda参数+代码
#无参无返回值
def func1():
print('hello world')
func1()
lambda :print('hello world')
#无参有返回值
def func2():
return10
print(func2())
func22 =lambda:10
print(func22)
#有参无返回值
def my_sum(a,b):
print(a+b)
my_sum(1,2)
my_sum11=lambda a,b:print(a+b)
my_sum11(10,20)
#有参有返回值
def func4(a,b)
return a+b
print(func4(1,2))
func44 = lambda a,b:a+b
print(func44(10,20))
练习
#题目
#定义一个匿名函数可以求两个数的乘积
func1 = lambda a,b:a*b
print(func1(1,2))
print(func1(3,2))
#定义一个匿名函数,参数为字典,返回字典中键位age的值
func2 = lambda x:x.get('age')
func3 = lambda x:x['age']
my_dict={'name':'xx','age':19}
print(func2(my_dict))
print(func3(my_dict))
匿名函数作为函数的参数-列表中的字典排序
user_list = [
{"name":"zz","age":18}
{"name":"xx","age":19}
{"name":"cc","age":20}
]
# user_list.sort() 列表的排序,默认是对列表中的数据进行比大小的。
# 但是对于字典,我们需要用sort函数中的key这个参数来指定字典比大小的方法
#key这个参数,需要传递一个函数,一般是匿名函数,字典的排序。我们需要匿名函数
#返回字典的这个建对应的值即可
#列表.sort(key=lambda x:x['键']
user_list.sort(key=lambda x:x['age']#正常派系
user_list.sort(key=lambda x:x['age'],revers=True)#降序排列
print(suer_list)
面向对象
基本介绍
编程思想
1,面向过程
2,面向对象
#小猫爱吃鱼
#类名:cat 属性: 方法:eat drink
class Cat:
def eat(self):
print('eat ')
def drink(self):
print('drink')
blue_cat = Cat()
blue_cat.eat()
blue_cat.drink()
魔法方法
_init_ 方法
1创建对象之后会自动调用
2给对象添加属性,
3注意事项,不要写错
class Cat:
def _init_(self,name,age):
self.name = name
self.age = age
def show_into(self):
print(f'name is:{self.name},age:{self.age}')
blue_cat = Cat('xx',2)
blue.show_info()
_str_
class Cat:
def _init_(self,name,age):
self.name = name
self.age = age
def show_into(self):
print(f'name is:{self.name},age:{self.age}')
def _str_(self):
#_str_ 方法必须返回一个字符串。
return f'name is :{self.name},age :{self.age}'
blue_cat = Cat('xx',2)
blue.show_info()
_del_
1
练习
class Preson:
def _init_(self,name,weight):
self.name = name
self.weight = weight
def _str_(self):
return f'name:{self.name},kg:{se.lfweight}'
def run(self):
print(f'{self.name'-.5)
self.weight -=0.5
def eat(self):
self.weight +=0.5
xm =Presom('xx',70)
print(xm)
xm.run()
print(xm)
xm.run()
print(xm)
class Studnet:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return f"name{self.name},age:{self.age}"
def eat(self):
print(f"{self.name}eat")
def sleep(self):
print(f"{self.name}sleep")
def yaer(self):
self.age += 1
xh=Studnet('小红',15)
xm=Studnet('小明',17)
print(xm)
print(xh)
xm.eat()
xh.sleep()
xm.yaer()
print(xm)
1
class Computer:
def __init__(self,brand,price):
self.brand = brand
self.price = price
def play_movie(self,movie):
print(f'{self.brand}play{movie}')
mi = Computer('小米',3000)
mac = Computer('mac',3300)
mi.play_movie('xx')
mac.play_movie('zz')
#类名: 房子类 House
#属性: 户型 name,总面积 total area,剩余面积 free area =total area
#家具名称列表 item_list = []方法:_init_,__str_添加家具方法
#def add item(self,item): #item 家具对象先判断房子的剩余面积和总面积的关系修改房子的剩余面积修改房子的家具名称列表
#类名:家具类 HouseItem
#属性: 名字 name,占地面积 area
#方法:_init_,__str
class HouseItem:
def __init__(self,name,area,):
self.name = name #家具名称
self.area = area #家具大小
def __str__(self):
return f'家具名字{self.name},家具面积{self.area}m'
class House:
def __init__(self,name,area):
self.name = name #房间名称
self.total_area = area #总面积
self.free_area = area #剩余面积
self.item_list=[] #家具列表
def __str__(self):
return f"户型:{self.name},总面积:{self.total_area},剩余面积{self.free_area}"\
f"家具名称{self.item_list}"
def add_item(self,item):
if self.free_area > item.area:
self.item_list.append(item.name)
self.free_area -= item.area
print(f'{item.area},添加成功')
else:
print(f'{item.area},添加失败')
bed = HouseItem('xx',4)
chest = HouseItem('zz',3)
chair = HouseItem('cc',2)
print(bed)
print(chest)
print(chair)
hous = House("三室一厅",150)
print(hous)
hous.add_item(bed)
print(hous)