博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python学习之==>函数
阅读量:6261 次
发布时间:2019-06-22

本文共 2245 字,大约阅读时间需要 7 分钟。

一、函数是什么:

  函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需要调用函数名就行。

二、函数的作用:

  1、简化代码

  2、提高代码的复用性

  3、代码可扩展

三、定义函数:

1 def SayHello():   #函数名2     print('Hello')#函数体3 SayHello()        #调用函数,函数不调用是不会被执行的

 四、函数的参数

位置参数:必填参数

1 def calc(a,b): #形参,形式参数2     res = a * b3     print('%s * %s = %s'%(a,b,res))4 calc(8.9,2.7)  #实参,实际参数

默认值参数:非必填参数

1 # 操作文件函数(读和写) 2 def op_file(file_name,conent=None): #conent为写的内容 3     f = open(file_name,'a+',encoding='utf-8') 4     f.seek(0) 5     if conent:  #conent不为空代表写入文件 6         f.write(conent) 7         f.flush() 8     else:      #conent为空时读文件 9         all_users = f.read() #函数里面定义的局部变量只能在函数里面用10         return all_users     #调用完函数之后,返回什么结果11     f.close()12 # 把函数返回的结果存入变量13 res = op_file('a.txt')14 print(res)

 非固定参数(参数组):

  1、非必填参数

  2、不限定参数个数

  3、把所有参数放到一个元组里面

1 def syz(*args): #参数组 2     print(args) 3     username = args[0] 4     pwd = args[1] 5     age = args[2] 6 syz() 7 syz('niuniu','123') 8 syz('niuniu','niuniu','test') 9 def syz2(a,*args):10     print(a)11     username = args[0]12     pwd = args[1]13     age = args[2]14 syz2()15 syz2('niuniu','123')16 syz2('niuniu','niuniu','test')

 关键字参数:

  1、非必填参数

  2、不限定参数个数

  3、把所有参数放到一个字典里面

1 def syz(**kwargs): 2     print(kwargs) 3 syz() 4 syz(name='niuniu',age=23) 5 syz(name='niuniu',age=23,add='回龙观',home='河南') 6 def syz2(time,**kwargs): 7     print(kwargs) 8 syz2('20180418') 9 syz2(name = 'niuniu',age = 23,time = '20180418')10 syz2('20180418',name = 'niuniu',age = 23,add = '回龙观',home = '河南')

 五、全局变量

    1、不安全,所有人都能改

    2、全局变量会一直占用内存

1 name = '牛牛'  #全局变量2 def sayName():3     global name  #如果需要修改全局变量,需要先声明4     name = '刘伟'#局部变量5     print('name1:',name)6 sayName()7 print('name2:',name)

 六、递归函数:函数自己调用自己

  1、少用递归

  2、递归最多调用999次,效率不高

1 def test():2     num = int(input('please enter a number:'))3     if num % 2 == 0:#判断输入的数字是不是偶数4        return True  #如果是偶数的话,程序就退出了,返回True5     print('不是偶数请重新输入!')6     return test()   #如果不是偶数的话继续调用自己,输入值7 print(test())       #调用函数

 七、函数返回多个值

1 # 定义一个函数返回多个值 2 def say(): 3     num1 = 1 4     num2 = 2 5     num3 = 3 6     return num1,num2,num3 7 # 函数返回多个值会把它放到一个元组里面 8 print(say()) 9 # 函数如果返回多个值,可以用多个变量来接收10 res1,res2,res3 = say()11 print(res1)12 print(res2)13 print(res3)

 

转载于:https://www.cnblogs.com/L-Test/p/9053915.html

你可能感兴趣的文章
去中心化并不是比特币的关键和核心,真的有用才是
查看>>
0629 - 基本完成 iPaste 的 Pin 管理
查看>>
经典:头像与昵称描述的位置组合
查看>>
【CSS模块化之路2】webpack中的Local Scope
查看>>
浙江移动容器云基于 Dragonfly 的统一文件分发平台生产实践
查看>>
「每日一瞥
查看>>
java 线程池
查看>>
排序算法总结
查看>>
python模块学习(二)
查看>>
近期的爬虫工作杂谈
查看>>
机器学习之 k 近邻
查看>>
canvas核心技术-如何绘制图形
查看>>
netty源码分析之pipeline(二)
查看>>
面试:讲讲 Android 的事件分发机制
查看>>
计算机程序的思维逻辑 (95) - Java 8的日期和时间API
查看>>
计算机程序的思维逻辑 (8) - char的真正含义
查看>>
2019 年技术大趋势预测
查看>>
推荐一款基于vue的滚动条插件vuescroll
查看>>
安全圈有多大?也许就这么大!
查看>>
App基于手机壳颜色换肤?先尝试一下用 KMeans 来提取图像中的主色
查看>>