python基础 day22 面向对象初识

一、内容回顾

递归练习

# 遍历文件夹下的所有文件  -- 掌握
# 斐波那契数列练习 -- 会写
# 三级菜单 -- 看懂并知道实现方法
# 查看文件夹的总大小 -- 看懂并知道实现方法

sys

# sys.path
# sys.argv 在执行python脚本的时候 写在python 之后的所有的内容,形成了一个列表
# sys.modules 查看已经加载到内存中的所有模块

os

# 和文件 文件夹相关的
# 和工作目录相关的
# 和执行操作系统命令相关的
# .path系列

logging

# 排错 数据分析 操作审计
# 普通的输出(文件/屏幕)
# 切分日志(时间/文件大小)

shutil

# 和文件相关的内容

算法

二分查找 [1,2,3,4,5,6,7,8,9,10,27,36,46,58,69] - 有序列表

in index 从列表中找到一个值的位置

实现上面的功能 - 用代码

sys.argv练习

写一个python脚本,在cmd里执行

python xxx.py 用户名 密码 cp 文件路径 目的地址

python xxx.py alex sb cp D:\python_22\day22\1.内容回顾.py D:\python_22\day21

python xxx.py alex sb rm D:\python_22\day22

python xxx.py alex sb rename D:\python_22\day22 D:\python_22\day23

使用walk来计算文件夹的总大小

import os

g = os.walk('D:\python_22')

for i in g :

path,dir_lst,name_lst = i

print(path,name_lst)

二、今日内容

  • 什么是面向对象

    • 先来定义模子,用来描述一类事物

    • 具有相同的属性和动作

      class Person:
         def __init__(self,name,age,job,score):
             self.name = name
             self.age = age
             self.job = job
             self.score = score

      obj = Person('alex','23','法师','98') #实例化一个对象
      print(obj.__dict__)
      obj.name = '太白金星' #属性值修改
      print(obj.__dict__)
      obj.heigh = '180cm'  #属性值的增加
      print(obj.__dict__)
      del obj.name  #属性值的删除
      print(obj.__dict__)

       

       

  • 面向对象的方法

    class Circle:
       def __init__(self,r):
           self.r = r
       def count_area(self):
           return 3.14*self.r**2
       def count_line(self):
           return 2*3.14*self.r
    circle_1 = Circle(5)
    print(circle_1.__dict__)
    print(f'圆形的面积为:{circle_1.count_area()}')
    print(f'圆形的周长为:{circle_1.count_line()}')
    circle_2 = Circle(10)
    print(circle_2.__dict__)
    print(f'圆形的面积为:{circle_2.count_area()}')
    print(f'圆形的周长为:{circle_2.count_line()}')


    #类之间的调用
    class Person:
       def __init__(self,name,age,job,ad,hp):
           self.name = name
           self.age = age
           self.job = job
           self.ad = ad
           self.hp = hp
       def test(self,dog):
           dog.hp -= self.ad
           print(f'{self.name}撸了{dog.name}一下,{dog.name}掉了{self.ad}血')


    # obj = Person('alex','23','法师','98') #实例化一个对象
    # print(obj.__dict__)
    # obj.name = '太白金星' #属性值修改
    # print(obj.__dict__)
    # obj.heigh = '180cm' #属性值的增加
    # print(obj.__dict__)
    # del obj.name #属性值的删除
    # print(obj.__dict__)

    class Dog:
       def __init__(self,name,age,ad,job,hp):
           self.name = name
           self.age = age
           self.ad = ad
           self.job = job
           self.hp = hp
       def func(self,person):
           hp = person.hp -self.ad
           if hp<0:
               print(f'{self.name}咬了{person.name}一口,{person.name}掉了{self.ad}血,{person.name}扛不住死了')
           else:
               print(f'{self.name}咬了{person.name}一口,{person.name}掉了{self.ad}血')
    obj = Person('alex',12,'法师',2,20) #实例化一个对象
    dog = Dog('小白',12,22,'洗澡工',200)
    obj.test(dog)
    dog.func(obj)

     

  •  

posted @   小鱼鱼与黄黄  阅读(84)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示