def hi():
print 'hello,world!'
for i in range(0,4+1):
hi()
def listsum(l):
res = 0;
for i in l:
res = res + i;
return res;
l2 = [1,2,3,4,5,6,7,8,9,10];
sum2 = listsum(l2);
print sum2 ;
l3 = [1,2.2,4.2];
sum2 = listsum(l3);
print sum2;
55
7.4弱資料型別就是有這樣的好處。
def printall(x):
for x in x:
print x,
x2 = ['a',1,'a','cbd',1.3,'漢字也可以'];
printall(x2);
a 1 a cbd 1.3 漢字也可以 1
def cube1(x=1):
return x**3;
a = cube1();
print a;
a = cube1(3);
print a;
還可以做到和matlab的若nargin < 3, 又怎樣怎樣的效果,而且更強大。
# 引數列表
def cube2(x = none, y = none, z = none):
if x == none:
x = 1
if y == none:
y = 1
if z == none:
z = 1
return x * y * z;
b = cube2(y = 3, z = 2);
print b
# 可變長度引數
l = ;
for i in list1:
l.extend(i)
#l = [l i];
return l
a = [1,3,4];
b = [2,4,6];
print c
[1, 3, 4, 2, 4, 6] --> extend
# 值傳遞 or 引用傳遞?
def testparamref1(x):
x = x**2; # x的平方
# return x
a = 2;
testparamref1(a);
print a
# 是引用傳遞
def testparamref2(x):
x[0] = x[0]**2; # x的平方
# return x
a = [2];
testparamref2(a);
print a
c = a[0];
print c
第1個例子是值傳遞,第2個例子是引用傳遞。
返回結果依次是 2
[4]4
# lambda表示式
fun1 = lambda x: x*x
print fun1(3)
a = 3
print fun1(a)
print fun1
fun2 = lambda : hi()
fun2()
一種簡單的函式定義方式。
99
at 0x02482ef0>
hello,world!
注意,函式名代表函式的位址,要呼叫函式,要加「()」。
# 模組
# 1. import 模組名
# 2. import 模組名 as 新名字
# 3. from 模組 import 函式名
from math import sqrt
print sqrt(9)
import math
print math.sqrt(9);
import math as m
print m.sqrt(9);
from math import *
print abs(-3)
from usemodule1 import *
say()
a = calcsqaure(3);
print a
# 模組的路徑
import os
path2 = os.getcwd();
print path2;
import sys
print sys.path
# import anotherpacket1 as ap
from anotherpacket1 import *
# testmodule.testfun();
testfun();
注意,從乙個包中匯入,直接import就好。如果要從別的位置匯入,就還需要把那個位置加入搜尋路徑。 Python 4 函式和抽象
二 函式的使用和呼叫 函式是一段具有特定功能的 可重用的語句組,是一種功能的抽象,一般函式表達特定功能,可以降低編碼難度,可以 復用。def 函式名 引數 函式體 return 返回值 函式定義時,所指定的引數是一種佔位符 函式定義後,如果不經過呼叫,不會被執行。函式定義時不會呼叫,呼叫時給出實際引...
python 4函式式程式設計
1 高階函式 變數可以指向函式。def add x,y,f 例如f引數為函式 編寫高階函式,就是讓函式的引數能夠接收別的函式。python內建了map 和reduce 高階函式。1.1 將list每項相乘 def f x return x x r map f,1,2,3,4,5,6,7 list r...
python (4)函式式程式設計 高階函式
函式名也是變數 abs 10 abs 10 traceback most recent call last file line 1,in typeerror int object is not callable函式本身也可以賦值給變數,即 變數可以指向函式。f abs f f abs f 10 10...