Python之构造函数
2023-12-17 15:45:32
参考:
Python之构造函数_构造函数 python-CSDN博客
构造函数的特点:
创建对象;给对象的成员变量赋值
构造函数和成员函数之间的区别:
- 成员函数需要被手动调用,但是,构造函数在创建对象的过程中是自动被调用的
- 对于同一个对象而言,成员函数可以被调用多次,但是,构造函数只能被调用一次
#1.构造函数被调用
'''成员函数需要被手动调用,但是,构造函数在创建对象的过程中是自动被调用的'''
class Check():
#成员变量
num1 = 0
s1 = ""
#成员方法
def show(self):
print("showing")
#构造函数
def __init__(self):
print("构造函数被执行了")
c = Check() #构造函数被执行了
c.show() #showing
#2.给构造函数添加参数
class Check1():
#成员变量
num1 = 0
s1 = ""
#成员方法
def show(self):
print("showing")
#构造函数
def __init__(self,*s): #设置不定长参数
print("构造函数被执行了~~~")
#注意1:当在类中定义了构造函数,并且给构造函数设置了参数,系统将不再提供无参的构造函数
#在创建对象的时候,注意参数的匹配问题
#注意2:在同一个类中,构造函数只能出现一次
c1 = Check1(10,20) #构造函数被执行了~~~
c1 = Check1() #构造函数被执行了~~~
? ? #构造函数
? ? def __init__(self,*s): ? ? #设置不定长参数
? ? ? ? print("构造函数被执行了~~~")?
#3.构造函数的作用
'''对于同一个对象而言,成员函数可以被调用多次,但是,构造函数只能被调用一次'''
class Check2():
#成员变量
num1 = 0
s1 = ""
#成员方法
def show(self):
print("showing")
#构造函数
#构造函数的形参列表一般和成员变量有关【主要给成员变量赋值】
def __init__(self,n,s):
print(n,s)
num1 = n
s1 = s
c2 = Check2(10,"abc") #10 abc
print(c2.num1,c2.s1) #0
#4.self的作用:通过self区分成员变量和局部变量
class Check3():
#成员变量
num1 = 0
s1 = ""
#成员方法
def show(self):
print("showing")
#构造函数
#构造函数的形参列表一般和成员变量有关【主要给成员变量赋值】
def __init__(self,n,s):
print(n,s)
#此时的num1并不是一个局部变量,而是一个成员变量
self.num1 = n
self.s1 = s
c3 = Check3(11,"abc") #11 abc
print(c3.num1,c3.s1) #11 abc
#5.使用self之后:可以省略成员变量的定义
class Check4():
#成员方法
def show(self):
print("showing")
#构造函数
def __init__(self,num1,s1):
print(num1,s1)
#定义成员变量,成员变量赋初始值
self.num1 = num1
self.s1 = s1
c4 = Check4(12,"abc") #12 abc
print(c4.num1,c4.s1) #12 abc
文章来源:https://blog.csdn.net/llf000000/article/details/135044685
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!