python类引用

1.python 怎么引用其他文件的类

在导入文件的时候,Python只搜索当前脚本所在的目录,加载(entry-point)入口脚本运行目录和sys.path中包含的路径例如包的安装地址。所以如果要在当前脚本引用其他文件,除了将文件放在和脚本同一目录下,还有以下几种方法,

1. 将文件所在位置添加到sys.path中

import sys

sys.path.insert(0, '/path/to/application/app/folder') # or sys.path.append('/path/to/application/app/folder')

import file

2. 在文件目录下新建__init__.py文件然后调用文件

from application.app.folder.file import func_name

init.py文件

a).init.py文件的作用

该文件的主要作用使初始化Python包。如果目录下面包含了该文件,Python解释器就会将该目录当做一个包,下一步就可以使用import语句在别的.py脚本中引用该目录下的文件。一个标准Python模块的结构如下所示:

package/

__init__.py

file.py

file2.py

subpackage/

__init__.py

submodule1.py

submodule2.py

b). __init__文件可以为空但可以用来建立对包的需求。一般来说会在该文件中写那些类,函数等需要被导入到包水平,从而可以被方便的引用。比如:如果file.py文件中有一个File类,在init.py文件中啥都没写时引用File类需要这样操作:

from package.file import File

如果在__init__.py文件中将file导入包,那就在包水平可以直接引用File类:

# in your __init__.py

from file import File

# in your script

from package import File

此外,还需要注意的一点是__init__.py文件中的all变量。如果解释器在__init__.py文件中观察到了__all__变量,那么在运行from package import *时就只会引入__all__变量中列出的那些模块。例如:如果想在上述结构的只引入submodule1模块,那么可以在subpackage/__init__.py文件中定义__all__ = ['submodule1'],当引用subpackage时from subpackage import *就只引入了submodule1模块。

3. 将文件所在目录添加到python的环境变量

export PYTHONPATH=$HOME/pathToYourScripts/:$PYTHONPATH

2.python怎么在一个类中调用另一个类的方法

class a()

def bf(self,event)

name = 'bf'

# 这里的name是局部变量,不是class.a的变量, 当a.bf(event)执行完后就不存在了。

如果希望保持该变量的值在class.a中,:

class a(object):

name = ''

def bf(self, event):

a.name = 'bf'

class b(object):

def exe(self, event):

a.bf(event)

print a.name

3.python 如何调用类的方法

使用方法:

class A(object):

def foo(self,x):

#类实例方法

print "executing foo(%s,%s)"%(self,x)

@classmethod

def class_foo(cls,x):

#类方法

print "executing class_foo(%s,%s)"%(cls,x)

@staticmethod

def static_foo(x):

#静态方法

print "executing static_foo(%s)"%x调用方法:

a = A()

a.foo(1) //print : executing foo(<__main__.A object at 0xb77d67ec>,1)

a.class_foo(1) //executing class_foo(<class '__main__.A'>,1)

A.class_foo(1) //executing class_foo(<class '__main__.A'>,1)

a.static_foo(1) //executing static_foo(1)

A.static_foo(1) //executing static_foo(1)类方法和静态方法都可以被类和类实例调用,类实例方法仅可以被类实例调用。

类方法的隐含调用参数是类,而类实例方法的隐含调用参数是类的实例,静态方法没有隐含调用参数。

4.python中可以直接用类调用方法吗

这里先肯定的回答一下:可以 python里方法在类中是作为类的属性的,在解释之前,这边先给个例子>>>class Pizza(object):。

radius = 42。 def __init__(self, size=10):。

self.size = size。 def get_size(self):。

return self.size。 @staticmethod。

def mix_ingredients(x, y):。 return x + y 。

def cook(self):。 return self.mix_ingredients(self.cheese, self.vegetables)。

@classmethod。 def get_radius(cls):。

return cls.radius>>> Pizza.get_size>>> Pizza.get_size() Traceback (most recent call last): File "", line 1, in TypeError: unbound method get_size() must be called with Pizza instance as first argument (got nothing instead)>>> Pizza.get_size(Pizza(42))42>>> Pizza(42).get_size>>>> Pizza(42).get_size()42>>> m = Pizza(42).get_size>>> m()42>>> m = Pizza(42).get_size>>> m.__self__<__main__.Pizza object at 0x7f3138827910>>>> m == m.__self__.get_size True>>> Pizza().cook is Pizza().cook False>>> Pizza().mix_ingredients is Pizza.mix_ingredients True>>> Pizza().mix_ingredients is Pizza().mix_ingredients True>>> Pizza.get_radius>>>> Pizza().get_radius>>>> Pizza.get_radius is Pizza().get_radius True>>> Pizza.get_radius()42在上面的例子中可以看出python中类有三种方法,分别是类方法,静态方法,实例方法。而能让类只接调用的只有类方法,或通过一些小技巧,类也可以调用实例方法如上面例子中的调用>>> Pizza.get_size(Pizza(42))42这边顺便说明下这三中方法的区别1类方法的特点是类方法不属于任何该类的对象,只属于类本身2类的静态方法类似于全局函数,因为静态方法既没有实例方法的self参数也没有类方法的cls参数,谁都可以调用3.实例方法只属于实例,是实例化的对象才能调用。

5.python如何引用其他模块中类的方法中的变量

你的原始代码有若干语法错误,现已帮你修正并做好注释,参考下列代码:

# -*- coding: cp936 -*-

#A.py

class a(): #后面要有冒号

tmp='123' #直接在a类里定义tmp变量,不用写方法

# -*- coding: cp936 -*-

#B.py

import A #导入A模块

class b(): #后面要有冒号

def fun1(self): #类方法要有一个默认self参数

print A.a.tmp #输出A模块中a类的tmp值

tb=b() #需要把b类实例化,才可以使用里面的fun1方法

tb.fun1() #直接输出tmp值

A.a.tmp='321' #修改tmp的值

tb.fun1() #看到tmp值已被修改

input('完成,按任意键退出')

以上代码在python2.6环境测试通过

希望对你有所帮助~

6.Python的类中引用成员变量必须加self吗

Python的类中引用成员变量必须加self

类(class)初始化之后会得到实例(instance)。 self就是用于代表初始化的到的实例。 明确地写一个self参数,使得类的方法(method)和普通的函数(function)本质上没有差异,所有的输入参数都显示地传递到方法/函数当中。 当然作为类的方法,作用的对.

self是只有在类中才会有的。self在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数。 但self的名称并不是一定的,在python中self不是关键词。在初始化函数中可以把self换成任意名字.

python类引用

转载请注明出处编程代码网 » python类引用

资讯

pythonfor计数器

阅读(7)

本文主要为您介绍pythonfor计数器,内容包括python的for循环怎么用,求大神给我一个python计算器以便学习,python怎么让下面代码循环5次。def cal(): numA = float(raw_input(Please enter a number: )) op = raw

资讯

pythonsocketip

阅读(7)

本文主要为您介绍pythonsocketip,内容包括python聊天室socket的ip怎么设置,(pythonsocket伪造client的ip地址)有一python写的socket服务端只接,用python写了一个服务器,这么知道它的ip。import socketlocalIP = socket.gethostbyname(socke

资讯

python正则表达式空格

阅读(6)

本文主要为您介绍python正则表达式空格,内容包括python正则表达式怎么匹配一个“两端都有空格且内部无空格、横线和,python正则表达式匹配一个空格分隔的所有单词对,为什么python的正则表达式不能匹配前面有空格的。# encoding: UTF-8 impo

资讯

pythonc知乎

阅读(7)

本文主要为您介绍pythonc知乎,内容包括Python和C哪个更好学,学c和python哪个好,大家建议同时学python和c语言吗如果不建议,先学那个比较好呢。C语言:C语言是大学生接触的第一门编程语言,它的重要性也是不言而喻的。2、C语言是一个面向过程的

资讯

python接口提供

阅读(5)

本文主要为您介绍python接口提供,内容包括Python中怎么写接口啊,我在网上一直找不到,Python天生支持接口,是吗,我会Python,且第三方系统有接口,我应该如何通过Python去调用第。什么是接口 ?接口只是定义了一些方法,而没有去实现,多用于程序设

资讯

python抓取微博

阅读(5)

本文主要为您介绍python抓取微博,内容包括python如何抓取新浪微博的微博内容,如何使用python根据关键词抓取微博,如何使用python根据关键词抓取微博。作为最近才搞完类似项目的来说一句。基本的套路就是利用微博账号模拟登陆,这个过程比较复

资讯

recvfrompython

阅读(6)

本文主要为您介绍recvfrompython,内容包括python设计UDP通信时,recvfrom()中的参数是什么意思,python怎么用log函数,python中的iterable是什么意思。socket.recvfrom(bufsize[, flags])Receive data from the socket. The r

资讯

python概率分布

阅读(5)

本文主要为您介绍python概率分布,内容包括如何在Python中实现这五类强大的概率分布,如何在Python中实现这五类强大的概率分布,如何在Python中实现这五类强大的概率分布。R编程语言已经成为统计分析中的事实标准。但在这篇文章中,我将告诉你

资讯

python中文手册2.7

阅读(6)

本文主要为您介绍python中文手册2.7,内容包括请问Python2.7的IDLE(PythonGUI)、ModuleDocs、Python(command,请教如何用python2.7开发具有中文菜单的界面,python是2.7还是3.5。这个是idle:

资讯

python代码分析

阅读(5)

本文主要为您介绍python代码分析,内容包括python代码解读,如何用python进行数据分析,python如何解析json代码分析。1 [ for i in range(0, 40, 8)] 是列表生成式,range(0, 40, 8)相当于是 [0, 8, 16,

资讯

linuxpythonnumpy

阅读(7)

本文主要为您介绍linuxpythonnumpy,内容包括在linux下的python中如何安装numpy,怎么在linux下安装numpy1.5.0,我的是ubuntu10.10跪求高手,如何安装pythonnumpy。基于你自己的操作系统命令行linuxapt-get install python-numpy或者pip insta

资讯

pythonqueue进程

阅读(6)

本文主要为您介绍pythonqueue进程,内容包括Pythonmultiprocessing.Queue和Queue有区别吗,python进程间通信queue是消息队列吗,python多进程队列耗时多吗。python queue模块有三种队列:python queue模块的FIFO队列先进先出。2、LIFO类似于堆

资讯

pythonuwsginginx

阅读(6)

本文主要为您介绍pythonuwsginginx,内容包括谁配置过uwsgi+nginx+python,我已经崩了,总是502错误,Nginx+Python怎么搞才好,在Linux系统上怎么通过uWSGI配置Nginx+Python环境。python服务后台运行由于python程序一般只有单进程,因此要用uwsgi

资讯

window安装python

阅读(7)

本文主要为您介绍window安装python,内容包括怎么在WINDOWS系统中安装Python,如何在Windows系统中安装Python,如何在windows下安装python。在WINDOWS中安装python的方法:下载python安装包2、双击安装程序python-2.5.2.msi3、选择Install

资讯

pythonfor计数器

阅读(7)

本文主要为您介绍pythonfor计数器,内容包括python的for循环怎么用,求大神给我一个python计算器以便学习,python怎么让下面代码循环5次。def cal(): numA = float(raw_input(Please enter a number: )) op = raw

资讯

pythonsocketip

阅读(7)

本文主要为您介绍pythonsocketip,内容包括python聊天室socket的ip怎么设置,(pythonsocket伪造client的ip地址)有一python写的socket服务端只接,用python写了一个服务器,这么知道它的ip。import socketlocalIP = socket.gethostbyname(socke

资讯

python正则表达式空格

阅读(6)

本文主要为您介绍python正则表达式空格,内容包括python正则表达式怎么匹配一个“两端都有空格且内部无空格、横线和,python正则表达式匹配一个空格分隔的所有单词对,为什么python的正则表达式不能匹配前面有空格的。# encoding: UTF-8 impo

资讯

pythonc知乎

阅读(7)

本文主要为您介绍pythonc知乎,内容包括Python和C哪个更好学,学c和python哪个好,大家建议同时学python和c语言吗如果不建议,先学那个比较好呢。C语言:C语言是大学生接触的第一门编程语言,它的重要性也是不言而喻的。2、C语言是一个面向过程的

资讯

python接口提供

阅读(5)

本文主要为您介绍python接口提供,内容包括Python中怎么写接口啊,我在网上一直找不到,Python天生支持接口,是吗,我会Python,且第三方系统有接口,我应该如何通过Python去调用第。什么是接口 ?接口只是定义了一些方法,而没有去实现,多用于程序设

资讯

python抓取微博

阅读(5)

本文主要为您介绍python抓取微博,内容包括python如何抓取新浪微博的微博内容,如何使用python根据关键词抓取微博,如何使用python根据关键词抓取微博。作为最近才搞完类似项目的来说一句。基本的套路就是利用微博账号模拟登陆,这个过程比较复

资讯

recvfrompython

阅读(6)

本文主要为您介绍recvfrompython,内容包括python设计UDP通信时,recvfrom()中的参数是什么意思,python怎么用log函数,python中的iterable是什么意思。socket.recvfrom(bufsize[, flags])Receive data from the socket. The r

资讯

python定义宏

阅读(6)

本文主要为您介绍python定义宏,内容包括python有宏定义,或者枚举么,Excel宏定义中怎样生成Python脚本,怎么定义宏,和使用宏。宏指令是指程序员事先定义的特定的单一“指令”,这样指令是一组重复出现的代码的缩写,此后在宏指令出现的地方,汇编

资讯

python读取汉字

阅读(2)

本文主要为您介绍python读取汉字,内容包括python读取的中文怎么使用,python怎么读取文本中的汉字,python怎么读取文本中的汉字。在python脚本的第一行加上#encoding=utf-8即可。程序如下:Created on 2011-9-24@author: l

资讯

python数组行列

阅读(2)

本文主要为您介绍python数组行列,内容包括python3如何把由坐标构成的一维数组转换成行列分别为xy值的二维数组,python中怎样让数据列转置,python怎么输入一个数组矩阵。需求:你需要转置一个二维数组,将行列互换.讨论:你需要确保该数组的行列数

资讯

跳板机python

阅读(2)

本文主要为您介绍跳板机python,内容包括如何直接通过跳板机ssh到服务器,如何无视跳板机,如何直接通过跳板机ssh到服务器。公司连上远程游戏服需要先ssh登到跳板机,再在跳板机上ssh到远程,不能直连,如:自己的系统(Mac OS) ===&gt; 跳板机 =

资讯

python公开课

阅读(2)

本文主要为您介绍python公开课,内容包括Python教学视频实用型的哪里有,哪的Python视频教程比较好,有什么比较好的Python学习教程。随着人工智能时代呼声渐起,Python凭借其入门简单、应用广泛的优势成为很多想要入行互联网行业的人们的首选编

资讯

python二进制文件读取

阅读(2)

本文主要为您介绍python二进制文件读取,内容包括在python中如何从二进制文件中读取信息,在python中如何从二进制文件中读取信息,python二进制文件的读取与写入可以分别使用和方法。你是指读入二进制文件吧?可以使用numpy.fromfile(),也可以使

资讯

python黑客pdf

阅读(2)

本文主要为您介绍python黑客pdf,内容包括为什么很多关于python的黑客书,我想成为一名黑客,我在学python,可是里面讲的多是游戏设计,能否,求黑客书籍资源。学习是循序渐进的过程最常见的有两本python和黑客相关的书《python灰帽子:黑客与逆向

资讯

pythonexcel中文

阅读(2)

本文主要为您介绍pythonexcel中文,内容包括python怎么读excel中文,python怎么将中文写入excel文档,python怎么输出中文文件名excel。简单的介绍一下这两个库,先说xlrd,这个库读excel比较方便,各种方法使用起来也挺方便:bk = xlrd.open_workboo

资讯

apachepythonlinux

阅读(2)

本文主要为您介绍apachepythonlinux,内容包括请教一个关于linux下APACHE关于PYTHON的设置问题,linux配置apache和python的环境,modpython在安装的报错处理,在线,如何在Apache下设置Python。二、linux下apache配置python 一.安装apache apac

资讯

chainPython

阅读(2)

本文主要为您介绍chainPython,内容包括ord在python是什么意思怎么使用,Python大神解释一下吧,python中round函数怎么用。>>>help(ord)Help on built-in function ord in module builtins:ord() #

资讯

python添加一行

阅读(2)

本文主要为您介绍python添加一行,内容包括python怎么实现数组增加一行或多行,python如何将字符串增加一行,python怎么实现数组增加一行或多行。把文档全部作为一个字符串,字符串可以相加, 如在1.doc里添加s 和d,用>>>file=open(1.doc,r)>>>str