优秀的编程知识分享平台

网站首页 > 技术文章 正文

python3进阶:一,函数(python函数yield)

nanyue 2024-10-01 13:08:00 技术文章 9 ℃

恭喜!经过一周的学习,我们终于从基础到进阶了,我的教程文章主要按照如下发展

今天是进阶的第一节,也很简单哦

函数,什么是函数?我们在前基础的时候接触了很多python3内置的函数比如:print(),len()等等它们都有一个特点就是给定指定的参数返回相应的结果。这个就是人们常说的造汽车不要去重复造轮子,你不用去关心函数内部如何计算,知道函数返回你想要的结果即可。今天我们就来深入学习函数吧。

一、函数的调用

前几次教程我们已经调用了一些函数,比如print(),len()等等,这节我们将仔细研究以下函数调用

首先我们先学会使用python3中的help()函数,我们在控制台上面输入help(内置函数)就能得到这个函数的用法和说明

比方说我们输入help(print)

Help on built-in function print in module builtins:

print(...)

print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

Prints the values to a stream, or to sys.stdout by default.

Optional keyword arguments:

file: a file-like object (stream); defaults to the current sys.stdout.

sep: string inserted between values, default a space.

end: string appended after the last value, default a newline.

flush: whether to forcibly flush the stream.

会出现以上的英文解释,print(...)主要是说明函数的形式

print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

解释print()多个参数的用法,value是值的意思

sep=' '多参数见输出默认空额的意思

print('hello','world')
print('hello','world',sep='|')
hello|world

end='\n'默认换行的意思

print('hello')
print('world')
hello
world
这个值同样可以修改我们改为空格:

print('hello',end=' ')
print('world')
hello world

file=sys.stdout默认输出到 系统的标准输出

with open(r'd:\test.txt', 'w') as txt:

最后一个值是flush=False默认缓存默认不立即返回输出。这各参数主要是用于文件及网络的及时输出,我们一般要往文件中用print()函数写数据时基本都要用到缓存,这个参数就是等文件句柄结束后再写入的意思。

调用函数的时候我们有时候会给错参数造成错误,比如print(90,ook)其中ook我们并没有定义他是否是一个变量,因此我们要么提前定义呢要没给ook加上引号作为字符串输出。python3给出的错误提示为:

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

NameError: name 'ook' is not defined

意识是程序执行碰到了错误,在控制台程序,第一行的文件模块中,错误名称为:ook没有定义

有的函数是只能传入数字,有的函数是只能传入字符串,如果我们没有弄清函数的需求就会造成函数参数类型错误

比如abs()函数我们先help(abs)看看这个函数的定义

Help on built-in function abs in module builtins:

abs(x, /)

Return the absolute value of the argument.

abs(x,/)意思是仅有一个数字参数

后面的说明是返回给定参数的绝对值

那么我们先abs("a")来看看

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

TypeError: bad operand type for abs(): 'str'

给出的错误名称是,错误的参数类型 'str'

如果我们输入两个参数呢:abs(-90,90)

TypeError: abs() takes exactly one argument (2 given)

给出的错误名称为abs()只能有一个参数,但是你给了两个

正确的调用方法abs(-2)它将返回2

还有很多python3内置的函数你可以查看它的官方网站

2、函数的定义

定义一个函数先用def开头,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。举个例子:计算给出值的立方

def lifang(x):

return x*x*x

我们定义了一个函数lifang,他的作用是给出一个数,返回这个数的立方

我们可以看到我们建立的函数和python3自带的函数并无不同

函数中还允许空函数,也就是函数什么也不干,也没返回值

def kong():

pass

只需要在函数体中用上pass语句

少了pass就会出现错误

如果函数中没有写return语句也是可以的,只是函数计算完了之后都放在函数的内存里外界程序无法调用。

同样我们可以编写两个参数的函数

def zuobiao(x,y):

if x > 0:

x = x*y

y = y*10

return x,y

zuobiao(2,9)

(18, 90)

虽然看起来像是两个值,但是请大家注意这是用圆括号括起来的两个值,他是一个元组其实在python中算是一个元素。

当我们造完一个函数后我们想在其他的文件中也引用这个函数在python3中是非常简单的,首先我们先把这个文件存成.py文件,然后我们再显得稳健中用from 文件.py import 函数的方式引用

比方说我们把zuobiao()函数保存hanshu.py中

我们再生成一个文件叫diaoyong.py

运行结果为

今天的函数就是这些,大家学会了么?有什么不明白可以留言哦,明天继续!

最近发表
标签列表