㈠ 如何調用另一個python文件中的代碼
python
模塊
模塊讓你能夠有邏輯地組織你的python代碼段。
把相關的代碼分配到一個
模塊里能讓你的代碼更好用,更易懂。
模塊也是python對象,具有隨機的名字屬性用來綁定或引用。
簡單地說,模塊就是一個保存了python代碼的文件。模塊能定義函數,類和變數。模塊里也能包含可執行的代碼。
例子
一個叫做aname的模塊里的python代碼一般都能在一個叫aname.py的文件中找到。下例是個簡單的模塊support.py。
def
print_func(
par
):
print
"hello
:
",
par
return
import
語句
想使用python源文件,只需在另一個源拆氏文件里洞碼執行import語句,語法如下:
import
mole1[,
mole2[,...
molen]
當解釋器遇到import語句,如果模塊在當前的搜索路徑就會被導入。
搜索路徑是一個解釋器會先進行搜索的所有目錄的列表。如想要導入模塊support.py,需要把命令放在腳本的頂端:
#!/usr/bin/python
#
-*-
coding:
utf-8
-*-
#
導入模塊
import
support
#
現在可以調納御哪用模塊里包含的函數了
support.print_func("zara")
㈡ 求助樹莓派避障小車,遇到 python 了
小白第一次上手 python ,用樹莓派,紅外和超聲波感測器做智障小車。 編譯錯誤:
RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.
GPIO.setup(trip,GPIO.OUT)
Traceback (most recent call last):
File "xiaochetest.py", line 82, in <mole>
fwd()
TypeError: fwd() takes exactly 1 argument (0 given)
下面是小車的代碼:
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
m1_fwd = 12
m1_rev = 11
m2_fwd = 13
m2_rev = 15
red_left = 07
red_right = 16
trip = 38
echo = 37
def init():
GPIO.setup(m1_fwd,GPIO.OUT)
GPIO.setup(m1_rev,GPIO.OUT)
GPIO.setup(m2_fwd,GPIO.OUT)
GPIO.setup(m2_rev,GPIO.OUT)
def stop(sleep_time):
GPIO.output(m1_fwd,False)
GPIO.output(m1_rev,False)
GPIO.output(m2_fwd,False)
GPIO.output(m2_rev,False)
time.sleep(sleep_time)
GPIO.cleanup()
def fwd(sleep_time):
GPIO.output(m1_fwd,GPIO.HIGH)
GPIO.output(m1_rev,GPIO.LOW)
GPIO.output(m2_fwd,GPIO.HIGH)
GPIO.output(m2_rev,GPIO.LOW)
time.sleep(sleep_time)
GPIO.cleanup()
def rev(sleep_time):
GPIO.output(m1_fwd,GPIO.LOW)
GPIO.output(m1_rev,GPIO.HIGH)
GPIO.output(m2_fwd,GPIO.LOW)
GPIO.output(m2_rev,GPIO.HIGH)
time.sleep(sleep_time)
GPIO.cleanup()
def right(sleep_time):
GPIO.output(m1_fwd,GPIO.HIGH)
GPIO.output(m1_rev,GPIO.LOW)
GPIO.output(m2_fwd,False)
GPIO.output(m2_rev,False)
time.sleep(sleep_time)
GPIO.cleanup()
def left(sleep_time):
GPIO.output(m1_fwd,False)
GPIO.output(m1_rev,False)
GPIO.output(m2_fwd,GPIO.HIGH)
GPIO.output(m2_rev,GPIO.LOW)
time.sleep(sleep_time)
GPIO.cleanup()
def get_distance():
GPIO.setup(trip,GPIO.OUT)
GPIO.setup(echo,GPIO.IN)
GPIO.output(trip,GPIO.HIGH)
time.sleep(0.000015)
GPIO.output(trip,GPIO.LOW)
while not GPIO.input(echo):
pass
t1 = time.time()
while GPIO.input(echo):
pass
t2 = time.time()
return (t2-t1)*34300/2
def turnaround():
GPIO.setup(red_left,GPIO.IN)
GPIO.setup(red_right,GPIO.IN)
while GPIO.input(red_left) and GPIO.input(red_right)==0:
rev()
if GPIO.input(red_left)==1:
left(1)
else:
right(1)
GPIO.cleanup()
while True:
distance = get_distance()
time.sleep(0.5)
if distance > 20:
fwd()
elif distance == 20:
stop()
else:
stop()
turnaround()
def fwd(sleep_time)
if distance > 20:
fwd()
調用 fwd 的時候要傳參數啊,錯誤提示說的比較清楚了。
㈢ 如何調用另一個python文件中的代碼
無論我們選擇用何種語言進行程序設計時,都不可能只有一個文件(除了「hello world」啟鎮鎮),通常情況下,我們都需要在一個文件中調用另外一個文件的函數呀數據旅啟等等,總之要操作其他文件中的代碼,在Java中,只要在同一個文件目錄下,我們就不需要通過import導入,但是在Python中,我們就需要通過import來進行導入,這樣我們才能應用其他文件中定義的函數和數據等代碼。 對於剛接觸python的我們,這是我們需要掌握的。
下面就以兩個文件為例,例如我們有a.py和b.py兩個文件,當我們需要在b.py文件中應用a.py中的func( )函數時,應該如何做呢,有兩種情況,分別為在同一文件目錄下和不在同一目錄下進行說明。
同一文件目錄下
在b.py文件中用下面兩條語句即可完成對a.py文件中func( )函數的調用
import a #引用模塊
a.func( )
或者是
import a#應用模塊
from a import func #引用模悄粗塊中的函數
func() #這里調用函數就不需要加上模塊名的前綴了
不同文件目錄下
若不在同一目錄,python查找不到,必須進行查找路徑的設置,將模塊所在的文件夾加入系統查找路徑
import sys
sys.path.append(『a.py所在的路徑』)
import a
a.func()
㈣ 用Python畫小車車
你好,下面是一個對應的代碼
import turtle
import time
t = turtle.Pen()
def fun1(t, x, y):
t.forward(x)
t.left(y)
def fun2(t, x, y):
t.forward(x)
t.right(y)
'''
color函數有三個參數
第一個參數指定有多少紅色
第二個參數指定有多少綠色
第三個參數指定有多少藍色
都為0的時候此時為黑色
都為1的時候此時為白色
這種紅色,綠色,藍色的混搭叫做RGB
藍色和紅色混合產生紫色
黃色和紅色混合產生橙色
'''
t.color(1, 0, 0)
t.begin_fill()
fun1(t, 100, 90)
fun1(t, 20, 90)
fun2(t, 20, 90)
fun1(t, 20, 90)
fun1(t, 60, 90)
fun2(t, 20, 90)
fun1(t, 20, 90)
t.forward(20)
t.end_fill()
t.color(0, 0, 0)
t.up()
t.forward(10)
t.down()
# 開始位置
#t.begin_fill()
# 畫圓
t.circle(10)
# 結束位置
#t.end_fill()
# 設置當前的指定角度為0度
t.setheading(0)
t.up()
t.forward(90)
t.right(90)
t.forward(10)
t.setheading(0)
t.down()
#t.begin_fill()
t.circle(10)
#t.end_fill()
t.up()
time.sleep(20)
㈤ Python在汽車行業都有哪些應用
python這東西沒有固定的應用領域,換言之,應用非常廣。
因為python是個編程語言,理論上講,用得上編程的領域,除了非常貼近硬體的領域以外,都用得上python。