我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python学习笔记3:函数和参数

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python学习笔记3:函数和参数

函数

函数的参数和返回值

  • 形参(形式参数): 在函数定义的时候用到的参数没有具体值,只是一个占位的符号,成为形参,下例中的peison
  • 实参(实际参数): 在调用函数的时候输入的值:下例中的明月
def hello(person):
    print("{0}, 你肿么咧".format(person))
    print("Sir, 你不理额额就走咧")

p = "明月"
hello(p)
  • 返回值: 返回函数的执行结果:return
    • 如果没有return,默认返回一个None
    • 函数一旦执行return语句,则无条件返回,函数后面的语句不在执行:下例中aaa不打印,后面的return语句不执行
    def hello(person):
    print("{0}, 你肿么咧".format(person))
    return "哈哈,我提前结束了"
    print("aaa")
    return "我已经跟{0}打招呼了,{1}不理我".format(person, person)

p = "LiYing"
rst = hello(p)
print(rst)

参数

  • 参数参考资料
  • python参考资料: headfirst python -> 零基础入门学习python(小甲鱼),本讲义参考的是流畅的python-->习题-->后期可以考虑腾讯公开免费课
  • 参数分类
    • 普通参数:name,list
    • 默认参数: name="none",addr="noaddr"
    • 关键字参数:指定参数传输的位置,使用关键字参数,可以不考虑参数位置,多一个变量做中转站: age=a, name=n, addr=addr
    • 收集参数: *args,**kwargs
def stu_key(name="No name", age=0, addr="No addr"):
    print("I am a student")
    print("我叫 {0}, 我今年 {1}岁了, 我住{2}".format(name, age, addr)) 
n = "jingjing"
a = 18
addr = "我家"
# 如果是普通参数,只按照位置传递,容易出错
stu_key(age=a, name=n, addr=addr)

收集参数

  • 把没有位置,不能和定义时的参数位置相对应的参数,放入一个特定的数据结构中
  • 语法

    def func(*args,**kwargs):
        func_body
        按照list使用方式访问args得到传入的参数
    
    调用:
    func(p1, p2, p3, .....)
  • 参数名args不是必须这么写,但是推荐
  • 收集参数可以和其他参数共存
  • *args:表示可以使用任意参数,实际是一个tuple
  • **keyword:把关键字参数按字典格式存入收集参数,类型是dict
def stu( **kwargs):
    # 在函数体内对于kwargs的使用不用带星号
    print("Hello 大家好,我先自我介绍一下:")
    print(type(kwargs))
    # 对于字典的访问,python2 和python3有区别
    for k,v in kwargs.items():
        print(k, "---", v)    
stu(name="liuying",  age=19, addr="北京大通州区", lover="王晓静", work="Teacher")
stu(name="周大神")

收集参数混合调用的顺序问题

  • 收集参数,关键字参数,普通参数可以混合使用,但要注意参数位置,否则报错
  • 使用规则就是,普通参数和关键字参数优先
  • 定义的时候一般找普通参数,关键字参数,收集参数tuple,收集参数dict
def stu(name, age, *args, hobby="没有", **kwargs):
# 调用的不同格式
stu(name, age)
stu(name, age, hobby="游泳")
stu(name, age, "王晓静", "刘石头", hobby="游泳", hobby2="烹饪", hobby3="跟不同女生聊天")
#以下执行报错
stu(name, age, "王晓静", hobby="游泳", hobby2="烹饪", hobby3="跟不同女生聊天", "刘石头")

收集参数的解包问题

  • 把参数放入list或者字典中,直接把list/dict中的值放入收集参数中
  • *args用一个*号,**kwargs用两个*号
    def stu(*args):
    l = ["liuying", 19, 23, "wangxiaojing"]
    # 此时,args的表示形式是字典内一个list类型的元素,即 arg = (["liuying", 19, 23, "wangxiaojing"],)
    # 很显然跟我们最初的想法违背
    # 此时的调用,我们就需要解包符号,即调用的时候前面加一个星号
    stu(*l)
  • 对于简单的数值,采用传值操作,即在函数内对参数的操作不影响外面的变量
  • 对于复杂变量,采用传地址操作,此时函数内的参数和外部变量是同一份内容,
  • 任何地方对此内容的更改都影响另外的变量或参数的使用

函数文档

  • 函数的文档的作用是对当前函数提供使用相关的参考信息
  • 文档的写法:

    • 在函数内部开始的第一行使用三引号字符串定义符
    • 一般具有特定格式
  • 文档查看
    • 使用help函数,形如 help(func)
    • 使用__doc__, 参看案例
      def stu(name, age):
      '''
      这是文档的文字内容
      :param name: 表示学生的姓名
      :param age: 表示学生的年龄
      :return: 此函数没有返回值
      '''
      pass
      print(help(stu))
      print("*" * 20)
      print(stu.__doc__)

      输入结果如下:

Help on function stu in module __main__:

stu(name, age)
    这是文档的文字内容
    :param name: 表示学生的姓名
    :param age: 表示学生的年龄
    :return: 此函数没有返回值

None
********************

    这是文档的文字内容
    :param name: 表示学生的姓名
    :param age: 表示学生的年龄
    :return: 此函数没有返回值

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python学习笔记3:函数和参数

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python学习笔记3:函数和参数

函数函数的参数和返回值形参(形式参数): 在函数定义的时候用到的参数没有具体值,只是一个占位的符号,成为形参,下例中的peison实参(实际参数): 在调用函数的时候输入的值:下例中的明月def hello(person): prin
2023-01-31

Python 3 学习笔记:函数(一)

函数可以理解成实现某一功能的一系列代码的集合,这样做有一个最明显的好处就是,如果我们需要反复使用某个功能,使用函数只需要写一遍这些语句,然后就可以在程序中调用这个函数,而不再需要重新写一遍这些语句。创建 & 调用创建函数创建函数使用 def
2023-01-31

python 学习笔记 3 -- 数据

当你创建一个对象并给它赋一个变量的时候,这个变量仅仅 引用 那个对象,而不是表示这个对象本身!也就是说,变量名指向你计算机中存储那个对象的内存。这被称作名称到对象的绑定。eg. # -*- coding: utf-8 -*-  shopli
2023-01-31

python学习笔记 函数

一等函数在python中,函数是一等对象。编程语言理论家把“一等对象”定义为满足以下条件的程序实体:在运行时创建能赋值给变量或数据结构中的元素能作为参数传给函数能作为函数的返回结果在python中,整数、字符串和字典都是一等对象,没有什么特
2023-01-31

python学习笔记(3) -- 常用数

1.数字类型python的数字类型分为 ×××、长整型、浮点型、布尔型、复数型。(python没有字符类型)整型: ×××可以用 二进制、八进制、十六进制表示 默认是十进制。除十进制外其他三种需要加前缀:二进制(0b)、八进制(0o)、十六
2023-01-31

Python学习笔记4——函数

函数1 # 函数需要先定义,关键字 def2 def func():3 print("我是一个函数")4 5 # 函数的调用6 func()执行结果:我是一个函数内建函数(内置函数)help(), print(), format()
2023-01-30

python学习笔记(3)

在大概了解了程序之后,我也买了本python书学习一下,因为现在新版的python3.4.0已经不再兼容2.x.x的内容,书虽然很新,但是有些例子还是用的过去的。1.比如在3.0中print 42不能再产生输出了,要改成print(42)>
2023-01-31

Python中函数参数设置及使用的学习笔记

一、参数和共享引用:In [56]: def changer(a,b):....: a=2....: b[0]='spam'....: In [57]: X=1 In [59]: L=[1,2] In [60]: change
2022-06-04

Python学习笔记(3)--- Fla

在安装flask前,首先安装pip安装地址:https://pip.pypa.io/en/stable/installing.html#install-pip下载(保存):在dos命令下执行 python get-pip.py安装然后 执行
2023-01-31

Python 3 学习笔记:Excel

安装模块OpenPyXL 模块是一个第三方模块,所以需要使用 pip 工具安装,pip install openpyxl文件结构首先,我们需要了解一下 Excel 文件的基本结构,一个 Excel 文件被称为一个工作薄,工作薄中可以包含多个
2023-01-31

Python学习笔记(3)Python中

EscapeWhat it does.含义 \\Backslash ()反斜杠\'Single-quote (')单引号\"Double-quote (")双引号\aASCII bell (BEL)响铃符\bASCII backspace
2023-01-31

Python学习笔记整理3之输入输出、python eval函数

1. python中的变量: python中的变量声明不需要像C++、Java那样指定变量数据类型(int、float等),因为python会自动地根据赋给变量的值确定其类型。如 radius = 20,area = radius * ra
2022-06-04

python 学习笔记(3)-转载

Python中只有一个赋值模型一、缺少类型声明语句的情况在Python中,类型是在运行过程中自动决定的,而不是通过代码声明。这意味着没有必要事声明变量。只要记住,这个概念实质上对变量,对象和它们之间的关系都适用。那么这个概念也容易理解并掌握
2023-01-31

Python 3 学习笔记:序列

序列索引序列是一块用于放置多个值得连续存储空间,并且按特定顺序排列,每个值(称为元素)都分配一个整数(由左至右则从 0 开始;由右至左则从 -1 开始),称为索引(index)或位置,如下所示:可以根据索引获取每个元素实际的值string
2023-01-31

[Python学习笔记]Python数据

嵩天老师的课感觉很好呀,啦啦啦0. 数据分析之前奏课程主要内容:常用IDE:本课程主要使用:AnacondaAnaconda:一个集合,包括conda、某版本Python、一批第三方库等  -支持近800个第三方库  -适合科学计算领域 
2023-01-30

Python两个内置函数 locals 和globals(学习笔记)

Python两个内置函数——locals 和globals 这两个函数主要提供,基于字典的访问局部和全局变量的方式。 在理解这两个函数时,首先来理解一下python中的名字空间概念。Python使用叫做名字空间的东西来记录变量的轨迹。名字空
2022-06-04

Python学习笔记(3)for循环和w

2019-02-25(1)break语句:终止当前循环,跳出循环体。(2)continue语句:终止本轮循环并开始下一轮循环(在下一轮循环开始前,会先测试循环条件)。(3)for循环  ① range()函数:    1) 语法:rang(
2023-01-30

python的学习笔记/002-3(20

群集类型群集类型列表元组字典集合listtupledictset1.列表列表的类型是list,特点为有序,具备索引,内容与长度可以变动。要创建列表,可以使用[]直接表示法,列表中每个元素使用逗号分隔开。列表的常见操作(1) 元素的切片
2023-01-31

Python第一周 学习笔记(3)

一、数值型1.数据类型分类:int:整数python3的int就是长整型,且没有大小限制,受限于内存区域的大小int(x) 返回一个整数float:浮点数有整数部分和小数部分组成。支持十进制和科学计数法表示。只有双精度型。float(x)
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录