美文网首页数据蛙数据分析基础学习
Python_类的学习(类、方法、属性)(一)

Python_类的学习(类、方法、属性)(一)

作者: Gaafung峰 | 来源:发表于2020-04-14 21:45 被阅读0次

面向对象编程,是最有效的编写方法之一,你会发现第三方库的源码基本都使用了类,所以有必要学习 什么是类

基本概念

实例化

根据类来创建对象称为实例化

创建类和使用类

创建Dog类

class Dog():
    """一次模拟小狗的简单尝试"""

    def __init__(self, name, age):
        """初始化属性name和age"""
        self.name = name
        self.age = age

    def sit(self):
        """模拟小狗被命令时蹲下"""
        print(self.name.title() + " is now sitting.")

    def roll_over(self):
        """模拟小狗被命令时打滚"""
        print(self.name.title() + " rolled over!")

创建实例

    my_dog = Dog('willie', 6)  # 实例
    print("My dog's name is " + my_dog.name.title() + ".")
    print("My dog is " + str(my_dog.age) + " years old.")
    my_dog.sit()
    my_dog.roll_over()

打印出

My dog's name is Willie.
My dog is 6 years old.
Willie is now sitting.
Willie rolled over!

查看类型

print('my_dog', type(my_dog))
print('my_dog.name', type(my_dog.name))
print('my_dog.sit()', type(my_dog.sit()))
print('my_dog.sit', type(my_dog.sit))
my_dog <class '__main__.Dog'>
my_dog.name <class 'str'>
Willie is now sitting.
my_dog.sit() <class 'NoneType'>
my_dog.sit <class 'method'>

1.类的命名

class Dog() 是类,Dog是其类的命名,它的首字母需要大写,约定成俗。
创建实例 my_dog,则是小写开头,这样子,你便容易区分开来。

2.方法

def开头(函数),在类当中都属于方法
方法__init__是一种特殊的方法,每当根据Dog类创建新实例时,Python都会自动运行它,开头和末尾的两个下划线,是一种约定,目的是避免python默认方法与普通方法起冲突。

通过对实参Dog()传递名字和年龄,如·my_dog = Dog('willie', 6);self会自动传递,只需给最后两个形参(name和age)提供值。

为什么叫方法?
<class 'method'>
可以通过此看到,method = 方法

3.属性——前缀self

def __init__中的name/age均有self,以self开头的变量可以供类中的所有方法使用。
还可以通过类的任何实例访问这些变量。
例如 self.name = name 获取存储在形参name中的值,并将其存储到name中,然后该变量被关联到当前创建的实例。
像这样子可以通过实例访问的变量称为 属性

4.访问属性

my_dog.name,访访问实例的属性,用句点表示法。
顺序是 先找到实例my_dog,再找到这个实例关联的属性name
Dog类引用这个属性时,使用的是self.name。

5.调用方法

my_dog.sit()
Python在类Dog中查找方法sit()并运行其代码。Python以同样的方式解读 代码my_dog.roll_over()。

6.命名规则强调

类的命名首字母大写。
实例小写。
属性和方法的命名需指定合适描述,使其没见过内容也可清晰知道做什么。

相关文章

  • Python_类的学习(类、方法、属性)(一)

    类 面向对象编程,是最有效的编写方法之一,你会发现第三方库的源码基本都使用了类,所以有必要学习 什么是类。 基本概...

  • 2020-02-24

    JAVA面向对象的学习 定义类的方法 class 类名 { 属性: 方法; } 属性:也叫成员变量,主要用于描述类...

  • Python 类属性和类方法

    仅用学习参考 目标 类的结构 类属性和实例属性 类方法和静态方法 01. 类的结构 1.1 术语 —— 实例 使用...

  • swift4.1 系统学习十八 类(二)

    import Foundation /*本节继续学习 类上一节学习了类的概念、类的属性和方法、继承的定义、类作为引...

  • python 类属性和类方法

    类属性和类方法 目标 类的结构 类属性和实例属性 类方法和静态方法 01. 类的结构 1.1 术语 —— 实例 使...

  • Java基础-面向对象

    4.面向对象 属性+方法变成一个类 Java面向对象学习三条主线:1.Java类及类的成员:属性,方法,构造器;代...

  • 第九部分 面向对象

    #定义一个类 class Myclass: #类的属性 attr='类的属性' #类的方法 def...

  • 类和对象

    类=属性+方法 属性是信息,方法是动作 class 类的意思 如何定义类? class Students #定义...

  • runtime(一)

    总结:Classget 类名,父类;实例变量;属性;实例方法,类方法,方法实现;Copy 实例变量列表;属性列...

  • 面向对象学习笔记

    属性: 方法: 类中的function &this 表示类使用本身的属性或者方法,出现$this表示类自己 访问控...

网友评论

    本文标题:Python_类的学习(类、方法、属性)(一)

    本文链接:https://www.haomeiwen.com/subject/cmvxvhtx.html