''' 概念: 需要从其他代码中引入,调用模块,复用性高 ''' # 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()
python基础学习day11---面向对象
最新推荐文章于 2024-07-12 16:16:27 发布