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

新手搭建网站微信商城如何开通

新手搭建网站,微信商城如何开通,wordpress必备优化插件,最好的做法是目录 一些解释 属性 类名建议首字母大写,通常用驼峰规则命名。变量名建议小写,下划线隔开。类最基本的作用是封装。 写在类内非方法中的语句在类加载的时候会执行,且只会执行一次,例如下面的print语句,类加载时就会…

目录

一些解释

属性


类名建议首字母大写,通常用驼峰规则命名。变量名建议小写,下划线隔开。类最基本的作用是封装。

写在类内非方法中的语句在类加载的时候会执行,且只会执行一次,例如下面的print语句,类加载时就会打印Person类 2。类属性在类加载的时候定义。

class Person(object):sex = 'male'  # 类属性money = 2  # 类属性def __init__(self, name, age=None):  # 实例方法之构造方法self.name = name  # 实例属性self.age = age  # 实例属性def run(self):  # 实例方法print(self.get_sex())return f"{self.name} 在跑"# 类加载的时候会执行,且只会执行一次print(f"Person类 {money}")@classmethoddef get_sex(cls):  # 类方法print(cls.get_money())return f"Person类 {cls.sex}"@staticmethoddef get_money():  # 静态方法return f"Person类staticmethod {Person.money}"if __name__ == "__main__":print("=" * 20)print(Person.get_money())print("=" * 20)print(Person.get_sex())print("=" * 20)alice = Person('alice', 2)print(alice.run())

一些解释

  • self
    • 定义访问修改实例属性、调用方法,通过self.
    • 一般用于实例方法,作为第一个形参,代表当前实例
    • 必须传入,在通过实例对象.调用实例方法的时候,python解释器会自动将实例对象传给self,这也就是为啥在实例方法里面可以通过self.访问实例属性、方法,因为其绑定到了当前对象
  • cls
    • 调用类方法,通过cls.
    • 一般用于类方法,作为第一个形参,代表当前类
    • 必须传入,在通过类名.调用类方法的时候,python解释器会自动将类传给cls,这也就是为啥在类方法里面可以通过cls.访问实例属性、方法,因为其绑定到了当前类

属性

  • 类属性
    • 定义于类中个各方法的外部
    • 在类加载的时候定义
    • 建议通过类名.直接调用和修改,在类方法中,建议通过cls.,虽然类名.也可以,但是不便于维护
    • 类属性建议通过cls.、类名.访问修改
    • 类属性可以通过self.、实例对象.访问,但是不能通过它修改,因为表面看上去修改了它的值,其实是给当前对象定义(访问、修改)了一个与类属性同名的实例属性,特别的当我们在类的外部通过实例对象.,就会更可怕,因为只有该实例对象拥有了这个与类属性同名的实例属性,其它的实例对象没有该实例属性。
  • 实例属性
    • 定义在实例方法内部
    • 建议定义在__init__构造函数内部,这样我们对类进行实例化的时候,这个实例化对象就会拥有其实例属性,不需要我们显示的调用。若定义在其它实例方法内部,则直到调用那个实例方法该对象才会拥有那些属性
    • 因其定义在实例方法内部,所以我们必须通过self.来定义访问修改,不加self.仅是该实例方法的局部变量,而不属于实例属性

方法

实例方法:

  • 可访问修改实例属性
  • 通常只能访问类属性(self.不能修改类属性,只是创建了同名的实例属性),但是可以通过类名.强制修改类属性
  • 通过对象名.调用,在实例方法内可以直接通过self.调用
  • 构造方法是特殊的实例方法,__init__(self),自动执行,可以不写return,此时返回类型是None,不能强制返回其他类型

类方法:

  • 不可访问实例属性
  • 可以访问修改类属性
  • 通过类名.调用(也可通过对象名.调用,不推荐),在类方法内可以直接通过cls.调用

静态方法:定义加@staticmethod,不用多传一个形参。可以用类也可以用对象调用静态方法,静态方法也可以访问类变量,和类方法没啥太多区别,在静态方法中不可以访问实例变量。不推荐用静态方法,因为静态方法不是很能体现面向对象的特点。

  • 不可访问实例属性
  • 可以访问修改类属性(通过类名.)
  • 通过类名.调用(也可通过对象名.调用,不推荐)

通过在方法名前加__将方法变为私有的,在外部不可以通过对象名/类名.__方法名访问。python在类外部可以通过对象名.变量名添加实例变量。严格来讲python并没有真正的私有变量,因为可以通过对象名._类名__变量名。

继承

python支持多继承和多重继承。魔法方法类名.__mro__可以查看继承顺序。

例如上图,图上的左右是继承时写在括号中的左右的顺序,继承顺序由先至后如下,这也是继承时不同的父类有同名属性和同名方法的查找路径。

<class '__main__.E'>, <class '__main__.D1'>, <class '__main__.C1'>, <class '__main__.C2'>, <class '__main__.B1'>, <class '__main__.A1'>, <class '__main__.A2'>, <class 'object'>

 <class '__main__.E'>, <class '__main__.A3'>, <class '__main__.C2'>, <class '__main__.D1'>, <class '__main__.C1'>, <class '__main__.B1'>, <class '__main__.A1'>, <class '__main__.A2'>, <class 'object'>

 

<class '__main__.E'>, <class '__main__.D1'>, <class '__main__.C1'>, <class '__main__.B1'>, <class '__main__.A1'>, <class '__main__.B2'>, <class '__main__.C2'>, <class '__main__.B3'>, <class '__main__.A2'>, <class 'object'>

我们可以看到大致路径是这样的,先从最左边的父类一步一步往上找(每次也只找最左侧的父类)类似于深度搜索;若是发现该父类还有其它子类,则我们回过头去走那些没有走过的路(例如到了A2,发现还可以从E->D1->C2->B3,其中只有C2->B3未遍历,所以加进去)

http://www.yayakq.cn/news/856751/

相关文章:

  • 网站群集建设wordpress4.9.8有中文版
  • 怎样做自己的导购网站wordpress 无法粘贴
  • 只买域名不建网站做网站怎么优化
  • 超酷网站模板合肥找工作最新招聘信息
  • wordpress 动漫网站垡头做网站的公司
  • 网站手机端打不开wordpress版权信息 插件
  • 网上商城网站建设公司如何在本地安装wordpress
  • flash网站报价网站推广的意义和方法
  • 24小时学会网站建设 下载万网域名查询网
  • 权威网站建设188旅游网站管理系统
  • 营销类网站如何优化wordpress 小工具定制
  • 做网站与运营大概多少钱天津建设培训中心网站
  • 重庆网站seo多少钱企业查询系统官网
  • 个人网站站长湖北建设厅网站上查询
  • 基于wordpress个人博客网站论文网站服务器和空间有什么区别
  • 蓝色企业网站模板做适合漫画网站的图片
  • 全国建设网站wordpress能够分权限查看模块吗
  • 美团网网站建设 费用郑州网站建设推广报价
  • 做网站需要招什么做设计需要素材的常用网站
  • 自贡企业网站WordPress手机缩略图过大
  • 网站开发流程知乎北京市建设网站首页
  • 巩义网站建设托管做导购网站多少钱
  • 织梦做商城类网站教程上海好的网站设计公司
  • 涂料网站模板网页开发报价单
  • 织梦网站移动化百度指数明星人气榜
  • 网站开发一定得用html吗wordpress熊掌号出图改造
  • 烟台网站建设科技wordpress 主题 引入js
  • 建网站后如何运营网站优化北京如何联系?
  • 内网小网站的建设未来做那些网站致富
  • 网站注册搜索引擎的目的企业门户网站 源码