首页 > 编程语言 >Python-09_02函数参数类型、函数嵌套

Python-09_02函数参数类型、函数嵌套

时间:2022-08-22 10:47:34浏览次数:65  
标签:02 10 20 函数 Python 函数参数 参数 print def

1、Python函数参数类型:必备参数、关键字参数、缺省参数、任意个数参数。

必备参数须以正确的顺序传入函数,也叫做位置参数,即参数是通过位置进行匹配的,从左到右,依次进行匹配,这个对参数的位置和个数都有严格的要求。

1 #函数参数类型必备、关键字、缺省参数、任意个数参数
 2 #必备参数
 3 def pri(a,b):
 4     print(a,end = ' ')
 5     print(b)
 6 pri('hello','world')
 7 
 8 
 9 #关键字参数是针对实参
10 pri(b='world',a='hello')
11 
12 
13 #缺省参数,默认值参数(如果存在默认值与非默认值参数,那么默认值参数放置到最后!!!)
14 def add(num1=10,num2=20):            #注意:(num1=10,num2)会报错,必须(num2,num1=10)默认值参数放到后面
15     print(num1+num2)
16 add()                                #如果实参没有值,则使用默认参数
17 add(15)                              #如果只传一个,一一对应
18 add(20,23)                           #如果都传,一一对应
19 
20 #收集参数(不定长参数)
21 #第一种  *开头  元组类型 不定长参数放最后
22 def pri1(a,*b):
23     print(type(b))
24     print(b)
25 #pri1(10)   #0个b的参数
26 pri1(10,20) #1个b的参数
27 pri1(10,20,30,50,-10,20)    #5个b的参数
28 
29 
30 #第二种 **开头  字典类型  不定长参数放最后
31 def pri2(a,**b):
32     print(type(b))
33     print(b)
34 pri2(10)
35 pri2(10,b='20',c='30',d='hello')           #不能写a =‘10’,因为a是第一个形参名字,注意!!!

2、函数的嵌套:

 1 #第三章第10节函数的嵌套
 2 #函数的嵌套
 3 #形式一:
 4 def max(x,y):
 5     return x if x > y else y
 6 
 7 def maxs(a,b,c,d):
 8     res1 = max(a,b)           #函数的嵌套调用
 9     res2 = max(res1,c)        #函数的嵌套调用
10     res3 = max(res2,d)        #函数的嵌套调用
11     return res3
12 
13 print(maxs(10,3,443,345))
14 
15 #形式二:在函数中定义一个新函数
16 def f1():
17     def f2():
18         print('f2')
19         def f3():
20             print('f3')
21         f3()                 #函数内部定义的函数,必须在主函数这层调用才能使用
22     print('f1')
23     f2()                     #函数内部定义的函数,必须在主函数这层调用才能使用
24 f1()                         #函数内部定义的函数,必须在主函数这层调用才能使用
25 #f2()                        #这样会报错
26 #f3()                        #这样会报错

 

标签:02,10,20,函数,Python,函数参数,参数,print,def
From: https://www.cnblogs.com/yyym/p/16601372.html

相关文章

  • 【未解决】 python type(json.load(f))为啥会报错?
    疑惑 pythontype(json.load(f))为啥会报错?而重新赋值res后,又不会报错?  赋值res前 ......
  • Python批量处理文件的方法总结(包括folder、txt、xml、excel)
    一、使用Python批量创建folder主要用到的库就是os;代码运行的结果是:在指定文件夹下创建一组文件夹。part1:代码:importos#导入os模块......
  • Python爬虫:微博热搜榜前200条评论
    整体思路:1、从热搜榜获取详情页的链接  2、排除掉广告以及置顶广告热力值为空置定为第一个tr  3、点击加载更多评论页面会跳转    4、跳转......
  • 2022-08-21 第六小组 高佳誉 学习笔记
    1.JDBC是什么?JavaDataBaseConnectivity(Java语言连接数据库)2.JDBC的本质是什么?JDBC是SUN公司制定的一套接口(interface)java.sql.*;(这个软件包下有很多接口)接口都有调......
  • 第四讲 Python中的常见语句
    4.1 if条件判断语句4.1.1 if条件判断语句单分支◆单分支格式:if判断条件:语句块1……else:语句块2……Ø例:name=input('请输入您的用户名:')ifname=='admin':......
  • Linq-20220817更新
    一、常用函数Where:每一项数据都会经过predicate(传入的委托lambda表达式)的测试,如果对元素执行predicate后返回值为True,则这个元素会添加到结果数组中Count:每一项数据都......
  • python简单操作redis
    redis操作importredisr=redis.StrictRedis(host='localhost',port=6379,db=0)r.set('test1','test1')value1=r.get('car')print(value1)all_keys=r.ke......
  • 8/21 python基础学习4
    第九章类类的创建:classDog:def__init__(self,name,age):#初始化函数self.name=nameself.age=agedefsit(self):pri......
  • 2022.8.21 摆烂记录
    Preface回归Content[luoguP4310]绝世好题给定序列\(a_{1\simn}\),求子序列\(b\)的最长长度\(k\),使得\(\foralli\in[2,k],b_i\mathsf{\&}b_{i-1}\gt0\)。\(......
  • Python数据库编程
    1.操作SQLite3数据库  Python3.x版本开始,在标准库中已经内置了SQLlite3模块,它可以支持SQLite3数据库的访问和相关的数据库操作。在需要操作SQLite3数据库数据时,只须在......