python基础学习day11---面向对象

'''
概念:
 需要从其他代码中引入,调用模块,复用性高
'''

# import random  # 使用import进行调用,是调用整个random模块的所有内容
# print(random.randint(1,10))
#
# # 使用from 模块import方法--定性调用某个模块对应的方法
# from random import randint
# print(randint(1,10))

'''
  异常处理:
    语法: 
    try:
       xxxxx
    except 异常情况:
    else:
        没有错误会运行
    finally:
        不管正确与否都会运行          
'''

# try:
#     print(10/0)
# except Exception:    # Exception--异常的总称
#     print('除数不能为0')

# try:
#     print(10/2)
# except Exception:  # 报错就会运行
#     print('除数不能为0')
# else:  # 只有不报错才会运行
#     print('程序正常运行')
# finally: #不管是否报错都会运行
#     print('最终运行路径')

# 小练习:通过获取用户输入的2个值,来进行出发运算,将异常抛出来
# import traceback
# try:
#     a = int(input('请输入被除数:\n'))
#     b = int(input('请输入除数:\n'))
#     print(a/b)
# except ValueError as v :  # 使用as存入一个i变量,可以将错误打印出来
#     print('输入的值需要是数字',v)
# except ZeroDivisionError as z:
#     print('除数不能为0',z,'\n',traceback.format_exc()) #显示更加详细的日志,借助traceback.format_exc()进行捕获
# else:
#     print('运行成功')
# finally:
#     print('运行完成')

'''
面向过程:
  以事件为中心,注重过程,分步骤进行编程的思想
   后期维护麻烦
面向对象:
    以对象为中心,注重结果结果,能做什么
    维护,扩展方便
    注意:这个对象能做什么
关键字:
    类:(class) 用于抽象描述某一类事务的统称--人类,动物类
        类有方法(动态的)和属性(静态的)
    对象:(object) 某一类事务中具体的以为成员,张三是人类的一个实例
    
'''

# class People:  # 类名首字母必须大写
#     eye = 2   #属性,固有的,公共的变量
#     __age = 20  # 私有变量,私有属性
#     def speak(self): # self值是对象本身
#         print('能说话',self.eye,'年龄为',self.__age) # 调用类本身变量,需要self.xxx操作
# # 对类的运行进行调用,先要实例化一个对象
# man = People()  # man就是实例化的一个对象
# print(man.eye)
# man.speak()
# print(man.__age)  # __age 私有变量无法通过实例化进行调用,只能在类里面进行使用


#有一辆汽车,速度是60km/h,从A地行驶到B地(距离100km),计算耗费的时间,
#分别以面向过程、面向对象两种不同的编程思想设计程序

# # 面向过程编程:
# speed = 60
# distance = 100
# time = distance/speed
# print(f'时间为{time:.2f}')
#
# # 面向对象编程:
# class Car:
#     speed = 60
#     distance = 100
#     def time(self):
#         return f'{self.distance/self.speed:.2f}'
# car = Car()
# print(car.time())

# 针对有变化的一般定义形参 ,方法没有变化
# class Car:
#     def time(self,distance,speed):  # 形参方法进行传入
#         return f"{distance / speed:.2f}"
#         # return f"{self.distance / self.speed:.2f}" # 会报错 无法使用实例变量操作
# car = Car()
# print(car.time(350,100))


# 实例属性   使用 self.XX进行操作
class People:
    def info(self,name,age):
        self.name = name  # 将形参转换为 实例变量
        self.age = age  # 等号后边的age 是 形参, 前边是设置的实例变量
        print("姓名为%s,年龄%d" %(self.name,self.age))
    def year_later(self):
        self.age += 5  # 要想在其他函数进行调用的,用self.XX
        print("年龄为 %d" %self.age)
p1 = People()
p1.info('张三',20)
p1.year_later()
p1.year_later()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值