Python教程

Python学习笔记01#函数

本文主要是介绍Python学习笔记01#函数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

函数

1.如何定义函数

>>>def MyFirstFunction():#定义函数
 		print('这是我创建的第一个函数')#设置函数
>>>MyFirstFunction()#使用函数 
这是我创建的第一个函数
>>>def MySecondFunction(name):#定义带参数的函数
		print (name + '我爱你')
 >>>MySecondFunction('python')
python我爱你
>>> def add(num1,num2):
		return (num1 + num2)#将函数运行的结果返回
>>> print(add(1,6))#实测不写print也能得出结果
7

2.函数的参数

>>> def SaySome(name,words):
		print(name + '>' + words)
>>> SaySome('我','你')
我>你
>>> SaySome(words = '你',name = '我')
我>你

3.可变参数

>>> def test(*params):
		print('参数长度',len(params))
		print ('第二个参数',params[1])
>>> test(1,'我',3.14,5,6,7,8)
参数长度 7
第二个参数 我

ps:函数运行的结果本身不能保存,要借助return返回

4.局部变量和全局变量
函数内定义的局部变量不能在外部使用;
外部定义的全局变量可以在函数内部使用,
但是函数内部不能对全局变量进行修改.

在函数内修改全局变量需要用global

>>> def myfun():
		global count
		count = 10
		print(10)
>>> count = 5
>>> myfun()
10
>>> print(count)
10

5.内嵌函数

>>> def fun1():
		print('fun1()正在被调用...')
	def fun2():#注意:函数内定义的函数只能在函数内部使用
		print('fun2()正在被调用...')
		fun2()
>>> fun1()
fun1()正在被调用...
fun2()正在被调用...

6.闭包

>>> def funx(x):
		def funy(y):
			return x * y
		return funy#注意这里不能加括号
>>> funx(2)(5)
10
>>> i = funx(2)#另一种方法
>>> i(5)
10

7.lambda表达式

>>> lambda x : 2 * x + 1
<function <lambda> at 0x000001E2EEA1AAF0>
>>> g = lambda x : 2 * x + 1
>>> g(5)
11

8.常用BIF
filter
此处操作失误导致笔记丢失,待未来补全

#利用lambda简化上个程序
>>> list(filter(lambda x: x%2,range(10)))#注意lambda语句本身是不具备带上对象:如range(10)的功能的
[1, 3, 5, 7, 9]

map

>>> list(map(lambda x : x * 2, range(10)))
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
#主要目的是让lambda定义的函数后能加上范围,方便计算

9.递归

#写一个求阶乘的函数
#自己琢磨的
>>> def jiecheng (x):
	y=x
	while y!=1:
		y=y-1
		x=x*y
		return x
#网课思路
>>>def test(n):
	result=n
	for x in range(1,n):
		result *= x
	return result
#递归思路
def test1(n):
	if n == 1:#递归要有一个正确的返回条件
		return 1
	else:
		return n*test1(n-1)#递归要有调用自身函数
这篇关于Python学习笔记01#函数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!