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函数解析的更多相关文章
- Python main()函数解析
__main__ — Top-level script environment '__main__'是顶级代码执行的作用域的名字. 当一个模块从标准input, 一个脚本文件,或一个交互命令read读 ...
- Python dir()函数
您可以使用内置的dir()函数列出一个定义对象的标识符.例如,对于一个模块,包括在模块中定义的函数,类和变量. 当你给dir()提供一个模块名字时,它返回在那个模块中定义的名字的列表.当没有为其提供参 ...
- python dir()详解
Python dir() 函数 Python 内置函数 描述 dir() 函数不带参数时,返回当前范围内的变量.方法和定义的类型列表:带参数时,返回参数的属性.方法列表.如果参数包含方法__dir__ ...
- Python3 dir() 函数
Python dir() 函数 描述 dir() 函数不带参数时,返回当前范围内的变量.方法和定义的类型列表:带参数时,返回参数的属性.方法列表.如果参数包含方法__dir__(),该方法将被调用.如 ...
- 关于python中的dir函数
dir函数用于查看python对象的属性,如果所查看的python对象已经定义了__dir__方法,则使用dir会返回定义的__dir__方法的返回值.如果没有定义__dir__方法,则会从__dic ...
- Python urllib urlretrieve函数解析
Python urllib urlretrieve函数解析 利用urllib.request.urlretrieve函数下载文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 Ur ...
- 解释python中的help()和dir()函数
help函数是一个内置函数,用于查看函数或模块用途的详细说明 import copy print(help(copy.copy)) Help on function copy in module co ...
- python重要的第三方库pandas模块常用函数解析之DataFrame
pandas模块常用函数解析之DataFrame 关注公众号"轻松学编程"了解更多. 以下命令都是在浏览器中输入. cmd命令窗口输入:jupyter notebook 打开浏览器 ...
- Python函数解析
对于Python的函数,我们需要记住的是: 1. 函数的默认返回值是None. 2. python是一个自上而下逐行解释并执行的语言.因此,函数的定义必须在函数被调用之前.同名的函数,后定义的会覆盖前 ...
随机推荐
- .NET性能优化-快速遍历List集合
简介 System.Collections.Generic.List<T>是.NET中的泛型集合类,可以存储任何类型的数据,因为它的便利和丰富的API,在我们平时会广泛的使用到它,可以说是 ...
- Word 分页符怎么使用
当一页内容输入完之后,还留有很多空白区域没有填写,一直按回车键跳转到下一页显得复杂,并且回车键经过的地方都是段落. 可以手动添加分页符,使当前页跳转到下一页. 也可以使用快捷键Ctrl + Enter ...
- 算法模板:dijkstra
#include<iostream> #include<algorithm> #include<cstring> #include<string> #i ...
- 【Swift】从零开始的Swift语言学习笔记-1:前言&Hello World
该系列分为两个大的部分. Swift基本语法 使用Xcode编写iOS应用程式 两个部分会双线并行更新. 本人的学习资料大多为Apple Develop官方上的生肉,难免会有疏漏,望斧正. 另外该系列 ...
- MySQL递归查询语法
业务上有一个递归查询数据表进行累加计算的需求,实现方式上有函数.SQL语句等多种方式,最后选择了SQL方式,如下: <select id="selectChildren" p ...
- Hadoop相关WebUI端口记录
以下均为默认端口号,可根据配置文件修改:HDFS:50070yarn:8088Hive:10002HBase:60010Spark:8080Flink:8081Storm:8080
- MySQL插入重复数据
MySQL中批量insert into时防止更新插入重复数据去重的方法,主要是讲到了ignore,Replace,ON DUPLICATE KEY UPDATE三种方法 方案一:使用ignore关键字 ...
- 【设计模式】Java设计模式 -工厂模式
[设计模式]Java设计模式 -工厂模式 不断学习才是王道 继续踏上学习之路,学之分享笔记 总有一天我也能像各位大佬一样 一个有梦有戏的人 @怒放吧德德 分享学习心得,欢迎指正,大家一起学习成长! 目 ...
- SpringMvc(二)- 请求处理参数 和 响应数据处理
1.请求处理参数 1.1 请求参数 @RequestParam 1.1.1 不使用 @RequestParam 注解 请求参数处理,不使用参数注解: 1.如果请求参数名和请求处理的形参名一致,spri ...
- Python实现XMind测试用例快速转Excel用例
转载请注明出处️ 作者:测试蔡坨坨 原文链接:caituotuo.top/c2d10f21.html 你好,我是测试蔡坨坨. 今天分享一个Python编写的小工具,实现XMind测试用例转Excel用 ...
