Python(4) 函式與模組

2021-07-26 18:48:44 字數 2624 閱讀 8571

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...