6.1 函数定义:

def BiJiao(a,b): #驼峰规则(首字母大写),见名知意-函数名大写

if a>b:

print(a)

elif a==b :

print('xiangdeng')

else:

print(b)

运行:

BiJiao(1,3)

3

6.2函数参数-默认参数、可选参数、必备参数

6.2.1,无参数

def fun1():

print('没参数’) #调用fun1() #调用函数必须在函数名后加括号,表示调用没参数

6.2.2 必须传参数

def fun2(a): #必备参数

print('必须传参数’) ##调用:fun2(1)必须传参数

6.2.3默认参数

def fun3(b=3): #参数可传可不传,可指定

print(b,'默认参数')

调用:>>> fun3() 3 默认参数

6.2.4第一种不定常参数函数

def fun4(*arg): #结果都包装成元祖

print(arg)

调用:>>> fun4()

()

>>> fun4(1,2,3,4)

(1, 2, 3, 4)

>>> fun4() # ()参数可以随意传递

>>> fun4(1,2,3,4,5) (1, 2, 3, 4, 5) 参数可以随意传递

>>>

>>> fun4([1,2,3,4,5])

([1, 2, 3, 4, 5],) 参数可以随意传递,字符串、元祖、字典

>>> fun4({1,2,3})

({1, 2, 3},) 参数可以随意传递,无论传递什么,结果都包装成元祖,逗号是因为元祖必须两个以上元素,元组只有一个元素就得加逗号

>>> fun4(*{1:11,2:22}) #参数加一个*号可以把字典列表等解开

>>>(1, 2)

6.2.5第二种不定常参数函数

def fun5(**kwarg): #参数可传可不传, 结果包装成字典

print(kwarg,'可传可不传')

调用的时候是字典的关键字key参数

>>> fun5()

{} 可传可不传

>>> fun5(a=1)

{'a': 1} 可传可不传

>>> fun5(a=1,b=2,c=3)

{'a': 1, 'b': 2, 'c': 3} 可传可不传

>>> fun5(**{'a':1,'b':2}) #加两个*号可以传递字典作为参数。

{'a': 1, 'b': 2}

6.2.6混合参数函数一

def fun6(m,n=1): #必备参数必须放在前面,否则报错

pass

>>> fun6(b=2,3)

SyntaxError: positional argument follows keyword argument #关键字参数(b=2)要放在最后

>>> fun6(m=3,n=2) #这样则不报错

>>>

6.2.7 混合参数函数二,

要点,定义的时候a必备参数要在默认参数之前,调用时候b关键字参数放最后,c确保必须取值的参数取值

def fun7(*arg,b,m=1):

pass

>>> fun7(1,3,b=2)

时候

6.2.8混合参数函数三

def fun8(b,m=1,*arg):

print(arg)

>>> fun8(1,2,*(1,2,3)) #*号函数结果会解包

(1, 2, 3)

>>> fun8(1,2,(1,2,3)) #没*号函数结果不会解包

((1, 2, 3),)

def fun8(b,m=1,*arg): #默认用这种顺序传递参数,必备、默认、不定常这样顺序一般不会报错。

关键字参数,调用的时候指定的参数都是关键字参数,可以是默认、必备参数

6.3 return的作用

def fun9(a,b):

if a>b:

return(a)

elif a==b:

print('相等')

else:

return(b)

>>> fun9(3,5)

5

>>> s=fun9(1,1)

相等

>>> s

>>> print(s)

None

作用:1,返回值,2,函数结束标志。

def fun10(a,b):

return'没下文了'

if a>b:

return(a)

elif a==b:

print('相等')

else:

return(b)

>>> fun9(1,9)

'没下文了'

>>> fun10(1,2)

3

6.4匿名函数lanmbda

>>> g=lambda x:x+1

>>> g(4)

5

总结:(python 参数无类型)

#1:必备

#2:默认

#3:可变

#4:*args 包装的参数,包装成元祖

*kargs 接受的参数,包装成字典(关键参数) key =value

# 1.找到1-100内的质数,结束之后打印“搜索结束”.

# (质数:只能被1和自己整除,如2,只有除以1和2才能整除)

count = 0

for x in range(2,101):

for y in range(2,x):

if x % y == 0:

break

else: ###当程序正常执行,没有执行break时才会执行else部分

print (x)

# 2.定义一个函数,能够输入字典和元组。将字典的值(value)和元组的值交换,交换结束后,打印字典和元祖。

tu = (4, 5,8)

dic = {'a': 1, 'b': 2, 'c': 3}

def switch(t,d):

t = list(t)

if len(t) >= len(d):

n = 0

for key in d.keys():

d[key],t[n] = t[n],d[key]

n += 1

print ('tu:',t,'\n''dic:',d)

if len(t) < len(d):

raise TypeError('不能这样子,字典长度不能比元祖长度长!')

switch(tu,dic)

# 3.定义一个函数,必须包含4种参数形式,然后打印这4个参数,最后返回'OK'。

def function(a,b = 4,*args, **kargv):

print ('必备参数:',a,end= '\n')

print ('默认参数:',b,end='\n')

print ('可选参数元祖:',args,end='\n')

print ('可选参数:',kargv,end='\n')

function(1,5,1,2,3,k=10)

print('-----------------分割线-----------------')

function(1,10,*(1,2,3))

print('-----------------分割线-----------------')

function(1,10,*(2,3,4),**{'name':'Stone','age':24})

print('-----------------分

潭州教育学python_潭州教育-Python学习笔记6@函数基础,必备参数,位置参数,可选参数...相关推荐

  1. 中谷python_中谷教育Python学习笔记

    程序中有中文: #coding: utf-8 从键盘读取: b = int ( raw_input('please input 华氏温度 :') ) 注意数据类型 5.0/9 type() 查看变量数 ...

  2. Python学习笔记:函数(Function)

    Python学习笔记:函数(Function) 一.函数基本概念 函数是Python里组织与重用代码最重要的方法.一般来说,如果你期望多次重复相同或相似的代码,写一个可重用的函数可能是值得的.函数通过 ...

  3. Python 学习笔记 D1(基础)

    Python 学习笔记 D1(基础) 1.注释 #一个注释 ''' 多行注释 ''' 2.运算符与C++相同:+,-,*,/,%,>,<,=,>=,<=,==,!= 与C++不 ...

  4. Python学习笔记 1.0 基础内容篇章

    Python学习笔记 1.0 基础内容篇章 注释 变量 一.定义变量 二.使用变量 bug和debug bug: Debug工具: 数据类型 认识数据类型 在定义数据类型时发生的错误: 数据类型的补表 ...

  5. Python学习笔记12_函数

    Python学习笔记12_函数 文章目录 Python学习笔记12_函数 1.函数定义 2.函数调用 3.函数的参数 3.1.可更改对象和不可更改对象参数 3.2.必需参数(位置参数) 3.3.关键字 ...

  6. Python学习笔记:函数

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  7. python学习笔记三一 函数学习

    函数学习 range函数 •生成有序的序列 •生成数字队列可以定制 # range函数案例1 # 生成一个从1到10的数字序列 # range的生成序列的两个面数字是左包括,右不包括(如下所示只包括1 ...

  8. Python学习笔记 - 探索函数定义和使用

    大家好,我是Mr数据杨,你们有没有读过<三国演义>呢?没错,将以这个经典的古代战争史诗为引,来探索Python的诸多神奇之处. 首先来说说函数的重要性.诸葛亮一生献出了不少锦囊妙计,这些计 ...

  9. Python学习笔记之入门基础

    课程链接:Python入门教程--基础阶段_哔哩哔哩_bilibili Python学习笔记 注释 单行注释: * 多行注释: 1.多行前面加# 2."""注释信息&qu ...

最新文章

  1. jenkins+docker的简单项目部署
  2. 第6章 数组----复制数组
  3. 代码审计之代码执行注入
  4. 黑客开始利用云计算暴力破解密码
  5. 一份感动到哭的成绩单……
  6. 乒乓球十一分制比赛规则_乒乓球竞赛规则 赛制和比赛规则
  7. 嵌入式工作笔记0007---对讲机嵌入式开发记录---认识对讲机的功能--随时更新
  8. Java开发中学用eclipse code templates
  9. 结构体全局变量_nginx源码分析—内存池结构ngx_pool_t及内存管理
  10. 从数据黑盒到数据白盒,阿里云基础产品首席架构师黄瑞瑞分享背后的故事
  11. python数值类型和序列类型_数值类型和序列类型(python)
  12. 应用系统适配迁移方案
  13. 【MisakaHookFinder使用方法】关于如何提取一个文字游戏的文本钩子以供翻译的方法
  14. Java 求解加油站
  15. mysql count 1_MySQL中count(1)和count(*)的区别是什么?
  16. c语言 'max' : undeclared identifier,c语言中undeclared identifier是什么意思?
  17. 服务器装win10性能怎样,普通Win10越升越卡?Win10专业工作站版了解下
  18. 【Matlab】修改图片dpi方法总结
  19. Three.js 开启带动画模型的动画
  20. AUTOSAR MCAL解析:MCU

热门文章

  1. windows下搭建hadoop
  2. idea如何使用git关联远程仓库
  3. 系统思考:情境企划的主要步骤有哪些?
  4. 游戏环境检测_报告显示:风险环境和外挂类型关系密切 加速器外挂在模拟器环境里最多...
  5. GoView 开源,一个好用的 Vue3 低代码开发数据大屏系统
  6. 应用libmad制作一款mp3播放器
  7. c语言快速排序算法代码,c语言快速排序算法示例代码分享
  8. 思维导图带你了解iphone7到底有什么?
  9. MIPS中一个字等于多少字节
  10. python pyodbc mysql_pyodbc和mySQL