函数

简单理解:函数就是可以完成某项工作的代码块。

函数的创建和调用

def functionname([parameterlist]): #参数
[’’‘comments’’’] #注释
[functionbody] #函数体

#定义一个函数,功能为过滤指定字符(如颜色字符)
def f1(string):'''功能:过滤到颜色的字符(如红色、蓝色),并将过滤后的结果输出    #注意缩进,函数体所有内容缩进四个空格参数string:要过滤的字符串没有返回值'''import repattern = r'(红色)|(蓝色)|(黄色)|(紫色)|(白色)'  #模式字符sub = re.sub(pattern,"@@____@@",string) #模式匹配print(sub)
#定义一个空函数
def empty():pass
#调用函数
#语法为:functionname([parametersvalue])  将参数定义好
str1 = "今天我们到公园游玩,里面有红色的玫瑰花,白色的栀子花,加上蓝色的天空,太美啦!"
f1(str1)
今天我们到公园游玩,里面有@@____@@的玫瑰花,@@____@@的栀子花,加上@@____@@的天空,太美啦!
str2 = "小红穿着紫色的连衣裙,面对蓝色的海洋,非常惬意的样子!"
f1(str2)
小红穿着@@____@@的连衣裙,面对@@____@@的海洋,非常惬意的样子!
#例 输出当日的一条信息
def f2():'''功能:每天输出一条信息'''import datetime#定义一个列表list1 = ["星期一:\n天天有个好心情!","星期二:\n人生何处不相逢!","星期三:\n面向大海,春暖花开!","星期四:\n你是我的小苹果!","星期五:\n黑色星期五!","星期六:\n问君能有几多愁?","星期日:\n经典歌曲很好听!"]day = datetime.datetime.now().weekday()   #获取当前日期print(list1[day])   #输出当日信息
f2()   #调用函数
星期二:
人生何处不相逢!

参数传递

一、实际参数和形式参数

#定义函数小括号里面的一般为形式参数,调用函数小括号里面的一般为实际参数
#值传递和引言传递
def f3(obj):print("原值:",obj)obj += obj
print("="*10,"值传递","="*10)
str3 = "只有被逼到走投无路的时候,才能发挥出最大的潜力!"   #不可变对象
print("函数调用前:",str3)
f3(str3)
print("函数调用后:",str3)
========== 值传递 ==========
函数调用前: 只有被逼到走投无路的时候,才能发挥出最大的潜力!
原值: 只有被逼到走投无路的时候,才能发挥出最大的潜力!
函数调用后: 只有被逼到走投无路的时候,才能发挥出最大的潜力!
print("="*10,"引言传递","="*10)
str4 = ["张三","李四","王五","赵六"]   #可变对象
print("函数调用前:",str4)
f3(str4)
print("函数调用后:",str4)
========== 引言传递 ==========
函数调用前: ['张三', '李四', '王五', '赵六']
原值: ['张三', '李四', '王五', '赵六']
函数调用后: ['张三', '李四', '王五', '赵六', '张三', '李四', '王五', '赵六']
#例 对多人的发育情况进行判断
def f4(name,hight,weight):'''name:姓名hight:身高weight:体重'''print(name + "的身高:"+ str(hight)+ "米 \t 体重:"+ str(weight) + "公斤")bmi = weight/(hight*hight)   #计算发育指数print("您的发育指数为:",str(bmi))   #输出指数if bmi < 18:print("您体重太轻,注意饮食和营养@——@")if bmi >= 18 and bmi < 24.9:print("您的体重正常,恭喜您,继续保持!")if bmi >= 24.9:print("您的体重太重,请减肥!")
#调用函数
f4("甲",1.90,80)   #计算甲的发育指数
甲的身高:1.9米      体重:80公斤
您的发育指数为: 22.1606648199446
您的体重正常,恭喜您,继续保持!
f4("乙",1.60,80)   #计算乙的发育指数
乙的身高:1.6米      体重:80公斤
您的发育指数为: 31.249999999999993
您的体重太重,请减肥!
f4("丙",1.90,60)   #计算甲的发育指数
丙的身高:1.9米      体重:60公斤
您的发育指数为: 16.62049861495845
您体重太轻,注意饮食和营养@——@

二、位置参数

#按照函数内参数顺序对应设置实际参数,如上例中顺序姓名,身高,体重
#如果少设置一个参数或者多设置一个参数,则会报错  如 f4("甲",1.90)  或 f4("甲",1.90,80,78) 均会报错
#如果没有多设置和少设置实际参数,位置顺序也需要对应,否则可能计算错误  如 f4("甲",80,1.90)   则会认为身高80米,体重1.9公斤

三、关键字参数

#通过函数参数中的关键字设置,则可不强调顺序
f4(name="甲",hight=1.90,weight=80)   #计算甲的发育指数
甲的身高:1.9米      体重:80公斤
您的发育指数为: 22.1606648199446
您的体重正常,恭喜您,继续保持!
#调换顺序也可以获得正确结果
f4(hight=1.90,name="甲",weight=80)   #计算甲的发育指数
甲的身高:1.9米      体重:80公斤
您的发育指数为: 22.1606648199446
您的体重正常,恭喜您,继续保持!

Python 函数(一)相关推荐

  1. Pass算子python 函数

    Pass算子python 函数 函数 • 函数是代码的一种组织形式 • 函数应该能完成一项特定的工作,而且一般一个函数只完成一项工作 • 有些语言,分函数和过程两个概念,通俗解释是,有返回结果的是函数 ...

  2. Python 函数的可变参数(*paramter与**paramter)的使用

    Python 函数的可变参数主要有 *paramter与**paramter 可变参数主要有 *paramter的作用 接受任意多个实际参数并放到一个元组中 def people(*people):f ...

  3. 【python教程入门学习】Python函数定义及传参方式详解(4种)

    这篇文章主要介绍了Python函数定义及传参方式详解(4种),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 一.函数初识 1.定 ...

  4. python系统提供构造函数传入参数_[ Python入门教程 ] Python函数定义和使用

    函数是一段可以重复多次调用的代码,通过输入的参数值,返回需要的结果.通过使用函数,可以提高代码的重复利用率.本文主要介绍Python函数的定义.调用和函数参数设置方法. 函数的定义 Python函数定 ...

  5. python函数第二次运行报错_Python学习笔记2-函数、高级特性

    函数 调用函数 要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数 >>> abs(100) 100 >>> abs(-20) 20 ...

  6. [教程]Python函数的参数

    Python函数的参数 位置参数.默认值参数.可变参数.关键字参数和命名关键字参数 1 函数结构 def 函数名(参数):函数体返回值 2 位置参数 略 3 默认值参数 略 4 可变参数 # 可变长度 ...

  7. python函数+定义+调用+多返回值+匿名函数+lambda+高级函数(reduce、map、filter)

    python函数+定义+调用+多返回值+匿名函数+lambda+高级函数(reduce.map.filter) Python 中函数的应用非常广泛,比如 input() .print().range( ...

  8. python函数参数*arg和**kwargs分别代表什么?

    python函数参数*arg和**kwargs分别代表什么? 注意: 注意:参数arg.*args.**kwargs三个参数的位置必须是一定的.必须是(arg,*args,**kwargs)这个顺序, ...

  9. python 函数 默认参数

    python 函数 默认参数 def add(a=1, b=2): # a,b设置默认参数c = a + breturn c c = add(a=2) # 如果不填,就是默认参数 print(c) 4

  10. Python的零基础超详细讲解(第十二天)-Python函数及使用

    基础篇往期文章: Python的零基础超详细讲解(第一天)-Python简介以及下载_编程简单学的博客-CSDN博客 Python的零基础超详细讲解(第二天)-Python的基础语法1_编程简单学的博 ...

最新文章

  1. Windows下通过Python 3.x的ctypes调用C接口
  2. 创建属于自己的调色板
  3. SAP RETAIL 如何确定自动补货触发的单据类型 II
  4. mysql oracle查询速度慢_oracle查看执行最慢与查询次数最多的sql语句
  5. 【java】 linux下利用nohup后台运行jar文件包程序
  6. sublime text2如何连接FTP/SFTP——图文详细教程
  7. ASP.NET的几个试题(《C#与.NET程序员面试宝典》)
  8. 我们真的搞懂这些排序算法了吗?(一)
  9. ad18/ad19/ad20/ad21/ad22新版ADgaber导出(含官方教程)(含坐标文件)
  10. Report Machine(RM)报表控件简单用法-delphi
  11. java中string是什么意思_在java中String...是什么意思
  12. 飞秋2013设置后无法保存配置问题
  13. 怎么用ai做出适量插画_用AI打造矢量人像插画
  14. windows下同一个显卡配置多个CUDA工具包以及它们之间的切换
  15. 2023年电工杯数学建模B题 人工智能对大学生学习影响的评价 具体建模过程 代码以及思路
  16. Python数据分析从入门到精通视频教程
  17. 快速理解iaas/pass/sass
  18. 简单5招教你拍摄雪景个人写真?
  19. idea怎么给类和方法自动快速添加注释的方法(/**@return @Param*/)
  20. TCP在广域网相互通信

热门文章

  1. Java设计模式学习总结(11)——结构型模式之装饰器模式
  2. Spring Boot学习总结(6)——SpringBoot解决ajax跨域请求问题的配置
  3. python用xlrd怎么清洗数据_利用Python进行数据清洗
  4. 二、Linux系统目录和文件基本操作
  5. linux es数据库 head,Elasticsearch 5.3.x 使用 Head 插件
  6. 《中国人工智能学会通讯》——5.4 结 论
  7. WEB测试总结 (架构,设计)精华部分(转)
  8. 小小标签,强大功能——深藏不露的 input
  9. 常见SQL Server 2000漏洞及其相关利用2
  10. AE域名,沙漠之花阿联酋的专属域名-域名百科