1、本程式是測試函數的基礎、函數的參數、遞歸函數的測試。
#!/usr/bin/python
# -*- coding: utf-8 -*-
#當程式存在中文時,注釋表明使用utf-8編碼解釋
#函數學習
print('函數定義')
def result(x,n=2):
s = 1
while n>0:
n = n-1
s = s*x
return s
#使用def定義一個函數,def 函數名(參數):
print(result(2,1))
print('*'*40)
print('測試預設參數')
def school(name,gender,age=6,city='beijing'):
print('name=',name)
print('gender=',gender)
print('age=',age)
print('city=',city)
print(school('lingyunmu','man'))
#預設參數,如果使用中間的預設參數,那麼後面的需要加上key,也就是city
#參數預設按順序存取
print('*'*40)
print('清單追加元素')
def add_bye(L=None):
if L is None:
L = []
L.append('goodbye')
return L
a = [1,2,3]
print(add_bye(a))
#清單後面追加元素方法
del(a)
print('*'*40)
print('可變參數測試')
def sum(*numbers):
sum = 0
for n in numbers:
sum = sum + n
return sum
print(sum(1,2,3,4,5,6,7))
print(sum(1,2,3))
#定義可變參數,計算和。使用*表示可變參數
print('list或tuple使用可變參數')
list1 = [1,2,3,4]
print(sum(*list1))
#list或tuple加*,即可使用可變參數函數
del(list1)
del(sum)
print('*'*40)
print('關鍵字參數測試')
def persion(name,age,gender,**other):
print('name:',name,'age:',age,'gender:',gender,'other:',other)
print(persion('lingyunmu',25,'man',city='beijing',interest='pingpang'))
print(persion('zhangsan',25,'man',ing='sleep'))
#使用**定義關鍵字參數,在必要參數寫完後可根據需求添加其它的參數。
print('使用字典将關鍵字傳進去')
dic = {'city':'beijing','ing':'sleep'}
print(persion('lisi',32,'man',**dic))
#在字典前加**即刻将字典作為關鍵字參數傳進去
del(persion)
print('*'*40)
print('命名關鍵字參數測試')
def persion(name,age,*,city,job):
print(name,age,city,job)
return 0
print(persion('lingyunmu',25,city='beijing',job='computer'))
#命名關鍵字參數,舉例說明:就是新增賬號時必填的選項。
del(persion)
#說明:以上參數可任意組合,注意參數定義的順序必須是:
#必選參數、預設參數、可變參數、命名關鍵字參數和關鍵字參數。
print('*'*40)
print('遞歸函數測試')
def sum(n):
if n == 1:
return 1
print(n,'+','sum(',n,'-1)')
#檢視遞歸執行的過程
return n + sum(n-1)
print(sum(5))
#計算前N項的和
del(sum)
作者:我要去西藏
本文版權歸作者和部落格共有,歡迎轉載,但未經作者同意必須在文章頁面給出原文連結,否則保留追究法律責任的權利。