扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
一、类定义:
公司专注于为企业提供成都做网站、网站建设、微信公众号开发、商城系统网站开发,小程序定制开发,软件定制网站等一站式互联网企业服务。凭借多年丰富的经验,我们会仔细了解各客户的需求而做出多方面的分析、设计、整合,为客户设计出具风格及创意性的商业解决方案,成都创新互联更提供一系列网站制作和网站推广的服务。
class 类名:
语句
类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性
如果直接使用类名修改其属性,那么将直接影响到已经实例化的对象
类的私有属性:
__private_attrs 两个下划线开头,声明该属性为私有,不能在类地外部被使用或直接访问
在类内部的方法中使用时 self.__private_attrs
类的方法
在类地内部,使用def关键字可以为类定义一个方法,与一般函数定义不同,类方法必须包含参数self,且为第一个参数
私有的类方法
__private_method 两个下划线开头,声明该方法为私有方法,不能在类地外部调用
在类的内部调用slef.__private_methods
类的专有方法:
__init__ 构造函数,在生成对象时调用
__del__ 析构函数,释放对象时使用
__repr__ 打印,转换
__setitem__按照索引赋值
__getitem__按照索引获取值
__len__获得长度
__cmp__比较运算
__call__函数调用
__add__加运算
__sub__减运算
__mul__乘运算
__div__除运算
__mod__求余运算
__pow__称方
示例:
[python] view plain copy
#类定义
class people:
1、类概念的引入
如果了解了面向对象之后,接下来由客观世界中的对象拓展到计算机中的对象,再对客观世界中的对象进行特征和行为的提取,从而拓展到计算机中对象的属性和方法的提取,最终采用抽象提取计算机中对象的共同属性和方法,形成类。
在客观世界中,对象是指人们在行动或思考时作为目标的事物。例如,买车、买房、买包,这些都具有购买的目标,这些目标就是购买对象。万事万物皆是对象,对象分为有形对象和无形对象。有形对象是人们看得见、摸得着的对象。无形对象是人们看不见、摸不着的对象,但它也是人们行动或思考的目标,也属于对象,如记忆、计划等。
在计算机中,对象是客观世界中的对象在计算机中的映射。例如,一条狗是客观世界中的对象,它有品种、名字和年龄等数据信息。但是在计算机软件开发研究的过程中,注重的是它的品种、年龄等信息。由此可见,客观世界中的对象要映射到计算机中需要进行筛选。
计算机中对象的内涵包括以下三个方面:
①对象具有唯一性。每个对象都有自身唯一的标识,并且它的标识在其整个生命周期中都不会改变。不同的对象有不同的标识。
②对象是构成软件系统的一个基本单位。面向对象编程是以对象为导向,以对象为目标的,也就是说,软件系统是基于对象的。
③对象是属性和方法的统一体。描述一个人,姓名、年龄是描述他的属性数据,跳舞、唱歌是他的操作方法,属性和方法构成了计算机中的对象。
由上文可知,客观世界中的对象的特征映射为计算机中的对象的属性,行为映射为方法。
2、由抽象获得类
抽象是一个提取各种对象共同特征和行为的一个过程。例如,两支笔,它们有共同的颜色、材质,它们都能写字、画画,即有共同的特征和行为。提取共同特征和行为之后,就可以总结出笔的概念。拓展到计算机中的对象,就是用抽象提取对象的共同属性和方法,从而形成类。
类是具有相同属性和方法的一组对象的集合。在Python中,对象是类的实例,类是对象的抽象。
3、定义类
定义类的语法和定义函数的语法类似,定义函数使用的关键字是def,而定义类使用的关键字是class。定义类的基本语法格式如下:
class 类名:
pass
以定义一个最简单的类为例,这里定义了一个类名为Cat的类,它是“空”的,仅仅展示了定义类的基本语法:
class Cat:
... pass
...
以上就是Python中类的概念,更多关于Python的基础性知识点可以看下这个更加直观视频教程:网页链接,希望我的回答能帮到你。
python定义的类使用方法:
使用“obj=类名()”语句将类实例化,然后用“obj.函数名”就可以调用类里面定义的各种函数了
示例如下:
将Bili类实例化,然后就可以使用类里的函数
更多Python知识,请关注:Python自学网!!
1、函数定义
①使用def关键字定义函数
②
def 函数名(参数1.参数2.参数3...):
"""文档字符串,docstring,用来说明函数的作用"""
#函数体
return 表达式
注释的作用:说明函数是做什么的,函数有什么功能。
③遇到冒号要缩进,冒号后面所有的缩进的代码块构成了函数体,描述了函数是做什么的,即函数的功能是什么。Python函数的本质与数学中的函数的本质是一致的。
2、函数调用
①函数必须先定义,才能调用,否则会报错。
②无参数时函数的调用:函数名(),有参数时函数的调用:函数名(参数1.参数2.……)
③不要在定义函数的时候在函数体里面调用本身,否则会出不来,陷入循环调用。
④函数需要调用函数体才会被执行,单纯的只是定义函数是不会被执行的。
⑤Debug工具中Step into进入到调用的函数里,Step Into My Code进入到调用的模块里函数。
4.6. 定义函数
我们可以创建一个用来生成指定边界的斐波那契数列的函数:
def fib(n): # write Fibonacci series up to n
... """Print a Fibonacci series up to n."""
... a, b = 0, 1
... while a n:
... print(a, end=' ')
... a, b = b, a+b
... print()
...
# Now call the function we just defined:
... fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
关键字 def 引入了一个函数 定义。在其后必须跟有函数名和包括形式参数的圆括号。函数体语句从下一行开始,必须是缩进的。
函数体的第一行语句可以是可选的字符串文本,这个字符串是函数的文档字符串,或者称为 docstring。(更多关于 docstrings 的信息请参考 文档字符串) 有些工具通过 docstrings 自动生成在线的或可打印的文档,或者让用户通过代码交互浏览;在你的代码中包含 docstrings 是一个好的实践,让它成为习惯吧。
函数 调用 会为函数局部变量生成一个新的符号表。确切的说,所有函数中的变量赋值都是将值存储在局部符号表。变量引用首先在局部符号表中查找,然后是包含函数的局部符号表,然后是全局符号表,最后是内置名字表。因此,全局变量不能在函数中直接赋值(除非用 global 语句命名),尽管他们可以被引用。
函数引用的实际参数在函数调用时引入局部符号表,因此,实参总是 传值调用 (这里的 值 总是一个对象 引用 ,而不是该对象的值)。[1] 一个函数被另一个函数调用时,一个新的局部符号表在调用过程中被创建。
一个函数定义会在当前符号表内引入函数名。函数名指代的值(即函数体)有一个被 Python 解释器认定为 用户自定义函数 的类型。 这个值可以赋予其他的名字(即变量名),然后它也可以被当作函数使用。这可以作为通用的重命名机制:
fib
f = fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
如果你使用过其他语言,你可能会反对说:fib 不是一个函数,而是一个方法,因为它并不返回任何值。事实上,没有 return 语句的函数确实会返回一个值,虽然是一个相当令人厌烦的值(指 None )。这个值被称为 None (这是一个内建名称)。如果 None 值是唯一被书写的值,那么在写的时候通常会被解释器忽略(即不输出任何内容)。如果你确实想看到这个值的输出内容,请使用 print() 函数:
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流