ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python03——函数基础

2020-12-03 12:04:48  阅读:152  来源: 互联网

标签:函数 sum 基础 参数 python03 print def name


1.函数基础

函数定义:

def 函数名():

     代码块

函数的调用:

函数名()

def print_info():
      print("hello")
      pass

print_info()

 

2.函数参数

def 函数名(参数列表):

def print_info(name,age,hight)
     print('%s年龄是%d岁'%(name,age))
     print('%s体重是%dkg'%(name,hight))

print_info(yangh,12,33)

参数分类:

必选参数(也叫位置参数)——调用时,必须给实参

def sum(a, b):   #形式参数:不占内存地址
    sum = a + b
    print(sum)
    
sum(20,15)   #实际参数:占用内存地址的
sum()   ##不能这么写,因为没有给a、b传值

 

默认参数(默认参数,必须放在参数列表的最后)

def sum(a=10,b=20)
     print(a+b)

sum()   #可以不赋值,会使用默认值
sum(1)
sum(1,2)      
def sum(b,a=2):
def sum(a=2,b):  ###错

 

可变参数(当参数个数不确定时使用,比较灵活) *

def getComputer(*args):
    result=0
    for item in args:
          result+=item
    print(result)
    pass

getComputer(1)
getComputer(1,2,3)

 

关键字参数(可变的) ** 字典类型,key值必须是字符串

def keyFunc(**kwargs):
     print(kwargs)

dicta={''name":'yh',"age":18}
keyFunc(**dicta)

keyFunc(name='lh',age=26)

 

组合使用:(可选参数得放在关键字参数之前)

def complexF(*args,**kwargs):   ##(**kwarg,*args)会报错
    print(args) 
    print(kwargs) 

complexF() #不会报错 
complexF(1,2,3,4,name='lh') #会自动识别自动填充

 

3.函数返回值

return后的代码不会被执行

def sum(a,b):
    sum=a+b
    return sum
print(sum(10,20)) ##会返回到调用的地方
def calc(num):
      r=0
      i=1
     while i<=num:
            r+=i
            i+=1
    return r

v=calc(10)
print(v)
li=[]
return li  ###返回列表
return 1,2,3  ##返回元组
return {"name":"yh"}  ##返回字典

 

4.函数的嵌套调用

在函数里调用其他函数

def fun1():
    print("start1")
    print("……………………")
    print("end1")
    pass
def fun2():
    print("start2")
    fun1()
    print("end2")
    pass
fun2()

 

函数的分类:

有参数无返回值的、有参数有返回值的、无参数有返回值的、无参数无返回值的

 

巩固:

1.写函数,接收n个数字,求这些参数数字的和
2.写函数,找出传入的列表或元组的奇数位对应的元素,井返回-个新的列表
3.写函数,检查传入字典的每一个value的长度如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。PS 字典中的value只能是字符串或列表

 

标签:函数,sum,基础,参数,python03,print,def,name
来源: https://www.cnblogs.com/yilia-er/p/14078742.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有