码迷,mamicode.com
首页 > 编程语言 > 详细

python:关于函数的初认识

时间:2017-08-24 22:38:05      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:logs   返回   技术   *args   func   技术分享   表达   传值   重复   

一.函数

  函数是指逻辑结构化和过程化的一种编程方式,将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可

(1)使用函数的好处是:代码的重用性;即通过调用函数,减少重复代码。保持代码的一致性。使代码更具扩展性

(2)主要分为:(面向过程和面向对象的区别是:面向对象是有返回值的,而面向过程是没有返回值的函数)

     1.面向过程

技术分享
def func():
    print("in the func")

x=fun()
print("from fun return is %s"%x)


>>>>>>>None#当函数没有定义返回值是,系统默认返回None
View Code

 

     2.面向对象

技术分享
def func():#定义函数
    print("in the func")
    return

x=func()#调用函数并赋值x
print("from func return id %s"%x)#输出函数的返回值

>>>>>>>0
View Code

 

     3.函数式编程

(3)返回值注意事项:

    1.当函数返回值return 0 时,返回0

    2.当函数没有定义返回值时,返回None

    3.当函数返回值大于0时,返回一个元祖类型的数据,即return “a”返回(“a”)

二.参数

形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量

实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使参数获得确定值

def fun(x,y):#这里的x和y是形参
    print("x=%s,y=%y"%(x,y))


fun(3,4)#这里的3和4是实参
>>>>>>x=3,y=4

默认参数和关键参数

技术分享
默认参数是在函数定义时定义的
关键参数是调用函数是定义的

def  fun(a,b,c="21"):
#这里的c在定义函数时就被赋值定义了,表示c的默认参数的21
    print("a=",a)
    print("b=",b)
    print("c=",c)
情况一:
fun(10,20,30)#这里传入的c参数会覆盖默认值。如果没有传c的参数,则输出默认的参数
情况二:
fun(10,a=10,)#正常情况下,给函数传参数要按顺序,不想按顺序就可以用关键参数,只需指定参数名即可
View Code

什么是非固定参数:若你的函数在定义时不确定用户想传入多少个参数,就可以使用非固定参数

def stu_register(name,age,*args): # *args 会把多传入的参数变成一个元组形式
    print(name,age,args)
 
stu_register("Alex",22)
#输出
#Alex 22 () #后面这个()就是args,只是因为没传值,所以为空
 
stu_register("Jack",32,"CN","Python")
#输出
# Jack 32 (‘CN‘, ‘Python‘)
def stu_register(name,age,*args,**kwargs): # *kwargs 会把多传入的参数变成一个dict形式
    print(name,age,args,kwargs)
 
stu_register("Alex",22)
#输出
#Alex 22 () {}#后面这个{}就是kwargs,只是因为没传值,所以为空
 
stu_register("Jack",32,"CN","Python",sex="Male",province="ShanDong")
#输出
# Jack 32 (‘CN‘, ‘Python‘) {‘province‘: ‘ShanDong‘, ‘sex‘: ‘Male‘}

 

python:关于函数的初认识

标签:logs   返回   技术   *args   func   技术分享   表达   传值   重复   

原文地址:http://www.cnblogs.com/zfquan/p/7425422.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!