2019.10.01 工作进度报告

一、完成的事项

学习廖雪峰Python教程

二、笔记

A(调用函数)

1.

Python内置了很多有用的函数,我们可以直接调用。
http://docs.python.org/3/library/functions.html#abs

B(定义函数)

1.

在Python中,定义一个函数要使用 def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。

我们以自定义一个求绝对值的my_abs函数为例:

#-- coding: utf-8 --

def my_abs(x):
if x >= 0:
return x
else:
return -x

print(my_abs(-99)) => 99

2.

在Python交互环境中定义函数时,注意Python会出现…的提示。函数定义结束后需要按两次回车重新回到>>>提示符下

3.

如果想定义一个什么事也不做的空函数,可以用pass语句:

def nop():
pass

pass语句什么都不做,那有什么用?实际上pass可以用来作为占位符,比如现在还没想好怎么写函数的代码,就可以先放一个pass,让代码能运行起来。

C(参数检查)

数据类型检查可以用内置函数==isinstance()==实现:

def my_abs(x):
if not isinstance(x, (int, float)):
raise TypeError(‘bad operand type’)
if x >= 0:
return x
else:
return -x

添加了参数检查后,如果传入错误的参数类型,函数就可以抛出一个错误:

>>> my_abs(‘A’)
Traceback (most recent call last):
File “”, line 1, in
File “”, line 3, in my_abs
TypeError: bad operand type

D(返回多个值)

Python的函数返回多值其实就是返回一个tuple

E(默认参数)

1.

def power(x, n=2):
s = 1
while n > 0:
n = n - 1
s = s * x
return s
这样,当我们调用power(5)时,相当于调用power(5, 2):
而对于n > 2的其他情况,就必须明确地传入n,比如power(5, 3)。

2.

Python函数在定义的时候,默认参数L的值就被计算出来了,即[],因为默认参数L也是一个变量,它指向对象[],每次调用该函数,如果改变了L的内容,则下次调用时,默认参数的内容就变了,不再是函数定义时的[]了。

可以将默认参数改为none来解决这个问题

F(可变参数)

1.

在参数前面加了一个*号;
调用该函数时,可以传入任意个参数,包括0个参数

2.

Python允许你在list或tuple前面加一个*号,把list或tuple的元素变成可变参数传进去

G(关键字参数)

>>> extra = {‘city’: ‘Beijing’, ‘job’: ‘Engineer’}
>>> person(‘Jack’, 24, **extra)
name: Jack age: 24 other: {‘city’: ‘Beijing’, ‘job’: ‘Engineer’}

在dict类型的数据前加**可将整个dict内的数据传进参数中

H(命名关键字参数)

如果要限制关键字参数的名字,就可以用命名关键字参数
——只接受某种命名的参数

I(参数组合)

参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。

J(递归)

尾递归是指,在函数返回的时候,调用自身本身,并且,return语句不能包含表达式。这样,编译器或者解释器就可以把尾递归做优化,使递归本身无论调用多少次,都只占用一个栈帧,不会出现栈溢出的情况。

三、练习

调用函数

在这里插入图片描述

函数的参数

在这里插入图片描述

递归函数

在这里插入图片描述

四、问题

1.

编程时无法调用 math 中的函数
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值