zoukankan      html  css  js  c++  java
  • 第十六、十七天,关于面向对象

    ---恢复内容开始---

    首先这两天接触到了class这个词,格式如下

    class Person:                   #类的开头字母要大写

      静态变量 = '值'                 #这个变量是共用的

      def  __init__(self):

        内部属性

    调用的时候,先看内部属性是否有,若无则去静态变量里面找

    当需要让class中的函数改变静态变量的值时,需要用类名.变量名称的方法,如:

    class Person:                  

      money = 0             

      def  __init__(self,name):

        self.name = name

        Person.money  += 10000

    或者可以这样:

    class Person:                  

      money = [0]             

      def  __init__(self,name):

        self.name = name

        Person.money[0]  += 10000    #注意此处的Person.money[0]的0是索引,而上面的money[0]是list中的元素0

    这样就可以实现对静态变量的改变。

    此处涉及命名空间以及作用域的问题,用图片说明最为直观。如下程序

    class Person:                  

      money = 0             

      def  __init__(self,name,age,sex):

        self.name = name

        self.age = age

        self.sex = sex

      def  speak(self):

        print('balabala')

        

    有点丑但起码表明了关系。

  • 相关阅读:
    git或gitee 提交代码到远程仓库
    gitee 创建代码仓库,并提交本地代码
    Logback 实现日志链路追踪
    navicat 查看,设计并导出数据库 ER图
    Jackson 使用 @JsonFormat 注解进行时间格式化
    Redis 缓存常见问题
    jedis 与 redission 实现分布式锁
    Redis 集群模式搭建
    Redis 哨兵模式高可用
    Notepad++ 正则表达式提取信息
  • 原文地址:https://www.cnblogs.com/ylx900/p/8796336.html
Copyright © 2011-2022 走看看