⑴ python中 自己定義的函數內生成的列表 怎麼在外部中引用
下面的例子演示了用3種方法來在外部引用函數內部定義的列表:
#返回函數內部定義的列表
def int_list1():
l=[1,2]
return l
#將函數內部列表定義成全局的
def int_list2():
global l
l=[3,4]
#將函數內部列表定義成函數的一個屬性
def int_list3():
l=[5,6]
int_list3.l=l
print(int_list1())
int_list2()
print(l)
int_list3()
print(int_list3.l)
這是截圖:
⑵ python定義一個函數,接受從鍵盤輸入的成績列表,+統計成績大於75的元素個數並
摘要 在這里定義的一個函數,其參數就是兩個數值,函數的功能就是把兩個參數加起來。運行腳本後,在 Python 提示符內調用函數 func, 如果不指定參數 func(), 那麼將會出錯; 輸出 func(1, 2),將 a=1, b=2 傳入函數,輸出 the c is 3 。所以在調用函數時候,參數個數和位置一定要按照函數定義。如果我們忘記了函數的參數的位置,只知道各個參數的名字,可以在 函數調用的過程中給指明特定的參數 func(a=1, b=2), 這樣的話,參數的位置將不受影響,所以 func(b=2,a=1)是同樣的 的效果。
⑶ 新手請教,python怎麼定義可修改列表的函數
t_list=['m1','m2','m3']def show_maagicians(L): for i in t_list: print(i) return show_maagicians(t_list) def make_great(L): for i in range(len(L)): L[i]='the Great '+L[i] return make_great(t_list)show_maagicians(t_list)
⑷ python中定義函數的關鍵字
函數是組織好的,可重復使用的,用來實現單一,或相關聯功能的代碼段。
函數能提高應用的模塊性,和代碼的重復利用率。你已經知道Python提供了許多內建函數,比如print()。但你也可以自己創建函數,這被叫做用戶自定義函數。
定義一個函數
可以定義一個由自己想要功能的函數,以下是簡單的規則:
1.函數代碼塊以 def 關鍵詞開頭,後接函數標識符名稱和圓括弧()。
2.任何傳入參數和自變數必須放在圓括弧中間。圓括弧之間可以用於定義參數。
3.函數的第一行語句可以選擇性地使用文檔字元串—用於存放函數說明。
4.函數內容以冒號起始,並且縮進。
5.return [表達式] 結束函數,選擇性地返回一個值給調用方。不帶表達式的return相當於返回 None。
語法
Python 定義函數使用 def 關鍵字,一般格式如下:
1
2
def 函數名(參數列表):
函數體
默認情況下,參數值和參數名稱是按函數聲明中定義的順序匹配起來的。
示例
讓我們使用函數來輸出"Hello World!":
1
2
>>>def hello() :
print("Hello World!")
輸出結果
>>> hello()
Hello World!
⑸ python中定義函數的方法
def fun(n):
res = n
return res
大概這樣
⑹ python 自定義函數
如果不需要傳參,括弧里就不用填,注意,python中不需要定義變數類型。自定義函數除了函數的功能是我們自己編寫代碼實現的外,其他的與python中的函數並無差別,所以在調用函數時,直接使用函數名就行。
⑺ python怎樣用自定義函數對列表排序
您好!我寫了一個升序的方法供您參考:
請注意,要在 idle 中運行這個方法,並輸入你希望的值
下面講解一下:
方法體的第一句用於把你輸入的數字儲存在列表中,這句可以用於其他許多場合
後續的代碼就是不斷地遞歸,從而達到升序的效果
有不懂的可以問我哦~望採納!
⑻ Python中定義函數的使用方法
4.6. 定義函數
我們可以創建一個用來生成指定邊界的斐波那契數列的函數:
>>> def fib(n): # write Fibonacci series up to n
... """Print a Fibonacci series up to n."""
... a, b = 0, 1
... while a < n:
... print(a, end=' ')
... a, b = b, a+b
... print()
...
>>> # Now call the function we just defined:
... fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
關鍵字 def 引入了一個函數 定義。在其後必須跟有函數名和包括形式參數的圓括弧。函數體語句從下一行開始,必須是縮進的。
函數體的第一行語句可以是可選的字元串文本,這個字元串是函數的文檔字元串,或者稱為 docstring。(更多關於 docstrings 的信息請參考 文檔字元串) 有些工具通過 docstrings 自動生成在線的或可列印的文檔,或者讓用戶通過代碼交互瀏覽;在你的代碼中包含 docstrings 是一個好的實踐,讓它成為習慣吧。
函數 調用 會為函數局部變數生成一個新的符號表。確切的說,所有函數中的變數賦值都是將值存儲在局部符號表。變數引用首先在局部符號表中查找,然後是包含函數的局部符號表,然後是全局符號表,最後是內置名字表。因此,全局變數不能在函數中直接賦值(除非用 global 語句命名),盡管他們可以被引用。
函數引用的實際參數在函數調用時引入局部符號表,因此,實參總是 傳值調用 (這里的 值 總是一個對象 引用 ,而不是該對象的值)。[1] 一個函數被另一個函數調用時,一個新的局部符號表在調用過程中被創建。
一個函數定義會在當前符號表內引入函數名。函數名指代的值(即函數體)有一個被 Python 解釋器認定為 用戶自定義函數 的類型。 這個值可以賦予其他的名字(即變數名),然後它也可以被當作函數使用。這可以作為通用的重命名機制:
>>> fib
>>> f = fib
>>> f(100)
0 1 1 2 3 5 8 13 21 34 55 89
如果你使用過其他語言,你可能會反對說:fib 不是一個函數,而是一個方法,因為它並不返回任何值。事實上,沒有 return 語句的函數確實會返回一個值,雖然是一個相當令人厭煩的值(指 None )。這個值被稱為 None (這是一個內建名稱)。如果 None 值是唯一被書寫的值,那麼在寫的時候通常會被解釋器忽略(即不輸出任何內容)。如果你確實想看到這個值的輸出內容,請使用 print() 函數:
⑼ python 函數參數、列表定義
我也是正在學PYthon的基礎語法。
題主忘記了你後面paraTestList(a[2:])中,括弧內的a[2:]命令是創建了一個包含列表a的一部分的一個副本列表,這樣是不會改變列表a的實際內容的。列印出的a肯定也是不會變的。
具體做法是
def paraTestList(L):
L[0]='z'
a=['a','b','c','d']
b=a[2:]
paraTestList(b)
print(b)
希望能幫到你。
⑽ python如何定義一個函數求列表各項數據平均值
# coding = GBK
a =[1,2,3,4,5]
sum=0
b = len(a)
print("這個數組的長度為:",b)
for i in a:
sum =sum +i
print("這個數組之和為:",sum)
print("這個數組平均數為",sum/b)
或
import sys
sum = 0
cnt = 0
f = open('1.txt', 'r')
files = f.readline()
while (files ):
sum = sum + float(files .split(",")[0])
cnt = cnt + 1
files = f.readline()
print(sum / cnt)
f.close()
或者。
#!/usr/bin/env pythonimport timeimport numpy as np
dd = np.random.randint(0, 20, size=(2*1000*1000))t_start = time.clock()avg_sum1 =
0.0BlockOffset = 0 while BlockOffset < len(dd):
if dd[BlockOffset + 1] <= 10:
avg_sum1 += dd[BlockOffset + 1] * 0.1
else:
avg_sum1 += dd[BlockOffset + 0] * 0.01
BlockOffset += 2print('Avg: ' + str(avg_sum1 / len(dd) / 2)) print('Exe time: ' +
str(time.clock() - t_start))
(10)python怎麼自定義列表函數擴展閱讀:
python 實現求和、計數、最大最小值、平均值、中位數、標准偏差、百分比。
importsys
classStats:
def__init__(self, sequence):
# sequence of numbers we will process
# convert all items to floats for numerical processing
self.sequence=[float(item)foriteminsequence]
defsum(self):
iflen(self.sequence) <1:
returnNone
else:
returnsum(self.sequence)
defcount(self):
returnlen(self.sequence)
defmin(self):
iflen(self.sequence) <1:
returnNone
else:
returnmin(self.sequence)
defmax(self):
iflen(self.sequence) <1:
returnNone
else:
returnmax(self.sequence)
defavg(self):
iflen(self.sequence) <1:
returnNone
else:
returnsum(self.sequence)/len(self.sequence)
defmedian(self):
iflen(self.sequence) <1:
returnNone
else:
self.sequence.sort()
returnself.sequence[len(self.sequence)//2]
defstdev(self):
iflen(self.sequence) <1:
returnNone
else:
avg=self.avg()
sdsq=sum([(i-avg)**2foriinself.sequence])
stdev=(sdsq/(len(self.sequence)-1))**.5
returnstdev
defpercentile(self, percentile):
iflen(self.sequence) <1:
value=None
elif(percentile >=100):
sys.stderr.write('ERROR: percentile must be < 100. you supplied: %s '%percentile)
value=None
else:
element_idx=int(len(self.sequence)*(percentile/100.0))
self.sequence.sort()
value=self.sequence[element_idx]
returnvalue