• 03 python 对象笔记


    类的命名方法

    1.使用大驼峰命名法:每一个单词的首字母大写(第一个的也要)
    2.单词之间不需要下划线

    对象的内置函数和属性

    1.使用dir()函数来获取对象的内置方法和属性。返回值是一个列表。
    2.返回中的__方法名__代表该对象的内置方法和属性

    类的定义

    class 类名:
    #与java不同的是,java 的类名后面有括号,python的没有

    类中的方法

    1.类中的方法默认参数为self,即类自身
    2.类汇中的方法若想访问类中的变量,使用self.变量名 即可(java中是this)

    通过对象给自身添加新的属性
    对象名.新属性=属性值
    添加的属性不会再类中,不会影响到同类下的其它对象

    类的构造方法-无参

    def __init__(self):
    #这里可以对初始化方法进行编辑,如
    self.name = "tom"# 为这个类的每一个对象创建一个值为“tom”的属性

    类的构造方法-有参

    class Human:
        def __init__(self,new_name):
            self.name=new_name

    对象的销毁方法__del__

    对象在被销毁时(从内存中)会自动调用此对象,若不适用del <对象名>方法删除对象,则对象将在程序执行完后被销毁

    class Human:
        def __del__(self):
            print("%s对象被销毁了!" % self.name) 

    对象的__str__方法

    类似于java中的toString方法,__str__方法在python中起到同样的作用
    默认的__str__方法返回’包含该对象所在的类以及在内存中的地址‘的字符串
    可在类中对此方法进行修改,但必须返回一个字符串
     def __str__(self):
            return "我的名字是%s" % self.name的

    类的私有属性和私有方法

    类的私有属性和方法不能被调用,它仅在类的内部被使用。

    class Women:
        def __init__(self,name,age):
            self.name=name
            self.__age=age # 私有属性和方法的定义方法就是在名称前加两个下划线
    
        def secret(self):
            print("%s的年龄是%d" % (self.name,self.__age))# 私有属性和方法可以在内部调用
    
    xiaofang = Women("小芳",18)
    xiaofang.secret()

      输出结果:

    E:python3python3.exe F:/PycharmProjects/project3-class/xh_09_私有属性和方法.py
    小芳的年龄是18

    如果在外部尝试调用私有属性

    age = xiaofang.__age
    

      则报错:

    Traceback (most recent call last):
      File "F:/PycharmProjects/project3-class/xh_09_私有属性和方法.py", line 11, in <module>
        age = xiaofang.__age
    AttributeError: 'Women' object has no attribute '__age'
    

      私有方法同理不再累述。

    如何强制调用私有方法?

    使用 对象._类名__属性或方法名 可以强制调用方法,但开发中不适用此方法,强烈不推荐。

    age = xiaofang._Women__age
    

      

    杂七杂八

    %d输出十进制数字
    %x输出十六进制

  • 相关阅读:
    EntityFramework之创建数据库及基本操作(一)
    Entity Framework Code First (八)迁移 Migrations
    [转]Tomcat启动报错:AnnotationConfigBeanDefinitionParser are only available on JDK 1.5 and higher
    [转]bootstrap table本地数据使用方法
    [转]MySQL-5.7 Update语句详解
    [转]操作MySQL数据库报出:Parameter index out of range (1 > number of parameters, which is
    [转]在MySQL中创建实现自增的序列(Sequence)的教程
    [转]MySQL如何设置自动增长序列 SEQUENCE
    [转]Mustache 使用心得总结
    [转]关于重定向RedirectAttributes的用法
  • 原文地址:https://www.cnblogs.com/Scorpicat/p/11713282.html
Copyright © 2020-2023  润新知