Python知识笔记(+1):通俗理解__all__和__init__方法的含义与用法

本人python小白,记录一些编程过程中遇到的错误或知识!没有顺序可言,学到哪里记录到哪里。(参考了网络资料并结合了自己的理解)

1. python中__all__含义和用法

1.1 基本格式
__all__=['xx','xxx','xxxx']
1.2 含义

它属于python中的变量,该变量是一个列表,存储了当前模块中的一些成员(变量、函数或类)的名称。当其他文件仅以from 模块名 import *形式导入该模块时,表示只能使用该列表中指定的成员。注意,以下两种情况__all__用法失效。

  • 1)以 import 模块名 形式导入模块后,通过模块名前缀来调用模块内的成员;
  • 2)以 from 模块名 import 成员 的形式导入指定成员。
1.3 例子
#test1.py
def talk():
	print("Hello")
def say():
	print("World")
__all__=['talk']

运行 test1.py 文件后,输出

Hello

但是以下两种情况,正常输出,__all__功能失效。

##test2.py
import test
test.talk()
test.say()

##test3.py
from test1 import talk
from test1 import say
talk()
say()

都正常输出

Hello
World

2. python中__init__ 的含义和用法

2.1 基本格式
class Book:
	def __init__(self, n, p):
		self.name = n
		self.page = p
2.2 含义

init是单词initialization(初始化)的缩写,是一种特殊的构建方法,形参有self, n, p三个。self表示对象本身self.name = nself.name = p表示将n和p赋值给self对象的name和page属性;

  • 类中的第一个参数都为self,每个类中基本都要定义一个__inin__()方法,加不加这个方法区别如下:没有定义__init__的类,虽然也能输出结果,但是当多个参数赋值时会异常繁琐,对读者不友好;而定义了__init_的类,每个实例都有自己的属性,方便调用类中的函数,为了编程和读者方便。
2.3 例子
B = Book('《我要努力学python》',1000)

表示给对象Book赋予了具体的书名《我要努力学python》和页码1000,并调用了__init__(self, n, p)方法,对书的属性的初始化。《我要努力学python》赋值给name1000赋值给了page属性。此时,self表示初始化的对象B

可以用.来调用对象的属性,如下

class Book:
	def __init__(self, n, p):
		self.name = n
		self.page = p

B = Book('《我要努力学python》',1000)
print(B.name)
print(B.page)

输出

《我要努力学python》
1000

简单理解,self就是外部对象在类内部的表示

class Book:
	def __init__(self, n, p):
		self.name = n
		self.page = p
	def intro(self):
		print("这本书叫%s, 大概有%d页” % (self.name, self.page))
B = Book('《我要努力学python》',1000)
B.intro()  #调用intro方法中self,即外部对象B
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值