python function

1.最简单的乘法

r1 = 12.34

r2 = 9.08

s1 = 3.14 * r1 * r1

print s1

print abs(-20)

print cmp(1, 2)

print unicode(100)

print int(1.23)


2.自定义函数

def my_abs(x):

# 参数检查

if not isinstance(x, (int, float)):

raise TypeError('bad opearand type')

if x >= 0:

return x

else:

return -x

# my_abs('A') 参数传入错误时候会警告

3.输出多个参数

import math

def  move(x, y, step, angle = 0):

nx = x + step * math.cos(angle)

ny = y - step * math.sin(angle)

return nx, ny

x , y = move(100, 100, 60, math.pi / 6)

print x, y

r = move(100, 100, 60, math.pi / 6)

print r

3.重定义

def  power(x):

return x * x

print power(5)


def  power(x, n):

s = 1

while  n > 0:

n = n - 1

s = s * x

return s

print power(5, 3)

4.默认参数的函数


定义默认参数要牢记一点:默认参数必须指向不变对象!

def  power(x, n = 2):

s = 1

while  n > 0:

n = n - 1

s = s * x

return s

print power(5), power(5, 2) // 两者等价

5.参数组合


要注意定义可变参数和关键字参数的语法:

*args是可变参数,args接收的是一个tuple;

**kw是关键字参数,kw接收的是一个dict。

以及调用函数时如何传入可变参数和关键字参数的语法:

可变参数既可以直接传入:func(1, 2, 3),又可以先组装list或tuple,再通过*args传入:func(*(1, 2, 3));

关键字参数既可以直接传入:func(a=1, b=2),又可以先组装dict,再通过**kw传入:func(**{'a': 1, 'b': 2})。

使用*args和**kw是Python的习惯写法,当然也可以用其他参数名,但最好使用习惯用法。

你可能感兴趣的:(python function)