任何人都可以解释如何使以下示例工作?由于类中的几个函数将使用平台中的相同函数,我认为最好在类内部导入它,但我不知道如何在函数内部使用它(因为我经常出错关于它).
#!/usr/bin/python
class test:
from platform import system
is_linux(self):
system = system()
if system == "Linux": return True
Run Code Online (Sandbox Code Playgroud)
一个更好的例子:
#!/usr/bin/python
# Add ANSI colour strings
class stdout:
from sys import stdout
def message(message, self): stdout.write(message)
Run Code Online (Sandbox Code Playgroud)
注意:这只是一个片段,有一些部分缺失,但我的意思是一个例子.
我知道我可能只是移动system = system()并使用self.system但也许更好的方法?
在一个非常简单的单文件python程序中
# ------------------------
# place 1
# import something
def foo():
# place 2
# import something
return something.foo()
def bar(f):
...
def baz():
f = foo()
bar(f)
baz()
# ----------------
Run Code Online (Sandbox Code Playgroud)
你会把"进口东西"放在第1或第2位吗?
我有一个小应用程序,我想分成模块,以便我的代码更好的结构和可读性.这样做的缺点是我导入的每个模块使用:
import module
Run Code Online (Sandbox Code Playgroud)
然后我必须将module.object用于我想从该模块访问的任何对象.
在这种情况下,我不想污染全局命名空间,我想用适当的模块名称填充它,以便我不必使用
from module import *
Run Code Online (Sandbox Code Playgroud)
为了在没有模块前置的情况下调用对象.
有没有办法做到这一点,不考虑从进口或进口的不良使用?
就网络应用程序上的最少运行时间而言,将我的导入保存在views.py中的理想位置是什么
假设我想使用外部模块验证和处理一些表单条目。我当前的代码:
from django.shortcuts import render
from .forms import *
import re
import module1
import module2
def index(request):
form = MyForm()
if request.method == 'POST':
form = MyForm(request.POST)
if form.is_valid():
#
#Process my stuff here using re, module1, module2
#
return render(request, 'index.html', context)
Run Code Online (Sandbox Code Playgroud)
但是,如果条件失败,提前导入模块 re、模块 1、模块 2 有什么用呢if form.is_valid():?还是条件if request.method == 'POST':不合格?那是表格从未提交的时候。
在这些条件通过后导入这些模块(因为那是实际需要它们的时候)会在这些条件失败时导致程序或 Web 应用程序的运行时开销减少吗?在不需要时避免不必要的进口?
我的想法的伪代码:
if form.is_valid():
import re
#Perform some regex matches and stuff
if (above re matches succeed):
import module1
#Process my …Run Code Online (Sandbox Code Playgroud) 我想知道python程序中import语句的位置是否对性能有任何影响.例如,如果我有这个
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import urllib2
import json
import requests
from flask import render_template, request, Flask, session, Markup, jsonify, send_from_directory
from wit import Wit
from os import urandom
from datetime import datetime
from uuid import uuid1
from random import choice
from FAAWrapper import FAA_API
from bs4 import BeautifulSoup
def function1():
from OpenSSL import SSL
from fuzzywuzzy import process
continue
def function2():
continue
Run Code Online (Sandbox Code Playgroud)
调用function1()会不会影响性能,因为function1包含import语句?我的所有导入应该放在顶部还是仅在第一次调用函数时才导入导入?