重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
函数是组织好,可重复使用的,用来实现相关功能的代码段
创新互联公司专注于企业全网整合营销推广、网站重做改版、云岩网站定制设计、自适应品牌网站建设、H5建站、商城建设、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为云岩等各大城市提供网站开发制作服务。
函数提高了代码的重复利用率和应用的模块性。
除Python自带的函数之外,也可以自己创建函数,叫做自定义函数
语法:
函数代码块以 def 开头
参数为 输入值 ,放于函数名后口号里面,
函数内容以冒号:开始,函数体缩进, return 返回 输出值
函数调用使用关键字参数来确定传入的参数值,此时,如果多个函数则不需要按照指定顺序。
在定义函数时,指定参数默认值。调用时如果不传入参数,则使用默认值
不定长部分如果没有指定参数,传入是一个空元组
加了 两个星号 ** 的参数会以字典的形式导入
/ 用来指明函数形参必须使用指定位置参数,不能使用关键字参数的形式。
3.8版本之后的才能使用
不使用 def 定义函数,没有函数名
lamdba主体时一个表达式,而不是代码块,函数体比def简单很多
定义在函数内部的为局部变量,仅能在函数内部使用
定义在函数外部的为全局变量,可在全局使用
模块是将包含所有定义的函数和变量的文件,一般将同类功能的函数组和在一起称为模块。
模块需要导入后,在调用相应函数进行使用
模块导入的方法:
从模块中导入一个指定的部分
把一个模块的所有内容全都导入
Python的缩进要求是强制的,因为缩进不对直接影响了代码逻辑。
案例一:
乍看以为结果是输出HelloWorld ,执行以下,结果是什么都没输出。
因此正确写法是:
可以看到 sayHello() 前进了一个缩进,这时再执行这段代码就可以看到万恶的 HelloWorld 了。
因为代码块变成了这样,因此上面一个代码块定义了一个函数,下面的代码块是执行函数。
案例二:
执行以下,发现报错了,错误提示是getName属性不存在!
其实再分析一下代码块,可以看出,噢,getName函数位置不对,它被写在say函数里面了。
因此正确写法是:
案例三:
就是强大的pycharm
缩进不缩进,代码是否逻辑错误,软件都会提示,省心多了。
对于类定义、函数定义、流程控制语句、异常处理语句等,行尾的冒号和下一行的缩进,表示下一个代码块的开始,而缩进的结束则表示此代码块的结束。通常情况下都是采用4个空格长度作为一个缩进量(一个Tab键就表示4个空格)。
和其他程序设计语言(如Java、C语言)采用大括号“{}”分隔代码块不同,Python采用代码缩进和冒号( : )来区分代码块之间的层次。
在Python中,对于类定义、函数定义、流程控制语句、异常处理语句等,行尾的冒号和下一行的缩进,表示下一个代码块的开始,而缩进的结束则表示此代码块的结束。
注意,Python中实现对代码的缩进,可以使用空格或者Tab键实现。但无论是手动敲空格,还是使用Tab键,通常情况下都是采用4个空格长度作为一个缩进量(默认情况下,一个Tab键就表示4个空格)。
例如,下面这段代码中(涉及到了目前尚未学到的知识,初学者无需理解代码含义,只需体会代码块的缩进规则即可):
height=float(input("输入身高:")) #输入身高
weight=float(input("输入体重:")) #输入体重
bmi=weight/(height*height) #计算BMI指数
#判断身材是否合理
if bmi18.5:
#下面 2 行同属于 if 分支语句中包含的代码,因此属于同一作用域
print("BMI指数为:"+str(bmi)) #输出BMI指数
print("体重过轻")
if bmi=18.5 and bmi24.9:
print("BMI指数为:"+str(bmi)) #输出BMI指数
print("正常范围,注意保持")
if bmi=24.9 and bmi29.9:
print("BMI指数为:"+str(bmi)) #输出BMI指数
print("体重过重")
if bmi=29.9:
print(BMI指数为:"+str(bmi)) #输出BMI指数
print("肥胖")
Python对代码的缩进要求非常严格,同一个级别代码块的缩进量必须一样,否则解释器会报SyntaxError异常错误。例如,对上面代码做错误改动,将位于同一作用域中的2行代码,它们的缩进量分别设置为4个空格和3个空格,如下所示:
if bmi18.5:
print("BMI指数为:"+str(bmi)) #输出BMI指数
print("体重过轻")
对于Python缩进规则,初学者可以这样理解,Python要求属于同一作用域中的各行代码,它们的缩进量必须一致,但具体缩进量为多少,并不做硬性规定。
直接使用4个空格或tab缩进,但不要混用(像用IDLE这样的会把tab自动变成4个空格的当我没说)