py复习p110-p150

本文介绍了Python中的函数使用,包括列表和字典的参数传递,以及*和**的拆包操作。讲解了匿名函数lambda的定义和应用,并展示了如何将lambda函数作为参数用于列表排序。进一步探讨了面向对象编程,包括类的定义、初始化方法_init_、字符串表示方法__str__,以及对象的方法如eat和drink。最后,通过实例展示了如何创建和使用类,以及类的方法如何影响对象的属性。
摘要由CSDN通过智能技术生成

函数部分

#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)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值