#函数
#可读性强,复用性强
#函数定义:定义了之后,可以在任何需要的地方调用
#格式: def 函数名(): 例子:def mylen():
# 没有返回长度,只能单纯的打印
# return 返回值的重要性 定义了一个函数,建议都带一个返回值,不然无法进行赋值
#完整例子:def 函数名():
#            函数体
#            return 返回值# #定义函数后,无返回值
# s = '杰瑞你好啊'
# def mylen():
#     n = 0
#     for i in s :
#         n += 1
#     print(n)
# mylen()
# len1 = mylen()
# print(len1)
#
# #定义函数后,有返回值
# s = '杰瑞你好啊'
# def mylen():
#     n = 0
#     for i in s :
#         n += 1
#     print(n)
#     return n
#
# len1 = mylen()
# print(len1)#返回值
#返回值的三种情况# 没有返回值 ---当没有返回值的时候默认返回None# 不写return# 直接写return 不加值,结束一个函数的继续,即return后面的都不执行了# return None  --- 不常用# 返回1个值# 可以返回任意一种数据类型# 只要返回就可以接受到# 如果在一个程序种有多个retrun,那么只执行第一个# 返回多个值# 多个返回值用多个变量接收,有多少返回值就用多少变量接收。# 用一个变量接受:得到的是一元组,元组为不可以变数据类型# 没有返回值
# def test():
#     l = ['jerry','tom']
#     for i in l:
#         print(i)
#         #return
#         #retrun None
# test()#返回一个值
# def test():
#     l = ['jerry','tom']
#     a = {}
#     for i in l:
#         a.setdefault(i)
#     return a
#
# test = test()
# print(test)#返回多个值
# def test():
#     l = ['jerry','tom']
#     a = {}
#     for i in l:
#         a.setdefault(i)
#     return a,l
#
# test = test()
# print(test)# 小知识点:传递参数
# 定义一个函数并赋予参数
# 没定义参数时,只能计算指定的变量名
# 定义参数后,可以计算任意的值
# 没定义参数
# s = '你好啊'
# def my_len():
#     i = 0
#     for k in s:
#         i+=1
#     return i
#
# ret = my_len()
# print(ret)#定义参数
# s1 = '你好哈'
# def my_len1(a):  # 自定义参数只需要0个参数,接受参数,形式参数:形参
#     i = 0
#     for k in a:  # a 必须和形参是一致的
#         i += 1
#     return i
#
# ret1 = my_len1(s1)  # 传递参数:传参,实际参数:实参
# ret2 = my_len1('你是谁啊')  # 传递参数
# print(ret1,ret2)#参数的语法---写在括号内的值#参数# 没有参数# 定义函数和调用函数时括号里都不写内容# 有一个参数# 传什么就是什么# 有多个参数# 位置参数
# 站在实参的角度上:# 按照位置传参# 按照关键字传参# 混着用也可以,但是必须先按照位置传参,再按照关键字传参,不能同时给一个变量传多个值#典型传输多个参数:典型的位置参数
# def my_sum(a,b):
#     c = a + b
#     return c
#
# ret = my_sum(1,2)  # 位置传参
# ret2 = my_sum(a=2,b=1)  # 关键字传参
# print(ret,ret2)# def classmate(name,sex='men'):  # 默认参数 sex = 'men'
#     print('%s : %s'%(name,sex))
#
# classmate('jerry')
# classmate('jerry')
# classmate('Amy','woman')  # 若有参数,则修改默认参数
# classmate('jerry')# 站再形参的角度上:# 位置参数:必须传,且不能多传以及少传# 默认参数:可以不传,如果不写则使用默认参数,若写了就用设置的参数替换默认参数# 只有调用函数的时候# 按照位置传:直接写参数的值# 按照关键字传: 关键字 = 值 如 open( file, encoding = 'utf-8')# 定义函数的时候:# 位置参数:直接定义参数# 默认参数: 关键字参数: 参数名 = ‘默认值’# 动态参数: 可以接受任意多个参数# 在定义参数的时候 前面加多个*  例子:def my_len(*aaaa)# 约定俗成 都是以 *args 为动态参数# 顺序:先定义位置参数,*args,再设置默认参数,最后**kwargs
# 动态参数有两种# *args: 接收的是按照位置传参的值,组成一个元组# **kwargs:接收的是关键字传参的值,组曾一个字典# 按照位置传参
# def classmate(*args):  # 默认参数 sex = 'men'
#     n = 0
#     for i in args:
#         n += i
#     return n
#
# print(classmate(1,2))
# print(classmate(1,2,3))
# print(classmate(1,2,3,4))# 按照关键字传参
# def func(**kwargs):
#     print(kwargs)
#
# func(a = 1,b=2,c=3)
# func(b=2,c=3)
# func(c=3)# 动态参数的另一种传参方式
# def func(*args):  # 站在形参的角度上,给变量加上*,就是组合所有传来的值
#     print(args)
#
# func(1,2,3,4,5,6)
# l = [2,1,3,6,5,2]
# func(*l)  # 站在实参的角度上,给一个序列加上*,就是将这个序列按照顺序打散# def func(**kwargs):
#     print(kwargs)
#
# func(a=1,b=2)
# d = {'a':1,'b':2}
# func(**d)#函数的注释
def func():'''这个函数实现了什么功能参数1:参数2::return: '''pass#默认参数的陷阱
#如果默认参数的的值是一个可变数据类型,那么每次调用函数时,如果不传值就公用这个 数据类型的资源
def test(l= []):l.append(1)print(l)test()
test()
test()
test([])
test()def test1(dic = {}):dic['k'] = 'v'print(dic)test1()
test1()
test1()
test1()def test1(k,dic = {}):dic[k] = 'v'print(dic)test1(1)
test1(2)
test1(3)
test1(4)

python学习之路---函数:定义def、调用、返回值return、参数说明、参数陷阱相关推荐

  1. Python学习之路--函数

    初识函数 可读性,复用性强 定义之后,可以在任何需要它的地方调用 所有函数 只定义不调用不会执行 先定义后调用 def  函数名(): # 函数体 return 返回值 函数调用 函数名()不接收返回 ...

  2. Java方法01 方法(函数)定义、调用、值传递、重载、命令行传递参数

    Java 方法的定义.调用.值传递.重载.命令行传递参数 1. 什么是方法? 2. 方法的定义和调用 3. 值传递和引用传递 4. 方法的重载 5. 命令行传递参数 6. 可变参数(输入参数的数量不确 ...

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

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

  4. 简述python函数调用过程_python函数定义和调用过程详解

    我们可以创建一个函数来列出费氏数列 >>> def fib(n): # write Fibonacci series up to n ... """Pr ...

  5. python def函数报错详解_【python】详解python函数定义 def()与参数args、可变参数*args、关键参数**args使用实例...

    Python内置了很多函数,可以直接调用.Python内置的函数可以通过官方文档查看.也可以通过help()查看帮助信息.函数名是指向函数对象的引用,把函数名赋给变量,相当于给函数起了别名. 1. 定 ...

  6. python函数定义及调用-浅谈Python中函数的定义及其调用方法

    一.函数的定义及其应用 所谓函数,就是把具有独立功能的代码块组织成为一个小模块,在需要的时候调用函数的使用包含两个步骤 1.定义函数�C封装独立的功能 2.调用函数�C享受封装的成果 函数的作用:在开 ...

  7. python函数定义及调用-python函数声明和调用定义及原理详解

    这篇文章主要介绍了python函数声明和调用定义及原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 函数是指代码片段,可以重复调用,比如我们前 ...

  8. python函数定义及调用-Python函数(函数定义、函数调用)用法详解

    Python 中函数的应用非常广泛,前面章节中我们已经接触过多个函数,比如 input() .print().range().len() 函数等等,这些都是 Python 的内置函数,可以直接使用. ...

  9. Python编程基础:实验5——函数定义与调用

    Python编程基础:实验5--函数定义与调用 文章目录 Python编程基础:实验5--函数定义与调用 一.前言 二.我的环境 三.实验目的与要求 四.实验任务 1.程序填空 2.程序编程 五.最后 ...

最新文章

  1. CentOS 7 VNC 配置
  2. 机器学习系列之手把手教你实现一个分类回归树
  3. android第三方应用,Android 第三方应用接入微信平台研究情况分享(一)
  4. iScroll学习笔记
  5. PHP——0128练习相关2——js点击button按钮跳转到另一个新页面
  6. kettle升级jetty10实验(未完成jaas认证)
  7. 让你的 Node.js 应用跑得更快的 10 个技巧
  8. Acrobat DC安装方法
  9. matlab的holdoff语句,matlab中holdon和holdoff – 手机爱问
  10. 诺顿误杀导致系统崩溃 百万PC面临灾难
  11. 工程测量学学习 详细
  12. python买卖股票_Python实现买卖股票的最佳时机的一种方法
  13. maxima matlab,为什么大家不用Octave等代替Matlab,Maxima代替Maple?
  14. V831——PWM驱动舵机
  15. SMEC98SP加密芯片方案实例
  16. CSS中常用的几种选择器是哪几种呢?
  17. 四阶魔方java1002四阶魔方java_4x4四阶魔方一看就懂,超简单入门图文教程2:复原中心块...
  18. 如何从Ubuntu系统装回windows系统
  19. iscroll.js
  20. 如何解决Linux乱码问题

热门文章

  1. linux桌面版拨号连接,linux中的pppoe拨号上网
  2. 免费才是王道:盘点开发者须知的25个免费数据可视化工具
  3. GPRS低功耗无线数据传输模块
  4. 十亿设备撑腰 TalkingData解读14年国内移动互联网
  5. CorelDRAW Graphics Suite2022最新版新增功能及增强内容介绍
  6. 新手怎样如何学习单片机,单片机自学教程入门资料分享
  7. 贵州5G最新规划:3年投资200亿元,建成3.2万个5G基站
  8. 好用的测试工具-测试读写-fio-iozone
  9. 基于three.js的3D炫酷元素周期表
  10. 上海2022年10月月赛丙组 T5:组队竞赛