Python 2.7 如何理解在Python中使用help方法来查看模块的信息和方法?
一个例子:Python 2.7 如何理解在Python中使用help方法来查看模块的信息和方法?,python-2.7,dns,Python 2.7,Dns,一个例子: DNS的一个记录 internet中DNS的A记录示例代码如下: # -*- coding: utf-8 -*- # @Time : 2017/10/1 9:58 # @File : DNS.py # @Software: PyCharm import dns.resolver domain = input("Please input Domain name:") A = dns.resolver.query(domain, 'A') for i
# -*- coding: utf-8 -*-
# @Time : 2017/10/1 9:58
# @File : DNS.py
# @Software: PyCharm
import dns.resolver
domain = input("Please input Domain name:")
A = dns.resolver.query(domain, 'A')
for i in A.response.answer:
# print(i)
for j in i.items:
print(j)
这里dns.resolver是一个模块,我可以根据“help>dns.resolver”找到这个模块的类和相应的方法,比如它的“query”方法
我要确认响应。答案是dns.resolver方法,请查找以下信息:
class Answer(__builtin__.object)
| DNS stub resolver answer
|
| Instances of this class bundle up the result of a successful DNS
| resolution.
|
| For convenience, the answer object implements much of the sequence
| protocol, forwarding to its rrset. E.g. "for a in answer" is
| equivalent to "for a in answer.rrset", "answer" is equivalent
| to "answer.rrset", and "answer[i:j]" is equivalent to
| "answer.rrset[i:j]".
|
| Note that CNAMEs or DNAMEs in the response may mean that answer
| node's name might not be the query name.
|
| @ivar qname: The query name
| @type qname: dns.name.Name object
| @ivar rdtype: The query type
| @type rdtype: int
| @ivar rdclass: The query class
| @type rdclass: int
| @ivar response: The response message
| @type response: dns.message.Message object
| @ivar rrset: The answer
| @type rrset: dns.rrset.RRset object
| @ivar expiration: The time when the answer expires
| @type expiration: float (seconds since the epoch)
| @ivar canonical_name: The canonical name of the query name
| @type canonical_name: dns.name.Name object
第一个问题:
这里的“答案”是一个类,那么下面的@ivar响应和@type响应是什么意思呢?如何判断回答。回答是一种方法吗
第二个问题:
A=dns.resolver.query(域“A”)
这是一个物体吗?据我了解:
Object=模块。类()
但这里的示例格式是:
A=模块。方法(参数),
这种格式也能生成对象吗
第三个问题:
A=dns.resolver.query(域“A”)
如果此处是一个对象,请按照以下行操作:
A.response中的i。回答:
A作为一个对象,我是否可以继续使用模块dns.resolver方法“response.answer”,我的理解是否正确?问题1:
这里的“答案”是一个类,那么下面的@ivar响应和@type响应是什么意思呢?如何判断回答。回答是一种方法吗
@ivar和@type基本上分别是变量名和变量类型。
此代码编写正确。因此,为了告诉用户每个变量的作用以及每个变量的类型,这些是程序员使用的约定。
您有时也会看到@param@type@rtype@return等
对于第二部分,您可以看到
@ivar response: The response message
@type response: dns.message.Message object
这表示响应变量是dns.message.message类的对象。
因此,它将具有一些与之相关联的属性和方法。有关更多信息,请参阅此类dns.message.message的帮助
问题2:
A=dns.resolver.query(域“A”)
这是一个物体吗?据我了解:
对象=模块。类()
但这里的示例格式是:
A=模块。方法(参数)
这种格式也能生成对象吗
在python中,一切都是一个对象。
对于对象=模块。类()
并不总是必要的,您可以使用方法/函数来创建类的对象
基本上,任何函数定义都会创建某种类型的新对象。e、 g
def sum():
return 10
这个简单的函数还创建int类型的对象。现在,您可以修改参数/定义以获取特定种类的对象
对于您的情况,当我们有一些具有服务器连接/数据库连接/web连接API等的应用程序时,我们每个应用程序有两个实体