python中的函数

一个程序可以按照功能的实现,分割成许多的代码块,每一个代码块可以封装成一个函数,在python中创建一个函数用def关键字。
创建函数:

def ccna():
	print('cisco')
	print('huawei')
	print('h3c')

注意:函数名后面必须有小括号
调用函数:

>>> def ccna():
	print('cisco')
	print('huawei')
	print('h3c')

	
>>> ccna()
cisco
huawei
h3c

函数的调用和运行机制:
当函数发生调用的时候,python自动往上找到def ccna()的定义过程,然后依次执行该函数包含的代码块部分,只需要一条语句,就可以实现函数内的所有功能。

函数的参数
开始的函数是没有参数的,只是这样的函数不过就是对同样的代码内容进行打包,这样跟使用循环就没有什么本质区别了。所以为了使每次调用函数可以有不同的实现,加入了参数的概念。

>>> def function(name):
	print(name+'我爱你')

	
>>> function('python')
python我爱你

如果参数是多个,用逗号隔开即可

>>> def add(num1,num2):
	print(num1+num2)

	
>>> add(1,2)
3

函数的返回值
只需要在函数中使用关键字return,后面跟着的就是指定的返回值

def add(num1,num2):
	return (num1+num2) 
add (2,5)
7

课后题
1.你有听说过DRY吗?
2.都是重复一段代码,为什么我要使用函数(而不使用简单的拷贝黏贴)呢?
3.函数可以有多个参数吗?
4.创建函数使用什么关键字,要注意什么?
5.请问这个函数有多少个参数?
def MyFun((x, y), (a, b)):
return x * y - a * b
6.调用以下这个函数会打印什么内容?

def hello():
print(‘Hello World!’)
return
print(‘Welcome To FishC.com!’)

解:
1.DRY是程序员公认的指导原则,don’t repeat youself
2.可以降低代码量,降低维护成本,使得程序更易阅读
3.python函数的参数并没有固定数量
4.def关键字,注意,函数名后面必须带上小括号,然后是冒号,缩进部分均属于函数体的内容
5.答案是 0,因为类似于这样的写法是错误的!
6.打印hello world,因为函数一旦执行到return语句时候,python语句就会到此结束,需要返回了。

动手题:
1.编写一个函数power模拟内建函数pow(),即power(x,y)为计算并返回x的y的次幂的值

>>> def power(x,y):
	result = 1
	for i in range(y):
		result *=x
	return result

>>> print(power(2,3))
8

2.编写一个函数,利用欧几里得算法(脑补链接)求最大公约数,例如 gcd(x, y) 返回值为参数 x 和参数 y 的最大公约数。

def gcd(x, y):
    while y:
        t = x % y
        x = y
        y = t
 
    return x
    
print(gcd(4, 6))

3.编写一个将十进制转换为二进制的函数,要求采用“除2取余”(补脑链接)的方式,结果与调用 bin() 一样返回字符串形式。

def Dec2Bin(dec):
    temp = []
    result = ''

    while dec:
        quo = dec % 2
        dec = dec // 2
        temp.append(quo)

    while temp:
        result += str(temp.pop())

    return result
print(Dec2Bin(62))
111110
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值