python类中初始化形式:def __init__(self)和def __init__(self, 参数1,参数2,,,参数n)区别

简介: python类中初始化形式:def __init__(self)和def __init__(self, 参数1,参数2,,,参数n)区别

这两种初始化形式,就类似于C++类中的构造函数。

形式1: definit(self)

class Student_Grade: 
    def __init__(self):  # 类似于c++中的默认构造函数
        self.name = None
        self.grade = None

    def print_grade(self):
        print("%s grade is %s" % (self.name,self.grade))


s1 = Student()  # 创建对象s1
s1.name = "Tom"
s1.grade = 8

s2 = Student()  # 创建对象s2
s2.name = "Jerry"
s2.grade = 7

s1.print_grade()
s2.print_grade()

这种形式在init方法中,只有一个self,指的是实例的本身,但是在方法的类部,包含两个属性,name, grade。

它允许定义一个空的结构,当新数据来时,可以直接添加。

实例化时,需要实例化之后,再进行赋值。

形式2:definit(self, 参数1,参数2,···,参数n)

class Student_Grade:
    def __init__(self, name, grade): 
        self.name = name
        self.grade = grade

    def print_grade(self):
        print("%s grade is %s" % (self.name,self.grade))

s1 = Student("Tom", 8)   # 创建对象s1
s2 = Student("Jerry", 7)  # 创建对象s2

s1.print_grade()
s2.print_grade()

这种形式在定义方法时,就直接给定了两个参数name和grade,且属性值不允许为空。实例化时,直接传入参数。

总结

1、self是形式参数,当执行s1 = Student(“Tom”, 8)时,self等于s1;当执行s2 = Student(“sunny”, 7)时,self=s2。
2、两种方法的区别在于定义函数时属性赋值是否允许为空和实例化时是否直接传入参数

相关文章
|
6天前
|
存储 缓存 Python
深入了解python中元类和连接符的用法
【6月更文挑战第20天】本文介绍包括`type`的多重用途,内建函数的常量,模块属性,类继承的概念,元类的工作原理,可哈希对象的重要性,加权平均值的计算,以及如何找到两个列表的交集。
52 5
深入了解python中元类和连接符的用法
|
1天前
|
安全 测试技术 Python
Python类中的Setter与Getter:跨文件调用的艺术
Python类中的Setter与Getter:跨文件调用的艺术
10 3
|
11天前
|
Python
Python 高质量类编写指南
Python 高质量类编写指南
39 15
|
2天前
|
SQL 分布式计算 大数据
MaxCompute产品使用问题之建了一个python 的 UDF脚本,生成函数引用总是说类不存在,是什么导致的
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
6天前
|
存储 程序员 Python
Python类属性与实例属性详解
Python 中区分类属性和实例属性的设计是为了满足不同的需求和使用场景。这种区分使得代码更加灵活、清晰,并且能够提供更好的封装性和可维护性。类属性用于表示与整个类相关的数据,而实例属性则用于表示每个实例的特定信息。这样,我们可以将关注点分离开来,使得代码更易于理解、维护和扩展。在实际应用中,我们可以根据具体的情况,选择适当的属性类型来组织和管理代码。
11 1
|
7天前
|
存储 搜索推荐 Python
【随手记】python语法:类属性和实例属性
【随手记】python语法:类属性和实例属性
22 1
|
7天前
|
Java 索引 Python
深入理解 Python 类中的各种方法
在 Python 中,类不仅仅是对象的蓝图,它还提供了多种方法,使我们能够以更灵活和强大的方式编写代码。本文将详细介绍 Python 类中的各种方法,包括实例方法、类方法、静态方法、特殊方法等,并通过示例展示它们的用法和区别。
|
11天前
|
算法 Java API
Python零基础入门-9类
Python零基础入门-9类
|
11天前
|
Java Python
Python2.x 与 3​​.x 版本区别
Python2.x 与 3​​.x 版本区别
|
5天前
|
人工智能 测试技术 Python
Python数组类+AI插件
Python数组类+AI插件