dir() 函数  不带参数,直接执行是返回当前环境中对象的名称列表。指定对象的名称作为参数执行,返回指定对象当中的属性(包括函数名,类名,变量名等)
 
下面我们具体找几个例子测试一下  dir() 函数的功能。
新打开一个python命令窗口,输入dir()查看会展示那些信

(venv) D:\PycharmProjects\rain>python
Python 3.6.5 |Anaconda, Inc.| (default, Mar 29 2018, 13:32:41) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> dir()
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']

下面我们在创建一个变量,在执行dir() 函数,我们观察会出现什么不一样。

>>> dir()
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']
>>> aaa = ["luck","tom","jack"]
>>> dir()
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'aaa']
>>> dir(aaa)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getit
em__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__ne
w__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'ap
pend', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

可以看到当我们创建 aaa变量,并且给aaa变量赋值一个列表以后,在执行dir() 函数,输出就会新增一个 aaa的对象。说明,当我们在python 命令中断创建变量,以后这个变量就作为对象会被加入到当前环境当中,我们可以列出这个对象具有的属性,包括系统默认的属性。就如 dir(aaa) 我看到的 sort,pop,insert 等等。当前我们也可以调用这些属性,对对象进行一定的修改。

下面我们练习一个 导入模块,看下和python 命令行有和不同。

软件:pycharm

新建一个项目 rain,在项目中新建两个文件:一个  module_1.py ,一个 test.py module_1.py。

如图

向  module_1.py 中添加 如下代码:

ame_1 = "one day"

def first0():
print("导包 -> first0函数已经被执行")

def first1(a,b):
c = a + b
return c

def first2(arc):
print(arc)

def first3(arc):
from random import choice
aaa = ["sun","rain","wind"]
return choice(aaa)

class Student:
def __init__(self, name, id, sex, age):

""" student dealwith func"""
self.name = name
self.id = id
self.sex = sex
self.age = age

def brithday_year(self):
from _datetime import datetime
year = datetime.now().strftime("%Y")
year = int(year) - self.age
return year


使用 test.py 来调用 module_1.py 当中定义的成员对象
向test.py 添加以下代码:

# python 导包时,在当前沐目录可以直接进行导包,无需告诉解释器导包路径
#导包前
print(dir())
import module_1
#导包后
print(dir())
#调用对象的属性
print(dir(module_1))
# import sys
执行结果:

我们来看下 Student这个类的属性,或 成员。

看输出结果中有,"brithday_year”。就是我们在module_1.py 当中定义的class Student 当中的成员函数。

可以发现dir() 在我们日常开发当中非常的方便我们去查看当前环境中导入了 那些对象,这些对象都有那些方法。

python dir函数解析的更多相关文章

  1. Python main()函数解析

    __main__ — Top-level script environment '__main__'是顶级代码执行的作用域的名字. 当一个模块从标准input, 一个脚本文件,或一个交互命令read读 ...

  2. Python dir()函数

    您可以使用内置的dir()函数列出一个定义对象的标识符.例如,对于一个模块,包括在模块中定义的函数,类和变量. 当你给dir()提供一个模块名字时,它返回在那个模块中定义的名字的列表.当没有为其提供参 ...

  3. python dir()详解

    Python dir() 函数 Python 内置函数 描述 dir() 函数不带参数时,返回当前范围内的变量.方法和定义的类型列表:带参数时,返回参数的属性.方法列表.如果参数包含方法__dir__ ...

  4. Python3 dir() 函数

    Python dir() 函数 描述 dir() 函数不带参数时,返回当前范围内的变量.方法和定义的类型列表:带参数时,返回参数的属性.方法列表.如果参数包含方法__dir__(),该方法将被调用.如 ...

  5. 关于python中的dir函数

    dir函数用于查看python对象的属性,如果所查看的python对象已经定义了__dir__方法,则使用dir会返回定义的__dir__方法的返回值.如果没有定义__dir__方法,则会从__dic ...

  6. Python urllib urlretrieve函数解析

    Python urllib urlretrieve函数解析 利用urllib.request.urlretrieve函数下载文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 Ur ...

  7. 解释python中的help()和dir()函数

    help函数是一个内置函数,用于查看函数或模块用途的详细说明 import copy print(help(copy.copy)) Help on function copy in module co ...

  8. python重要的第三方库pandas模块常用函数解析之DataFrame

    pandas模块常用函数解析之DataFrame 关注公众号"轻松学编程"了解更多. 以下命令都是在浏览器中输入. cmd命令窗口输入:jupyter notebook 打开浏览器 ...

  9. Python函数解析

    对于Python的函数,我们需要记住的是: 1. 函数的默认返回值是None. 2. python是一个自上而下逐行解释并执行的语言.因此,函数的定义必须在函数被调用之前.同名的函数,后定义的会覆盖前 ...

随机推荐

  1. 在使用amoeba连接数据库时,报错java.lang.Exception: poolName=slaves, no valid pools

    项目场景:Mysql 实现数据库读写分离 搭建3台MySQL服务器,完成主从复制,搭建一台amoeba服务器,完成MySQL的读写分离 问题描述: 问题1. 在服务搭建完毕后,利用客户机连接amoeb ...

  2. SpingBoot解析Excel数据

    前言 在最近的工作中,由于导入模板除了前三列(姓名.手机号.实发工资)固定:其余的列不固定,并且可以做到两个模板的数据都能够正常入库进行对应业务处理. 一.数据模板数据展示: (1)模板一 (2)模板 ...

  3. NC202475 树上子链

    题目链接 题目 题目描述 给定一棵树 T ,树 T 上每个点都有一个权值. 定义一颗树的子链的大小为:这个子链上所有结点的权值和 . 请在树 T 中找出一条最大的子链并输出. 输入描述 第一行输入一个 ...

  4. 【Manim】关于add_updater的基本使用方法

    add_updater(update_function,index=None,call_update=False) 后面两个参数可以不写. update_function更新函数一般填入一个lambd ...

  5. 【Java】学习路径61-“伪”枚举类型

    public class RolyType { public static final int TEACHER = 0; public static final int STUDENT = 1; pu ...

  6. MFRC522学习笔记

    MFRC522主要特性 容量为8K位(bits)=1K字节(bytes)EEPROM 分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位 每个扇区有独立的一组密码及访问控制 每张卡有唯一序 ...

  7. spring项目中starter包的原理,以及自定义starter包的使用

    MAVEN项目中starter的原理 一.原始方式 我们最早配置spring应用的时候,必须要经历的步骤:1.pom文件中引入相关的jar包,包括spring,redis,jdbc等等 2.通过pro ...

  8. KingbaseES wal(xlog) 日志清理故障恢复案例

    案例说明: 在通过sys_archivecleanup工具手工清理wal日志时,在control文件中查询的检查点对应的wal日志是"000000010000000000000008&quo ...

  9. KingbaseES V8R6 账号异常登录锁定案例

    数据库版本: test=> select version(); version --------------------------------------------------------- ...

  10. 延宕执行,妙用无穷,Go lang1.18入门精炼教程,由白丁入鸿儒,Golang中defer关键字延迟调用机制使用EP17

    先行定义,延后执行.不得不佩服Go lang设计者天才的设计,事实上,defer关键字就相当于Python中的try{ ...}except{ ...}finally{...}结构设计中的finall ...