当前位置: 首页 > wzjs >正文

网站线框吴中seo外链推广工具

网站线框,吴中seo外链推广工具,wordpress重新安装数据库,河北信息门户网站定制目录 一、类和对象 二、Python中的类 三、对象的比较 1、python中的类的比较 2、自定义类的比较 四、静态属性和静态方法 五、集合元素和字典的键中的对象 1、集合元素和字典的键 2、object类 3、关系 一、类和对象 ①类就是用来代表事物的,对于一种事物&…

目录

一、类和对象

二、Python中的类

三、对象的比较

1、python中的类的比较

2、自定义类的比较

四、静态属性和静态方法

五、集合元素和字典的键中的对象

1、集合元素和字典的键

2、object类

3、关系


一、类和对象

①类就是用来代表事物的,对于一种事物,可以设计出一个类,来概括出这个事物的属性,这个属性用成员变量表示,还要有对应的这个事物能进行的操作,我们用成员函数来表示

②成员变量也称类的“属性”,而成员函数也称类的“方法”

③类的示例,称为“对象”,类代表一种事物的共同特点,对象就是一个具体的事物的个体

  • 类(Class):是一个模板,定义了某种事物的共同特征(成员变量)和行为(成员函数)

  • 成员变量(Attributes):是类中用来存储数据的变量,表示对象的状态。

  • 成员函数(Methods):是类中定义的函数,表示对象的行为。

  • 对象(Object):是类的具体实例,它包含了类定义的所有成员变量和成员函数。

例子:

class Animal:def __init__(self, name):self.name = name#这个名字就是成员变量def make_sound(self):pass#这个叫声就是成员函数class Dog(Animal):def make_sound(self):return "汪"class Cat(Animal):def make_sound(self):return "咪咪咪"class Human(Animal):def make_sound(self):return "呀呼"#以上三个就是类的定义,每一个里面包含了一个成员函数dog = Dog("Dog")
cat = Cat("Cat")
human = Human("Human")#类的实例化print(dog.name, "的叫声是:", dog.make_sound())
print(cat.name, "的叫声是:", cat.make_sound())
print(human.name, "的叫声是:", human.make_sound())

中间的三个类可以看成最上面那个抽象类的子类

一个类包含成员变量和成员函数,我们通过继承,来使他具象一些,所有Animal就是抽象类,剩下三个就是具体类

二、Python中的类

类型名即是类名,如float,str等

小数,复数,字符串,元组,列表,集合,字典等组合数据类型的常量,都是对象,函数也是对象,但整数常量不是对象

而我们之前学到的库,如turtle,jieba等,都是一个类

三、对象的比较

1、python中的类的比较

在Python中的所有类,以及自己自定义的类,都有__eq__方法

x == y 的值,就是x.__eq__(y)的值,如果x.__eq__(y)没定义,就是y.__eq__(x)的值,如果两者都没定义,那么 x == y 也没定义

x != y 的值,就相当于x.__ne__(y)的值,等价于 not x.__ne__(y)

下面还有几个比较方面的类:

代码对应的类
a < ba.__lt__(b)
a > ba.__gt__(b)
a <= ba.__le__(b)
a >= ba.__ge__(b)

以上涉及的不包括整数型常量

2、自定义类的比较

默认情况下,一个自定义的a.__eq__(b)方法,功能是判断两者是不是相等

默认情况下,一个自定义的对象不能比较其大小,因为那些方法都被Python设置成了None

默认情况下虽然不能进行比较大小,但是我们可以通过方法重写来使得我们可以进行大小的比较

例子:

class point :def __init__(self , x , y = 0):self.x , self.y = x , ydef __eq__(self, other):return self.x == other.x and self.y == other.y      #进行了重写def __lt__(self, other):if self.x == other.x :return self.y < other.yelse :return self.x < other.xa , b = point(1 , 2) , point(1 , 2)
print(a == b)
print(a != b)
print(a < point(1 , 3))

在上面的代码中,我们对eq方法进行了重写,使得我们自己定义的这个类可以进行大小的比较,我们看看输出:

我们可以看见这个是可以进行判断相等和大小比较的:

如果我们把eq方法注释掉,就是默认的eq方法:

此时上面两个输出就完全相反

四、静态属性和静态方法

①静态属性被所有对象所共享,一共就一份

②静态方法不是作用在具体的某个对象上,它不会受所在类的参数的限制,且它不能访问非静态属性

③静态方法和静态属性的存在,就是为了减少全局变量和全局函数

我们下面来举一个例子具体指出静态变量和静态方法是什么样子的:

class employee :total_salary = 0    #----这就是静态变量def __init__(self , name , income):self.name = nameself.income = incomedef pay(self , salary):self.income += salary       #个人工资employee.total_salary += salary     #总和@staticmethod    #这就是静态方法def print_total_salary():print(employee.total_salary)e1 = employee("Tom" , 0)
e2 = employee("LiHua" , 0)e1.pay(1000)
e2.pay(1500)employee.print_total_salary()
e1.print_total_salary()
e2.print_total_salary()     #访问的都是print_total_salary()函数,所以输出一样

输出:

五、集合元素和字典的键中的对象

1、集合元素和字典的键

在Python中,能作为集合元素和字典的键的条件,是这个东西可哈希

如果hash(x)有定义,这个x就是可哈希的

如果x是整型常量,则hash(x)= x 

如果x不是整型常量,则hash(x)= x.__hsah__()

object类有__hsah__()方法,返回值是一个整数

2、object类

所有类都是都是object类的派生类,因而具有object类的各种属性和方法

我们可以通过dir函数来查看一个类的方法:

class Example :def func(self):passprint(dir(Example))

3、关系

①字典和集合都是“哈希表”数据结构,根据元素的哈希值为元素找存放的“槽”,哈希值可以看作是槽的编号

②若a,b两个对象的哈希值不同,则可以作为同一个集合里面的元素,以及同一个字典里的两个键

③若a,b两个对象的哈希值一样,但是a == b不成立,则也可以作为同一个集合里面的元素,以及同一个字典里的两个键

④自定义的对象,默认情况下哈希值是根据对象的id进行计算哈希值的,所以两个对象,只要a is b不成立,两者的哈希值就不一样

⑤可通过重写自定义类的__hash__()方法,使得对象的值和对象的哈希值不是和id相关,这样值相同的对象就不能在一个字典和集合中了

⑥一个自定义类,只有在重写了eq方法,但是没有重写hash方法的情况下,才是不可哈希的

以上就是Python面向对象程序设计的全部内容:)

http://www.dtcms.com/wzjs/841579.html

相关文章:

  • 青岛网站模板分析无线传感网络的体系架构
  • 网站建设下一步工作计划深圳最好的公司排名
  • 湖州微信网站建设哈尔滨专业网站营销
  • 网站seo视频教程关键词排名优化官网
  • ffmpeg做视频网站pc端网站开发
  • 四川城乡建设厅官方网站重庆网站建设总结与体会
  • 上海企业网站优化公司学校网站开发背景
  • 网站服务费一年多少钱wordpress固定连接不能访问
  • 适合国外网站的dnshtml购物网站设计
  • 网站建设设计外包公司搜索推广代运营
  • 长春网络网站制作开发百度做网站
  • 长沙市网站推广电话京东网站建设的策划书
  • 网站建设方案策划书前言深圳建设银行官方网站
  • 中国建设银行济南招聘信息网站厦门旅游网站设计
  • 青岛开发区网站建设公司工商信息查询
  • 九江专业的企业网站建设公司深圳市建设工程交易服务网宝安分中心
  • 晋江网站建设洛阳网站制作沈阳seo专业培训
  • 自己可以建设一个网站要钱wordpress 昵称
  • 在哪个网站可以查做项目中标的yum wordpress php扩展
  • 网站制作在哪里找工作室怎么注册
  • 建设网站公司地址酒类营销网站
  • 重庆最火的网站网站建设网上学
  • 怎么做最火的视频网站商城网站模板 免费
  • 做网站是什么职位网站小程序制作公司
  • 徐州哪家做网站好 百度一下
  • 做网站属于什么工作自己做的网站如何百度能搜索
  • 即墨区城乡建设局网站官网个人做的网站能备案吗
  • 专业网站开发建设北京集团公司网站建设
  • 厦门网站建设网站网站程序更换
  • 网站建设优化佛山青岛网站建设培训学校