python递推法 p=(x、y)=x-x^2+x^3_Python修炼之路-函数

Python编程之函数

程序的三种方式

面向对象:类-------》class

面向过程:过程------》def

函数式编程:函数------》def

定义函数

函数:逻辑结构化与过程化的一种编程方法------》def

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

函数特性

遇到return就退出函数,并返回返回值

返回值数可以有多个,可以是函数、列表、数字、字符串等,用逗号“,”隔开,并且以tuple形式返回

返回值数=1:返回object;返回值数=0,返回None;返回值数=多个,返回一个tuple

函数与过程

定义过程,过程默认返回None;定义函数时,如果没有定义return,会返回None

#函数

deffunc1():'''description''' #函数说明

print("in the func1")return0#过程 没有返回值的函数

deffunc2():'''description'''

print("in the func2")#过程是没有返回值的函数,在python中过程会默认返回None.#过程加上return后不一定是函数式编程

importtimedeflogger():

time_format= '%Y-%M-%D-%X'time_current=time.strftime(time_format)

with open('log.txt','a+') as f:

f.write("%s action\n" %time_current)#程序遇到return则退出,不会打印“test....”

deftest1():print("in the test1.")return0print("test.....")

函数参数及调用

形参:不是实际存在,是虚拟变量,在定义函数和函数体时使用形参,目的是在调用函数时接受实参;形参只在函数内部有效,函数调用结束后不能再使用该变量。

实参:实际参数,调用函数时传递给函数的参数,可以是常量、变量、表达式、函数,传给形参

区别:形参是虚拟的,不占用内存空间,形参变量只有在被调用时才分配内存单元;实参是一个变量,占用内存空间,数据传递单向,实参传给形参;

位置参数,形参与实参一一对应,不能多不能少

关键字参数调用:与形参顺序无关,位置无需固定

deftest(x,y)print(x)print(y)#位置参数

test(1,2) #1 2#x,y形参(形式参数,本身不存在,如果不被调用则不占空间),1、2为实参

#关键字参数用

x = 1y= 2test(x=x,y=y) #1 2

test(y=1,x=2) #2 1

#关键字参数不能写在位置参数前面

test(x=2,3) #运行出错

test(3,y=2) #3 2

test(3,x=2) #运行出错

默认参数的特点:调用函数时,默认参数非必须传递

用途: 1、默认软件安装值;2、默认连接端口

def test1(x,y=2):print(x)print(y)

test1(1) #1 2

test1(1,3) #1 3

test1(1,y=3) #1 3

参数组:实参数目不固定时使用

*args: 可以接受多个实参,并且放在一个元组中,只接受位置参数,装换成元组

**kwargs: 把n个关键字参数转换成字典的方式

def test2(*args):print(args)

test2(1,2,3,4,5) #(1,2,3,4,5)

test2(*[1,2,3,4]) #(1,2,3,4) 相当于tuple([1,2,3,4])

test2([1,2,3,4,5,6,7],*[1,2,3,4]) #([1, 2, 3, 4, 5, 6, 7], 1, 2, 3, 4)

def test3(**kwargs):print(kwargs)

test3(name="aa",age = "3",sex='F') #{name:'aa',age:'3',sex:'F'}

test3(**{'name':"aa",'age':2}) #可运行

各参数混合使用

def test4(name,**kwargs):print(name)print(kwargs)

test4("a")

test4("a",11) #运行出错,传了两个位置参数

test4("a",age=1,sex='f')#可运行

def test5(name,age&

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值