常见数据类型
int:整数类型
float:浮点类型
bool:布尔值(true and false)
str:字符串类型
编程中函数的概念
自己定义函数
1.我们先要定义函数,也就是定义它的名字(叫做 函数名 function name)、若干输入变量(叫做 参数 argument)以及如何通过输入变量算出函数的值(叫做 返回值 return value)
2.给它具体的参数值,它就给出具体的返回值
调用已有函数术语叫(call)
python内置
例如:
1.print(a, b,...):在命令行输出界面打印输入的参数(可以是各种类型的数据);
2.type(x):返回参数 x 的数据类型;
3.abs(x):返回参数 x(整数或者浮点数)的绝对值。
4.isinstance(x, c)x是参数名字,c是参数类型!如果正确返回布尔值true否则false
![图片[1]-python学习史—-程序的基本结构(二):操作符与函数-学霸博客](https://xueba520.top/wp-content/uploads/2023/02/d2b5ca33bd194723-1024x220.png)
非python,应用外部的模块
第二个例子是 Python 的平方根函数 math.sqrt(x),这个函数前面有个 math,这表示函数 sqrt(x) 不在 Python 的内置环境中,而是放在一个叫 math 的函数包(学名叫 模块 module)里
方法一:全局
1.首先引入需要的moduleimport xxxxx
2.调用包里面的函数(列如我需要调用math这个包里面的开根号的函数)math.sqrt(16)
方法二:从对应的模块里指明引入这一个函数,使用时就不用带上模块名了
from math import sqrtsqrt ()
小结:
我们可以看到 sqrt(x) 函数可以接受整数或者浮点数输入,返回值是浮点数。
定义函数
理解一下:在 Python 里函数的定义以关键字 def 开始,后面依次是函数名、小括号括起来的参数列表和一个冒号,之后的代码就是函数的算法定义,直到关键字 return 开始的 返回语句,这个返回语句会终止函数的运行,并把 return 后面的值作为函数的返回值,回到调用函数的地方。
![图片[2]-python学习史—-程序的基本结构(二):操作符与函数-学霸博客](https://xueba520.top/wp-content/uploads/2023/02/d2b5ca33bd200253.png)
- 首先用 3 和 4 作为参数来调用 f() 函数;
- 函数 f() 开始执行,把值 3 赋给参数变量 a,4 赋给 b,然后执行函数体;
- 函数体计算出返回值 5.0 并返回;
- 用返回值 5.0 替换掉 f() 的位置,相当于执行赋值 result = 5.0
- 用 5.0 作为参数值调用内置的 print() 函数,打印出 5.0(print() 没有返回值)。
熟练之后我们可以把后两行简化成一句 print(f(3, 4)),效果是完全一样的。
插播:代码缩进
所谓代码缩进就是一行代码不顶格写,而是在行首空若干格再写。缩进可以很多层,比如 Python 中第一层缩进空四格,第二层缩进空八格,第三层缩进空十二格,依此类推。程序员都喜欢用“等宽字体(fix-width font)”,就是因为等宽字体在缩进时非常整齐美观。
缩进是为了让代码层次更加鲜明地呈现出来。比如上面函数定义的代码,函数体的部分是“隶属于”函数定义 def 语句的,是它的组成部分,所以缩进一层表示这个从属关系;而后面的函数调用则不是,所以最后两行不缩进,和 def 语句平齐,代表是同一层级的代码。
在 Python 中缩进是强制的,如果不进行正确的缩进,比如如果函数体没有正确的缩进,解释器会因为找不到必须的部分而报错。
目前主流的程序编辑器都提供了自动缩进、自动排版的功能,在 VSCode 和 Jupyter Notebook 中书写代码时大部分时候都会自动正确的缩进,所以很方便。
对于初学者来说,知道有这么回事,然后多看,慢慢就会习惯成自然,和多听多看学语言是差不多的道理。
函数的意义
函数是编程中最重要的概念之一。实现它有助于我们实现程序的“模块化(modulization)”,我们可以把特定的工作用一个函数来实现,然后在需要的地方反复地调用它。这是一种代码重用的方法,一个函数就好像乐高积木里的一个组件,我们可以通过组合各种不同功能的函数来实现复杂的目标。
函数还是协作编程的基础。如果我们实现了一个很有用的函数,我们可以写一个文档说明函数的输入参数和返回值是什么,这样的文档叫做调用接口(interface),别人都可以照此使用我们写的函数,甚至不需要了解它是怎么实现的(比如我们就直接拿了 math.sqrt() 来用而不需要自己写一个)。函数天生就把自己的接口和实现分离开,让协作和复用成果更容易。
模块化 和 接口独立 是编程时最重要的两个思维模型(没有之一),我们在后面还会深入介绍。
- 我们可以通过声明函数名、函数参数列表以及计算函数返回值的算法来定义一个函数;在 Python 中通过 def 和 return 两个关键字来做这件事;
- 定义好的函数可以随时被调用,送入具体的参数值,得到函数返回值,返回值可以用于赋值也可以用作参数值来调用其他函数;
- 函数是编程中重要的概念,我们在第四部分还会深入讲解;
- 了解 Python 的缩进规则。
小彩蛋:初次定义函数
![图片[3]-python学习史—-程序的基本结构(二):操作符与函数-学霸博客](https://xueba520.top/wp-content/uploads/2023/02/d2b5ca33bd201742.png)








暂无评论内容