应用办公生活信息教育商业
投稿投诉
商业财经
汽车智能
教育国际
房产环球
信息数码
热点科技
生活手机
晨报新闻
办公软件
科学动态
应用生物
体育时事

Python编程轻松掌握函数定义类型及其参数传递方式

  前言
  本文带你轻松理解并掌握Python语言中的核心特性函数:定义语法以及函数形式,并介绍函数的参数传递的两种方式。闲话少叙,开始记得关注传新视界,点个赞分享给更多的朋友。
  Python函数函数含义
  函数(function)是执行特定任务的语句块,是允许程序员重用的部分代码,其促进了软件程序的模块化概念。这种方法背后的主要思想是将一个大的代码块划分为更小的独立部分,也因此更易于管理的子块。Python中有两种类型的函数:
  内置函数(Buildin):编程时可以在程序中直接使用这些函数而无需定义它们。这种类型的函数在一开的始学习中经常使用了(例如,print()、input()、sum()等)。
  用户定义函数(Userdefined):Python允许程序员创建自己的函数。接下来将重点介绍这种特定的函数类型。
  简而言之,函数就是定义好的且可以重复调用的结构化语句块。函数名称唯一,可接收参数,并且根据需要返回给调用者相应的结果(值),或不返回值。
  函数定义
  在Python中定义函数的主要规则如下:函数块以关键字def开始,后面跟着函数名和括号。注意,由于Python是区分大小写的,所以必须使用def而不是Def。与变量名类似,函数名可以包含字母或数字,但不包含空格或特殊字符,且不能以数字开头。可选的输入参数(称为arguments)应放在括号内参数数量和类型根据需要来。函数名后跟冒号,通常函数中的语句块从冒号后换行开始并缩进。返回数据的函数必须在其代码块中包含关键字return。
  概括起来,有四种类型的函数:无参数无返回值型函数;有参数无返回值型函数;无参数有返回值型函数;有参数有返回值型函数。
  函数定义的语法格式如下:deffunctionName(var1,var2,etc。):Statements
  根据实参的存在与否以及输入和或返回值的存在情况,函数可以分为上面的四种可能的类型。下面将分别介绍。无参无返回值型函数
  在这种类型中,函数不接受变量作为参数,也不返回任何数据。比如下面的脚本演示即为这种函数,它只在屏幕上打印预定义的字符串。
  代码显而易见,定义中形参,调用时没有实参,语句块中也没有return语句。该结构只是调用print()函数来显示所需的消息。在主程序中调用这样一个函数是一个相当简单直接,如下所示:定义一个既无参数也无返回值的函数defprintSomething():print(Helloworld)在主程序中直接调用printSomething()
  运行程序后输出结果为:
  Helloworld有参无返回值型函数
  另一种类型的函数接受变量作为参数,但不返回任何数据。在下面的示例中,通过声明的名称来调用函数,同时在所调用的函数括号中包含一些值。这些值被传递给函数的主体使用,可以被视为普通变量:定义接收参数但无返回值的函数defprintMyName(fName,lName):print(Yournameis:,fName,lName)提示用户输入姓名firstNameinput(Enteryourfirstname:)lastNameinput(Enteryourlastname:)在主程序中调用所定义的函数printMyName(firstName,lastName)
  运行程序,结果类似如下:Enteryourfirstname:Solo
  Enteryourlastname:Cui
  Yournameis:SoloCui无参有返回值型函数
  第三种类型为不接受参数但有返回数据的函数。重要的是要记住,因为这种类型的函数返回的一个值给调用代码,这个值必须在被使用或处理之前赋值给一个变量。示例如下:定义无参数但有返回值的函数defreturnFloatNumber():inputFloatfloat(input(输入一个数字,其将返回给主程序:))returninputFloat主程序调用函数并显示输入结果xreturnFloatNumber()print(输入的数字为:,x)
  运行程序结果类似如下:输入一个数字,其将返回给主程序:5。7
  输入的数字为::5。7有参有返回值型函数
  这种类型函数既接受参数,又将值返回给调用代码。情况下面示例。在这种情况下,函数的调用必须包含一个参数列表,并将返回值赋给一个特定的变量以供以后使用:有参有返回值函数defcalculateSum(number1,number2):print(计算两个数字和。)return(number1number2)接受用户输入的两个数字num1float(input(输入第一个数字:))num2float(input(输入第二个数字:))调用函数计算俩个数字和addNumberscalculateSum(num1,num2)输出两个数字和print(两个数字和为:,addNumbers)
  运行程序结果类似如下:输入第一个数字:3
  输入第二个数字:5
  计算两个数字和。。。
  两个数字和为::8。0函数参数传递方式
  有两种不同的方法用来给函数传递参数。确定选择两者的哪个方法应取决于原来变量的值是否可在函数内更改。将参数值传递给函数有两种方法,通常被称为按值调用传递(callpassbyvalue)和按引用调用传递(callpassbyreference)。
  概要来说,函数参数传递:
  其一,按值方式:参数是原始变量的副本,保持副本且不改变原始值;
  其二,按引用方式:改变直接作用于原始变量,因此也就改变了原始值。
  按值调用传递
  在这种情况下,实参(形参)的值作为原始变量的副本处理。因此,当程序控制返回给调用者时,调用者作用域中的原始变量将保持不变。
  在Python中,如果将不可变参数(例如,整数和字符串)传递给函数,通常的做法是按值调用传递参数。下面的示例通过介绍id()函数说明了这种情况。它接受一个对象作为参数(即id(object)),并返回这个特定对象的标识。Id()返回值是一个整数,它在对象的生命周期内是惟一的和永久的。如示例所示,在调用checkParamemterID函数之前,变量x的id为4564813232。需要注意的是,只要x的值没有更新,x的id在函数中就不会改变。但是,一旦该值更新为20,其对应的id将更改为4564813552。需要注意的最重要的一点是,x的id在调用函数后不会改变,它的原始值保持不变(4564813232)。这意味着对x值的更改应用于变量的副本,而不是调用者作用域内的原始变量。
  示例代码如下:按值传递参数定义函数checkParameterID,带参且按值传递defcheckParameterID(x):print(在checkParameterID函数内x值改变之前其值为,x,其id为,id(x))在函数范围内改变参数x的值x20print(checkParameterID中x的值改变后为,x,其id为,id(x))在主程序声明变量x并赋予初始值x10print(调用checkParameterID函数之前x的值是,x,其id为,id(x))调用checkParameterID函数checkParameterID(x)函数调用后在主程序中显示关于x的信息print(调用checkParameterID函数后x的值为,x,其id为,id(x))
  运行输出结果类似如下:调用checkParameterID函数之前x的值是10
  其id为2570870194704
  在checkParameterID函数内x值改变之前其值为10
  其id为2570870194704
  checkParameterID中x的值改变后为20
  其id为2570870195024
  调用checkParameterID函数后x的值为10
  其id为2570870194704按引用调用传递
  在这种情况下,函数获取实参(即原始变量)的引用,而不是它的副本。如果函数内发生更改,则调用者作用域中原始变量的值也将被修改。在Python中,如果可变参数(如列表)传递给函数,则调用传递是通过引用进行的。如下所示,updateList将值5追加到名为y的列表中。即原始可变变量x的值发生了变化,这证明函数按引用调用传递参数的特征。示例代码如下:定义函数upDateList其改变列表内的值defupdateList(y):yy。append(5)returny声明列表x有四个元素值x〔1,2,3,4〕print(在调用updateList函数之前,x的内容是:,x)调用函数updateListprint(调用函数updateList)updateList(x)print(调用updateList函数后x的内容为:,x)
  运行程序输出结果类似如下:在调用updateList函数之前,x的内容是:〔1,2,3,4〕
  调用函数updateList
  调用updateList函数后x的内容为:〔1,2,3,4,5〕本文小结
  本期内容介绍了函数的基本内容和实现语法,以及参数传递、有无参数和返回值的函数形式以及函数调用传递的实现。
  就写这些了,记得点个赞,关注一下传新视界,分享给更多的朋友吧。
  下一期再来进一步介绍关于函数参数传递的几种实现方式,敬请关注,再见!

过年买粉条,牢记3个诀窍,一眼就能看出市场上的假粉条,真实用过年买粉条,牢记3个诀窍,一眼就能看出市场上的假粉条,太实用了。哈喽,大家好,我是大厨江一舟,今天又到了和大家分享美食的时刻了,你准备好了吗?新年将至,相信每个家庭都会从……冬日天坛湖引来珍贵黑天鹅冬日的天坛湖,已改往昔的绿树青草环绕,人来人往的热闹场景。现只有满目枯草、黄叶在寒风中瑟瑟发抖,人迹稀少倍显荒凉,绕湖慢走越走越心凉。忽然,远处竟然有了让人意想不到的惊喜……明星是如何把缺点变成特点的?配饰修正法,普通人也能一招变美这个世界上并不存在长相完美的人。连世界公认的女神奥黛丽赫本都曾被挑剔脸方、眉毛粗,在找她到适合自己的妆容前,离女神的名号还有很远的距离。绝对美丽的标准是如此严苛,连顶尖的美人都……荒野乱斗矿车竞速开启,射手战士全废,五位英雄强度堪比bug荒野乱斗新赛季在上线后,很多玩家已经迫不及待地体验新赛季的魅力所在,其中包括英雄和玩法,新英雄需要随着时间的推移才能解锁,但是游戏新模式却可以随时体验。在过去数次的更新中,游戏……玩家苦等一年的末日新游,花式探险整活要说现在各大直播平台里,主播们最偏爱哪种游戏类型的话,刺激拉满的末日生存题材游戏,在小编看来绝对可以排进前三!主播们直播该类游戏时的整活表现层出不穷,同样令围观群众乐在其中。……麦趣尔丙二醇风波持续影响上半年亏1。75亿被问询持续盈利能力中国网财经9月19日讯(记者叶浅见习记者李睿阳)近日,麦趣尔收到深交所2022年半年报问询函,被要求以表格形式列示丙二醇事件涉及的产品、原材料数量以及具体金额,同时分析对公司营……去掉美颜滤镜,真实的明星无美颜无精修照原来长这样金鸡奖闭幕,捕捉到的各路明星无美颜明星照片,你觉得谁最惊艳?李冰冰御姐范十足宁静依旧是霸气的静姐倪妮忍不住说一句,倪妮无滤镜也好亮眼啊……北马10月4日开启报名通道11月6日天安门起跑据北京马拉松官方网站消息,2022北京马拉松将于10月4日开放选手报名。11月6日7:30,北京马拉松将在天安门广场起跑。这也是北京马拉松自2020年和2021年线上赛以来,首……男童地铁抢座,家长一句他又不懂暴露大问题本文图片均来自网络文默城近日,在浙江杭州,一女子称坐地铁时遭到一名男童抢座位,男童直接坐在了自己大腿上;期间还不断扭动,用手砸到了自己的胸部,鞋子还往自己腿上踢,自……Faker成LCK最老选手!DRX组成半百下路,Chovy中前言:各大赛区2022年春季赛即将到来,LPL将于1月10日开始,而LCK赛区则是在1月12日开启。通过冬季转会期的操作,T1与GEN被认为是两支最有可能获得春季赛冠军的队伍。……11,又不赢?17脚射门虚射,中超巴萨彻底拉胯了,落后榜首2中超已经接近尾声,在第21轮比赛中,北京国安对阵广州城队,这场比赛也备受外界关注,大家更多关注的是北京国安队的表现,素有中超巴萨之称的北京国安队在中超第2阶段下滑非常大,很大原……卡纷2022春夏新品系列绿与白夏季时节的静谧之绿悄然流淌,卡纷新品系列绿与白,设计灵感源自1945年,卡纷夫人用简单白绿相间条纹面料制作而成的连衣裙MaGriffe(我的风格)。延续了卡纷绿的清新自然,结合……
8个生活必备冷门逆天的黑科技APP,每一款都堪称神器功能和实用性都非常强的宝藏黑科技软件,每一款都是神器,一定要及时收藏哦1、李跳跳(Android)只有安卓才有的宝藏软件,真的替iOS可惜!这款app可以帮忙跳过所有ap……休闲娱乐有一套,畅享大屏的腾讯极光投影P2体验从手机到电视,我对更大的屏幕都是难以抗拒。就算抛开价格不谈,手掌和电视柜都是有它承受的上限。而投影却是个例外,它能投的尺寸取决于你家墙壁有多大。这两年前前后后也入手过了好几台投……耳鸣十多年,前辈一语道破你这是脾虚了!一张方子调理好临床上,耳鸣发病率高,且难治愈,往往伴随其他多样症状,严重者非常影响患者的生活质量。对于耳鸣这种难治之症,我国传统中医学在其治疗方面有着完善的理论基础和丰富的治疗经验,所……春季,是孩子身体猛长的时候,这10道菜要经常吃,身体强壮大家好,欢迎大家来到我的自媒体,我是美食作者锦绣V山东,现在是春暖花开,万物复苏时节,春天是一个生长的季节,也是孩子长个的黄金期,家长们在这个季节一定不能忽视,要多给孩子吃一些……大S与具俊晔官宣结婚男方是20年前初恋,属于再续前缘大S再一次结婚了,而且是和自己以前的初恋具俊晔,恭喜她!只有适合的,没有一定要委屈自己的。这一次大S与具俊晔的再续前缘,也说明了汪小菲与大S彻底的成为了一种过去式。……网易游戏3月暗黑手游征文活动荒野行动S22开启网易游戏月初将会对2022年3月的游戏版本,活动等进行预告,3月将会进行如下更新,诸君请看!《大话西游》时间:3月79日庆祝《大话西游》品牌20周年,《大话西……今日油价2022年3月6日最新油价,9295汽油与柴油价格今天的油价在周四晚刚大涨超过0。20元升,下次油价调整将在3月17日晚进行,目前刚进行了一个工作日的统计,原油变化率11。15,预计上调485元吨(0。37元升0。44元升)……个人理解的麦克斯韦电磁场方程之美图一麦克斯韦麦克斯韦微分形式的电磁场方程:图二要理解上图的方程组,我们先看看什么是电场、磁场和电磁场:图三电场图四磁场图五电磁波我们先……贵州草海越冬候鸟陆续迁徙新华社照片,威宁(贵州),2022年3月8日贵州草海越冬候鸟陆续迁徙3月8日,在贵州草海国家级自然保护区拍摄的黑颈鹤。随着天气逐渐转暖,在贵州草海国家级自然保……Burberry2022女士春夏系列欣赏凝结纯粹底蕴,型绘本我风范。Burberry呈现2022女士春夏系列外套与包袋单品。BurberryTrench风衣勾勒流动线条,搭配精巧Lola萝纳包、锁扣包与挺括托特包,感……日常穿搭太普通?这4个搭配技巧get一下,让你秒变人群C位穿衣打扮是一门神奇的学问,懂的人,穿什么衣服都洋气,而不懂的人,穿什么衣服都普通。倘若你属于后者,那么,下面这4个技巧get一下,保证让你秒变人群C位,轻松当个时髦精。技……今春流行的半身裙有这4款就够!11个穿搭模板,完美应对各种场半身裙怎么穿才时髦春天是非常适合穿裙子的季节,相比连衣裙,半身裙则需要更多搭配智慧!衣橱里的半身裙在这个春天怎样搭配才能不露俗套呢?我选了4款春天不能少的半身裙,给……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网