首页 > 后端开发 > 正文

python类是什么

2024-02-20 03:37:04 | 我爱编程网

最近经常有小伙伴私信询问python类是什么相关的问题,今天,我爱编程网小编整理了以下内容,希望可以对大家有所帮助。

本文目录一览:

python类是什么

python类是什么

在这篇文章之中我们来了解一下关于类的知识,有些朋友可能是刚刚接触到python这一编程语言,对于什么是python类是什么意思都不明白,但是没关系接下来这篇文章将会带大家来学习什么是“类”。

一、python类的定义

类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。

二、如何创建类

使用 class 语句来创建一个新类,class 之后为类的名称并以冒号结尾:

class ClassName:

'类的帮助信息' #类文档字符串

class_suite #类体类的帮助信息可以通过ClassName.__doc__查看。

class_suite 由类成员,方法,数据属性组成。

三、Python创建类实例

以下是一个简单的 Python 类的例子:

#!/usr/bin/python

# -*- coding: UTF-8 -*-

class Employee:

'所有员工的基类'

empCount = 0我爱编程网

def __init__(self, name, salary):

self.name = name

self.salary = salary

Employee.empCount += 1

def displayCount(self):

print "Total Employee %d" % Employee.empCount

def displayEmployee(self):

print "Name : ", self.name, ", Salary: ", self.salary(empCount 变量是一个类变量,它的值将在这个类的所有实例之间共享。你可以在内部类或外部类使用 Employee.empCount 访问。

第一种方法__init__()方法是一种特殊的方法,被称为类的构造函数或初始化方法,当创建了这个类的实例时就会调用该方法

self 代表类的实例,self 在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数。)

python类是什么

怎么使用Python进行编程?

1、首先在Window 上在安装 Python时,已经已经安装了默认的交互式编程客户端,提示窗口:在 python 提示符中输入以下文本信息,然后按 Enter 键查看运行效果。

2、然后,通过脚本参数调用解释器开始执行脚本,直到脚本执行完毕。当脚本执行完成后,解释器不再有效。所有 Python 文件将以 .py 为扩展名。将以下的源代码拷贝至 test.py 文件中。

3、然后,假定您的Python解释器在/usr/bin目录中,使用以下命令执行脚本。

4、然后,在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字头。Python 中的标识符是区分大小写的。

5、最后,是行和缩进,学习 Python 与其他语言最大的区别就是,Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断。

python类是什么

在Python中面向对象该如何编程

我爱编程网(https://www.52biancheng.com)小编还为大家带来在Python中面向对象该如何编程的相关内容。

虽然Python是解释性语言,但是它是面向对象的,能够进行对象编程。下面就来了解一下如何在Python中进行对象编程。

一.如何定义一个类

在进行python面向对象编程之前,先来了解几个术语:类,类对象,实例对象,属性,函数和方法。

1.什么是面向对象

面向对象(oop)是一种抽象的方法来理解这个世界,世间万物都可以抽象成一个对象,一切事物都是由对象构成的。应用在编程中,是一种开发程序的方法,它将对象作为程序的基本单元。

2.面向对象与面向过程的区别

我们之前已经介绍过面向过程了,面向过程的核心在‘过程’二字,过程就是解决问题的步骤,面向过程的方法设计程序就像是在设计一条流水线,是一种机械式的思维方式

优点:复杂的问题简单化,流程化

缺点:扩展性差

主要应用场景有:Linux内核,git,以及http服务

面向对象的程序设计,核心是对象,对象就是特征(变量)与技能(函数)的结合体。

优点:解决了程序扩展性差的问题

缺点:可控性差,无法预测最终结果

主要应用场景是需求经常变化的软件,即与用户交互比较频繁的软件

需要注意的是:面向对象的程序设计并不能解决全部问题,只是用来解决扩展性。当然,现在的的互联网软件,扩展性是最重要的

3.对象与类的概念

在python中,一切皆对象,一个对象应该具有自己的属性,也就是特征,还有有自己的功能,即方法

在Python中,特征用变量表示,功能用函数表示,所以对象就是变量与函数的结合体

而从各种各样的对象中抽取出来具有相同特征和相同功能组成的,就是类,所以说类是一系列对象共同特征与功能的结合体

下面让我们来定义一个类,方法与定义一个函数有些类似:

#定义一个中国人的类class Chinese:#共同的特征country='China'#共同的技能def talk(self):print('is talking Chinese')def eat(self):print('is eating Chinese food')这样我们就定义好了一个类,注意:1.定义类用class关键字

2.类名一般首字母大写,且冒号前面不需要括号,区别于函数定义

3.与函数不同,类在定义阶段就会执行类里面的代码

4.类有两种属性,共同的特征叫数据属性,共同的功能叫函数属性

怎样由这个类产生一个对象呢?实例化:

p1=Chinese()

p2=Chinese()我们可以得出结论了,不管现实世界中怎么样,但是在程序中,确实是先有类,才有的对象

我们已经通过实例化的方式得到两个对象了,但是有一个问题,得到的两个对象,特征和功能都是一样的,这根万物皆对象的理念完全不符啊,应该是每个对象都是不同的,这样的世界才有意思啊

事实上,我们在定义类的时候,忘记了定义 __init__() 这个函数,正确的定义方法应该是这样的:

#定义一个中国人的类class Chinese:#共同的特征country='China'#初始化def __init__(self,name,age):

self.name=name #每个对象都有自己的名字self.age=age #每个对象都有自己的年龄#共同的技能def talk(self):print('is talking Chinese')def eat(self):print('is eating Chinese food')#实例化的方式产生一个对象p1=Chinese('zhang',18)类名加括号就是实例化,实例化就会自动触发__init__ 函数运行,可以用它来为每个对象定制自己的特征

我们在定义__init__函数的时候,括号里有三个参数,但是我们实例化调用的时候却只传了两个值,为什么不报错呢?这是因为self的作用就是:实例化的时候,自动将对象本身传给__init__函数的第一个参数,当然self只是个名字了,egon老师说瞎几把写别人就看不懂了。

注意。这种自动传值的机制只是在实例化的时候才会体现,类除了实例化还有一种作用就是属性引用,方法是类名.属性

#引用类的数据属性print(Chinese.country) #China#引用类的函数属性# Chinese.talk()#TypeError: talk() missing 1 required positional argument: 'self'print(Chinese.talk) #Chinese.talk('self') #is talking Chinese#增加属性Chinese.color='yellow'#删除属性del Chinese.color从上面报错的代码可以看出,属性引用的时候,没有自动传值这回事

我们学过名称空间的概念,定义一个变量,或者定义一个函数都会在内存中开辟一块内存空间,类里面也有定义变量(数据属性),定义函数(函数属性),他们也有名称空间,可以通过.__dict__的方法查看

p1=Chinese('zhang',18)print(Chinese.__dict__)#{'__module__': '__main__', 'country': 'China', '__init__': , 'talk': , # 'eat': , '__# dict__': ,# '__weakref__': , '__doc__': None}print(p1.__dict__)#{'name': 'zhang', 'age': 18}通过上面代码显示的结果我们知道了,打印实例化后的对象的名称空间,只显示自己特有的属性,如果想要找到和其他对象共有的属性,就要去类的名称空间里面去找

还有一个问题,对象的名称空间中没有函数属性,当然也是去类里面找,但是不同对象指定的函数,是一个函数吗

p1=Chinese('zhang',18)

p2=Chinese('li',19)print(Chinese.talk)#print(p1.talk) #>print(p2.talk) #>可以看到,并不是,他们的内存地址都不一样。而且注意bound method,是绑定方法

对象本身只有数据属性,但是Python的class机制将类的函数也绑定到对象上,称为对象的方法,或者叫绑定方法。绑定方法唯一绑定一个对象,同一个类的方法绑定到不同的对象上,属于不同的方法。我们可以验证一下:

当用到这个函数时:类调用的是函数属性,既然是函数,就是函数名加括号,有参数传参数

而对象用到这个函数时,对象没有函数属性,他是绑定方法,绑定方法怎么用呢,也是直接加括号,但不同的是,绑定方法会默认把对象自己作为第一个参数

class Chinese:

country='China'def __init__(self,name,age):

self.name=name

self.age=age def talk(self):print('%s is talking Chinese'%self.name)def eat(self):print('is eating Chinese food')

p1=Chinese('zhang',18)

p2=Chinese('li',19)

Chinese.talk(p1) #zhang is talking Chinesep1.talk() #zhang is talking Chinese只要是绑定方法,就会自动传值!其实我们以前就接触过这个,在python3中,类型就是类。数据类型如list,tuple,set,dict这些,实际上也都是类,我们以前用的方法如l1.append(3),还可以这样写:l1.append(l1,3)

未完待续。。

以上就是我爱编程网小编整理的内容,想要了解更多相关资讯内容敬请关注我爱编程网。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“python类是什么”相关推荐
python到底是什么类型的语言
python到底是什么类型的语言

python到底是什么类型的语言Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。解释型语言:(推荐学习:Python视频教程)程序不需要编译,程序在运行时才翻译成机器语言,每执行一次都要翻译一次。因此效率比较低。比如Basic语言,专门有一个解释器能够直接执行Basic程序,每个语句都是执行的时候才翻译。(在运行程序的时候才翻译,专门有一个解释器去进行翻译,每个

2024-02-29 10:33:15
Python的数字类型是什么,怎么表示?
Python的数字类型是什么,怎么表示?

Python的数字类型是什么,怎么表示?关于Python的数字类型,以下选项中描述错误的是()。A.Python整数类型提供了4种进制表示:十进制、二进制、八进制和十六进制.B.Python语言要求所有浮点数必须带有小数部分.C.Python语言中,复数类型中实数部分和虚数部分的数值都是浮点类型,复数的虚数部分通过后缀“C”或者“c”来表示.D.Python语言提供i

2023-12-15 08:11:58
python不支持的数据类型是什么?
python不支持的数据类型是什么?

python不支持的数据类型是什么?python不支持的数据类型是char、byte类型。Python没有char或byte类型来保存单一字符或8比特整数。你可以使用长度为1的字符串表示字符或8比特整数。python的数据类型有:数字(int)、浮点(float)、字符串(str),列表(pst)、元组(tuple)、字典(dict)、集合(set)。

2024-02-09 16:40:08
Python布尔类型和强制类型转换是什么?Python布尔类型和强制类型转换介绍
Python布尔类型和强制类型转换是什么?Python布尔类型和强制类型转换介绍

在python中,bool表示的数据类型是bool表示的数据类型是布尔型,即逻辑型,它的数值是True或False,即真或假,两者中的一个。例如:print(10>9)输出结果是Trueprint(10==9)输出结果是Falseprint(10<9)输出结果是Falsepython06-布尔表达式(bool)本篇主要讲的是布尔表达式基本操作,对于布尔值来说

2023-12-18 13:40:53
python字典类型的英文单词是什么
python字典类型的英文单词是什么

python字典类型的英文单词是什么python字典类型的英文单词是:dict。在Python中,字典这种数据类型的英文叫做“dict”,有的语言里它的名称是“hash”。字典是编程中最常用的数据结构之一。它是用来做映射或者存储你需要的键值对,这样当你需要的时候,你可以通过key来获取它的值。同样,程序员不会使用一个像“字典”这样的术语,来称呼那些不能像一个写满词汇的真实字

2024-01-22 11:34:12
PHP中为什么echo是void类型 print是int类型呢
PHP中为什么echo是void类型 print是int类型呢

PHP中为什么echo是void类型print是int类型呢这篇文章主要介绍了PHP中echo和print的区别,针对二者使用中常见的用法区别进行了较为深入的总结与分析,需要的朋友可以参考下一般来说,PHP中动态输出HTML内容,是通过print和echo语句来实现的,在实际使用中,print和echo两者的功能几乎是完全一样。可以这么说,凡是有一个可以使用的地方,另一个也可以使用。但是

2024-10-19 11:41:06
python是什么
python是什么

python的由来?Python的创始人为荷兰人吉多·范罗苏姆[3](GuidovanRossum)。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是取自英国20世纪70年代首播的电视喜剧《蒙提.派森的飞行马戏团》(MontyPython'sFlyingC

2024-01-23 23:34:03
什么是python
什么是python

什么是pythonpython是一种跨平台的计算机程序设计语言;是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本,随着版本的不断更新和语言新功能的添加,多被用于独立的、大型项目的开发。python语言的核心只包含数字、字符串、列表、字典、文件等常见类型和函数,而由python标准库提供了系统管理、网络通信、文本处理、数据库接口、图形系统、X

2024-01-31 14:30:24