Python学习笔记(7.0)

一、类(上)

1.1类与对象

类的概念

我们可以把类想成一个Python类型,像1、2、3、4这些我们归为数字,“你好”、“hello”这些我们归为字符串,对一类东西的概括/抽象我们就叫做类。

举例:

 

可以看到,终端显示的结果为:<class 'int'>、<class 'str'>。class 在英文中是“类别”的意思,在编程中就代表类。

这就表明它们虽各自值不同,但都分别属于整数(int)类、字符串(str)类。

对象的概念

刚刚说到,类是对一类事物的概括/抽象。那么反过来,这类东西里每一个单独的个体就属于对象。

类的作用

众所周知,每款汽车都有各自的设计蓝图。这个设计蓝图比到编程呢各种就像是类,它决定了这类型/款式/型号的汽车应该有什么一致的特征,并以此为生产标准规范。

而对象就像根据设计图生产出来的汽车,类的作用主要作为模板来使用。

 

 Python中类能实例化产生对象

这里实例化的意思是:根据类产生一个实际的对象。

类的结构

语法结构:

从语法上来说:类的定义是一个class语句,class语句内包含了四个要素:
1.关键字“class”

2.类名

3.英文冒号“:”

4.代码块(即类里面的代码内容)

 

其中,规范要求类名的首字母应是大写。与if条件判断语句一样,代码块前方要注意缩进。

类的属性和方法

从汽车蓝图的角度 除法,我们可以从两个方面来描述一辆车:
一、汽车的状态怎样?包括汽车的颜色、大小等;

二、它能做什么?如:向前开(drive)、刹车(stop)、漂移(skr);

 如以下代码:像color、shape这些在类中被定义的变量,就是类 Cars 中构造的属性。

 

定义语法也很简单,直接在类中对一个变量赋值就好了。

在类中被定义的函数就是类的方法,所以要理解清楚类的方法,需要先学习一个新知识:函数

二、函数

函数是组织好的,可以重复使用,用来实现某一功能的代码。

2.1 函数的定义

def 函数名(参数):
    代码块
    return 参数
  • def:在英文中是 define(定义)的简写,用于定义函数。
  • 函数名:由我们对其命名,需要遵守一定的命名规则规范
  • 参数:函数要接收并对其进行处理的数据。(它在括号内的数量是不一定的,可以是任意数量,包括0个)
  • 代码块:函数内的代码内容,用于实现函数功能。当使用函数时,就会执行代码块内的内容。
  • return语句:从函数内部返回一个结果到外部(可以不写,默认返回None)

2.2 函数的执行流程

1.创建函数名

2.执行其他代码,直到调用函数

3.调用函数以后执行函数内部的代码块

2.3 参数

简单来讲,参数就是给函数使用的数据。

在括号中填入值后调用参数,该参数就获得了这个值。然后再传递到函数内部,进行了代码块中的操作。

在定义函数时,设置多个参数要用逗号隔开不同的参数,如:函数名(参数,参数....)。

  • 位置参数

位置参数是按照括号里的位置顺序进行对应参数的传递。

  • 默认参数

在定义函数时,我们可以对参数设置默认值,这种参数称为默认参数。

要注意,默认参数的位置必须要在位置参数后面。

如上面的代码所示,在这里,'标准'会被作为默认值传递给 size,这里的参数 size 就被称作默认参数 。

参数的传递过程如下图所示:

 

  • return语句

return语句是从函数内部返回一个结果到外部(可以不写,默认返回None)

 

 

这个返回结果的过程就叫返回一个值。

值的传递过程是这样的:

 

 

三、类(下)

3.1 类的方法定义语法

事实上就是在定义类的时候,在类内部的代码块再定义一个函数。

这里多了一个self参数,它用来指对象本身。

固定格式 :一般在类中定义方法第一个参数都是self参数

3.2 类的实例化(上)

实例化即根据类生成一个实际的对象:

class 语句执行后创建的类,是一个比较抽象的东西,只是一个模板。

要使用类里面的属性和方法,是需要先把类具体化,这个过程就叫做类的实例化。

把一个抽象的类具体化成一个东西,这个东西就是一个对象。有了对象我们就能通过对象去调用属性和方法。

类的实例化语法:

# 定义一个类 Cars
class Cars:
    # 属性(外形构造)
    color = '黑'
    shape = '小'
    # 初始化方法

    def __init__(self):
        print('实例化成功,恭喜你造出一辆新车')
    # 方法 (动力、操作系统)

    def drive(self):
        print('一辆黑色的小汽车快速向前开')

    def stop(self):
        print('一辆黑色的小汽车快速停车')

    def skr(self):
        print('一辆黑色的小汽车快速漂移')

# 实例化类 Cars,并命名为 new_car
new_car = Cars()

3.3 类的属性、方法调用

调用类的属性语法格式如下:

 

 类的方法调用语法:

调用类的方法时,我们一般直接忽略第一个self参数。

其它参数值按位置传递入类的方法,如下图所示:

 类的方法与函数的定义及调用语法的区别:

值的传递过程:

1、首先类的方法参数由外部调用时传入:

2、加上self.前缀的变量调用了类的属性:

 

3.4__init__()方法

 __init__()方法也叫初始化方法,类在实例化时,__init__()方法会自动运行内部的代码。要注意的是:__init__()方法前后是两条下划线。

3.5类的实例化(下)

在__init__() 方法内有设置参数时,实例化时也需要传入参数值。

位置参数会如函数时一样按顺序传递到方法中,语法格式如下:

 忽略__init__() 方法中的self参数,这里有两个参数需要我们传入(color、shape),所以我们调用类用的代码是:car = Cars('红', '小'),它的传递过程如下:

 

 值传递到代码块内并赋值给类的属性 color、shape。

注意,在类的方法内表示类的属性或类的其它方法时,要采用 self.属性名 或 self.方法名 的格式来调用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mez_Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值