函数三部曲其一:函数的概念
本帖最后由 Ⅲ只小猪 于 2021-3-6 09:05 编辑我们在使用python的时候,经常需要用到一些命令,而这些命令有些是带有括号的,这就让人百思不得其解:为什么要带括号?为什么要这么麻烦?括号是用来干什么的?关于这些问题的回答,且听我娓娓道来……
就比如我们使用一个最简单的print命令,我们是这样使用的
发现没有?其实print命令就带有一个括号!其实,你直接输入print(),括号里面不写内容也是可以正确执行的!(注意看print打印的时候换行了,划重点,后面要考)
我们小甲鱼的课程中学习函数这一个知识时,在定义函数的时候,不也使用了括号吗?如下图:
而我们在调用函数时,同样书写了括号,就比如:
此我们可以推断出,print命令其实也是一个函数!!!没错,它不是什么魔法方法,就是一个函数!!!而print()中括号的作用就是用来告诉Python这是一个函数!什么?你不信?那我现在就来模仿一下print()函数!
虽然只是套了个壳。。。看到“输出的内容”这一形式参数,printf()会把里面的内容打印出来,那么print()括号中的内容应该也是它所接收的实际参数,因此,我们就能更好的理解print()括号里的内容是什么了,没错,是print这个函数所接收的参数!
注意看print打印的时候换行了,划重点,后面要考
接下来该回答之前的问题了,我们已经发现,使用print()函数后,屏幕上会多出一个空行。这是为什么?为此我们使用help函数:
注意看我用红框框出来的部分,end表示结尾,而我们都知道\n表示换行,那我们是不是可以故作玄虚,修改一下end的内容呢?
可以看到,第二个print中的内容没有换行,因为我们修改了end的默认值,并且把它改成了一个空字符串,所以没有换行。而end的默认值却是\n,所以第一个print才会换行。那我们就再改进一下我们的printf()函数吧!
经过我们的修改,我们可以传入换行这一参数,来实现类似于end的效果(虽然也只是套了个壳。。。)
接下来,让我们看看python中的函数为什么叫函数吧:只要你还记得初中时学习过的数学知识,应该可以看懂……
中学生时代,我们也学习过函数这一知识,难道它跟python中的函数有什么联系吗,为什么名字是一样的呢?别说,还真有联系!就拿最简单的一次函数来举个例子吧。
如函数:y = x + 5,假如x = 5, 那么y = 10,那我们试着定义一个类似于y = x + 5的python函数!
看见没,结果和数学中的y = x + 5一样,对于y = x + 5这个函数,我们可以理解为向python传入x这个值,然后python再执行y = x + 5这个命令,而python中,这个功能也确实是这样实现的!
至此,文章就已经结束了,希望对你有帮助。
果然是想象的有多高级,写出来就有多平平无奇啊{:10_266:}(好像押韵了{:10_250:}) 加油{:5_108:} 本帖最后由 Minecraft程序猿 于 2021-3-6 18:08 编辑
我之前实现过这个函数,但flush不知道是干什么的,
import sys
def printf(*values, sep = ' ', end = '\n', file = sys.stdout):
value = ''
for each in values:
value = value[:] + str(each) + sep
value = value[:] + end
if file == sys.stdout:
sys.stdout.write(value)
elif type(file) == str:
try:
with open(file, 'w') as f:
f.write(value)
except:
return -1
return 0 Minecraft程序猿 发表于 2021-3-6 10:07
我之前实现过这个函数,但flush不知道是干什么的,
很明显, 这函数会 SyntaxError 永恒的蓝色梦想 发表于 2021-3-6 10:46
很明显, 这函数会 SyntaxError
我改一下,看一下之前的帖
页:
[1]