python开发学习day18 (类与对象;__init__方法)

2020-06-24                                     目录:

一、面向对象编程

1.1  介绍

1.2  用法:类与对象

二、__init__方法

2.1  调用类的步骤

2.2  类属性操作

2.3  对象属性操作

三、内置函数

一、面向对象编程

1.1  介绍

对象就是存放相关数据和功能的容器,是面向对象编程的核心
优点:程序解耦合强,拓展性高
缺点:比面向过程更复杂

1.2  用法:类与对象

对象是数据与功能的集合体,而类是对象之间相同数据与功能的集合体

步骤:
一、在程序中使用时必须先定义类:即申请内存空间,将对象之间相同的数据与功能存放起来
  与函数不同,类在定义时就会立即执行类体代码,然后类名指向该名称空间

二、调用类来产生对象,调用类的过程被称为实例化
  本质上调用类就是产生一个与类相关联的子空间
class Student:
    school = '清华大学'

    def choose_course(self):
        print('正在选科')


stu1 = Student()  # 调用类产生对象
stu1.name = 'jason'  # 为对象赋予独立属性
stu1.age = 18
stu1.gender = 'male'

二、__init__方法

2.1  调用类的步骤:

① 先创建一个与类相关联的子空间,也就是一个空对象
② 自动触发类内的__init__(空对象,'周杰伦',18,'male')
③ 返回一个初始化好的对象,赋值给一个变量名

  示例:

class Student:
    school = '清华大学'

    def __init__(self, x, y, z):  # 在类内部定义函数不能return非none的值,否则会与类返回对象产生冲突
        self.name = x
        self.age = y
        self.gender = z

    def choose_course(self):
        print('%s正在选科' % self)


stu1 = Student('周杰伦', 18, 'male')  # 调用类产生对象
stu2 = Student('彭于晏', 19, 'male')
stu3 = Student('李孝利', 20, 'female')

2.2  类属性操作

类与对象都可以用. 来访问属性并完成增删改查的操作

① 访问类的数据属性

Student.school="北京大学"  # 访问类的数据属性school,并作出修改

② 访问类的函数属性

Student.choose_course(stu1)  # 调用函数choose_course

2.3  对象属性操作

对象.属性——优先从对象自己的空间找,找不到就去类里面找

特点:

① 类中的定义的数据属性为了给对象用的,而且所有对象共享的,大家访问的都是同一个地址

  修改类的数据属性,所有的对象也会跟着改

② 类中的定义的函数属性,类可以调用但就是一个普通函数,而类中函数通常都是为对象准备的,

  也就是说是给对象用的,(用法:绑定给对象)

stu1.choose_course() # 等同于choose_course(stu1)

三、内置函数

① eval() :用于执行一个字符串表达式,并返回表达式的值。

② frozenset(): 返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。

③ pow():pow(10,3,3)   就是计算10 ** 3 % 3得到一个余数

④ reversed():返回一个反转的迭代器。

⑤ round():取四舍五入。

⑥ slice:s=slice(0,5,2),得到一个固定的切片操作(索引从0-4,步长为2)

⑦ sorted():对所有可迭代的对象进行排序操作(从小到大)。

⑧ sum() :对系列进行求和计算。

⑨ zip():用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,

    如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。

 

posted @ 2020-06-24 23:57  不负韶华l  阅读(170)  评论(0编辑  收藏  举报