我对python中docstrings和comments之间的区别感到有点困惑.
在我的课堂上,我的老师介绍了一种被称为"设计方法"的东西,这一系列步骤可以帮助我们学生在Python中更好地绘制和组织编码.根据我的理解,下面是我们遵循的步骤示例 - 这就是呼叫设计配方(引文中的内容):
def term_work_mark(a0_mark, a1_mark, a2_mark, ex_mark, midterm_mark):
''' (float, float, float, float, float) -> float
Takes your marks on a0_mark, a1_mark, a2_mark, ex_mark and midterm_mark,
calculates their respective weight contributions and sums these
contributions to deliver your overall term mark out of a maximum of 55 (This
is because the exam mark is not taken account of in this function)
>>>term_work_mark(5, 5, 5, 5, 5)
11.8
>>>term_work_mark(0, 0, 0, 0, 0)
0.0
'''
a0_component = contribution(a0_mark, a0_max_mark, …Run Code Online (Sandbox Code Playgroud) 是的,所以我正在完成一项家庭作业,我被要求做以下事情:
创建一个名为student data的函数,它接受四个参数,一个名称(字符串),年龄(一个整数),学号(一个字符串)以及它们是否在CSCA08中注册(一个布尔值),并返回一个包含该信息的字符串按以下格式:[学号,姓名,年龄,登记].
您的代码应该如下工作:
>>> student_data("Brian",32,"1234567",False)
`[1234567,Brian,32,False]'
>>> student_data("Nick",97,"0000001",True)
`[0000001,Nick,97,True]'
Run Code Online (Sandbox Code Playgroud)
我想出的是:
def student_data(name, age, student_number):
return '[' + student_number + ',' + name + ',' + str(age) + ']'
Run Code Online (Sandbox Code Playgroud)
并在将其输入Python时:
student_data("Jeremy", 19, "999923329")
'[999923329,Jeremy,19]'
Run Code Online (Sandbox Code Playgroud)
(注意我遗漏了关于布尔值的最后一点 - 我会在一秒钟内完成.)
根据我的理解,'Jeremy'和'999923329'是字符串,它们随后作为第二行中字符串的一部分返回.对于'age',因为当我调用函数student_data时没有引号,它被Python解释为int.然后,我将那个int值转换成一个字符串,所以我最终会得到'[999923329,Jeremy,19].
所以从技术上讲,我想我要问的是:参数'age'是否被python视为int,直到return函数将其更改为str类型?请注意,赋值需要四个参数,两个字符串(我有),一个int(我不知道它实际上是否被解释为int)和一个布尔值,它导致以下内容:
我真的不知道布尔人是如何工作的.具体来说,在作业的背景下,我应该做什么?一个例子是什么?我把我的代码摆弄了一下,我想出了这个:
def student_data(name, age, student_number, boolean):
return '[' + student_number + ',' + name + ',' + str(age) + "," + str(boolean) + ']'
Run Code Online (Sandbox Code Playgroud)
并在Python中输入:
student_data("Jeremy", 19, "999923329", True)
'[999923329,Jeremy,19,True]'
Run Code Online (Sandbox Code Playgroud)
这实际上完全遵循了作业要求我做的事情,但我不喜欢它,因为我真的不明白发生了什么.比如,'boolean'是函数student_data需要工作的参数.但究竟什么是参数?和变量一样吗?当我在python shell中输入'True'时,究竟发生了什么?
在为变量赋值时发生的事情是一样的吗?在那种情况下,当我为变量赋值时会发生什么?赋值是要求参数为布尔值,但我不相信我在代码中输入了布尔值,是吗?
是的,如果它已经不明显,我以前从未有过计算机科学课.