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 是一种相当高级的语言,通过 Python 解释器把符合语法的程序代码转换成 CPU 能够执行的机器码...
    Python程序媛阅读 5,927评论 0 3
  • 基础1.r''表示''内部的字符串默认不转义2.'''...'''表示多行内容3. 布尔值:True、False(...
    neo已经被使用阅读 5,697评论 0 5
  • import math a = absprint(a(-1))n1 = 255print(str(hex(n1))...
    Elder阅读 5,281评论 0 1
  • 今天早上6:50起床收拾,7:50既忐忑又兴奋的去上班了,这还是我第一次在办公室上班,终于要接触到了真正的办公室工...
    歌呗lrf阅读 3,203评论 0 0
  • 早晨突发奇想想看看自己练习前和练习后的变化,便拍了照片。 练习前觉得浑身僵硬,眼睛睁不开的感觉,也可能是早起的原因...
    允初阅读 1,703评论 0 0