python中几种常见又容易忽视的概念详解

分享
开发者 2024-8-31 15:28:53 90 0 来自 中国
平常利用python,经常会利用到的知识点,大概懂得知道怎样利用,但又没有全面的相识,下面总结下
一、if name == main作用

1】python中全部的模块都有一个内置name,这个属性值取决于怎样应用这个模块;
2】把一个模块当步调运行,如cmd中运行py文件,则name的值为默认缺省值main
3】在项目步调中,可单独运行某一个py文件
if name == main:  #来判断是否是直接运行的.py文件
main()
二、包中的init.py文件作用

毋庸置疑,最根本就是体现,文件夹与包的区别,不可删除;别的尚有2点
1】做包与模块的初始化的工作;
2】举行批量导入包与模块
from Root.Pack1 import *
含糊导入的*指代的包是由init文件中的all控制的,也就是必须package才气利用含糊导入
3】 可以编写Python代码
(但不发起在init中写代码,只管包管init.py简朴)
三、各种下划线的明确

我们在界说一些变量与方法时,经常会用到下划线_ ,各种下划线_用处是怎样?
1】××× 开头与末端两个下划线,体系界说名字

比如初始化方法 init;尚有如下这些,内置好的邪术函数


2】__××× 开头两个下划线, 类中的私有变量名,

用于类的继续,防止被子类重写,类的对象和类的子类对象也不能访问
class Person():    def __init__(self):        self.name = "polo"        self.__age = 18po = Person()print(po.name)print(po.__age)print(po.__dir__())  # 查察这个对象的属性,name稳定,__age酿成_Person__age3】_×××  开头一个下划线

1)python中,_ 是有值的,指向末了一次实行的表达式
2)界说变量与方法,成为掩护变量,只有类的对象和类的子类对象能访问,不能通过import module from * 导入
def my_func():  print("a123")def _my_func():  print("a12345")#引用这个模块,分别实行模块中的方法from test import *my_func()#结果:a123_my_func()#结果:报错此例子阐明确_ 一个下划线与 __ 两个下划线的区别:

只有类的对象和类的子类对象能访问
#文件test_under.py中界说类class Test:    def __init__(self):        self.name = 'lily'        self._pwd = 'a123'   # 约定私有化        # self.__name = name   # 将__两个下划线开头的属性举行自动转换酿成_类名__属性名的情势    def say(self):        print(self.name)    def _mm(self):        print(self._pwd)# 实例一个对象,访问两个属性和两个方法import test_underNa = test_under.Test()Na.nameNa._pwdNa.say()Na._mm()#结果'lily''a123''lily''a123'4】×××_ 尾部下划线

为了区分python关键词如def class name pass,在它们的反面添加一个下划线,一样平常不发起
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-12-23 05:24, Processed in 0.177863 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表