我需要一些帮助来定义某些术语。我已经编写了几个月的程序(python和JavaScript),但是在理解一些编程术语时仍然有些困难
这就是我现在的工作:
from datetime import datetime
now = datetime.now()
month1 = now.month
year1 = now.year
day1 = now.day
print "%s/%s/%s" % (month1, year1, day1)
它非常直截了当,易于执行和理解,但我不知道什么是类、函数和方法。每次我用谷歌搜索一个答案,通常都是一些大的定义,用了更多我不懂的编程词。我需要一些基本的定义和更好的一些例子。我不喜欢问这种问题,任何帮助都将不胜感激。谢谢。在
函数是一种可以执行某些操作和/或返回结果的东西,这取决于调用函数时使用的参数。在
如何制作和使用函数:
你问过一个类,但我先解释一个对象。在
一个对象包含一些数据并且可以做一些事情。它可以做的是函数,与对象相关联的函数特别称为方法。除了参数之外,方法的行为可以,而且通常依赖于对象的数据,并且可以更新数据。在某些编程语言中,不能直接访问对象中的数据,也不能直接访问其中的一些数据,而不能直接访问所有对象中的数据;您只能要求对象执行它所做的事情,并且它可能提供也可能不提供设置其数据值的功能之一。然而,在Python中,您可以直接访问数据,但是有些人仍然认为不这样做是很好的做法。在
类是一组对象,它们具有相同类型的数据和相同的一组对象。它还提供了创建该类的新对象的起点。在
如何使用方法生成类:
^{pr2}$如何创建类的对象:
如何调用对象的方法:
如果您定义自己的类、实例、方法和函数,那么您可能更容易理解所有内容。在
所以:
Car
是一个类。类定义一个新类型。就像int
定义整数,str
定义字符串一样,Car
定义了一种新的东西,你可以drive
(并对其执行其他操作)。在每次创建
Car
类的新实例时,它都是一个对象。例如,new_car
是Car
的实例。也就是说,这是一个你可以drive
(以及做其他事情)的事情。在Car.drive
是Car
类的一个方法。这意味着new_car.drive
是new_car
实例的一个方法。注意drive
定义中的self
参数。当您调用new_car.set_odometer(100)
时,self
参数引用new_car
。在joyride
是一个函数。它不是任何类的一部分,并且它没有self
参数。这是方法和函数之间唯一的区别。在(实际上,在Python中,方法只是将函数和实例放在一起的一种方式。例如,
new_car.drive.im_self
是new_car
。但别担心。)请注意,
joyride
内部,stolen_car
是您在本例中传递的同一个对象,new_car
。所以,你可以调用stolen_car.drive()
,它在驱动new_car
。在在实际代码中,您通常不必费心使用
^{pr2}$set_odometer
和get_odometer
等方法,因为您可以像访问方法一样轻松地访问数据属性,也就是成员,比如miles
:但是,您经常在一个特殊的
__init__
方法中为属性设置初始值。例如:那么,这如何适用于你的例子呢?在
你的例子有点让人困惑。你根本不调用任何普通的实例方法。但让我们一步一步来。在
datetime
是一个类。你怎么知道的?好吧,您可以查看datetime
模块中的代码,但更简单的是,只需打印它:松散地说,a
type
和class
是一回事。(实际上,type
可以用定制的C代码编写,而不是使用class
等等,所以这并不完全正确,但已经足够接近了。)datetime.now
是一种称为classmethod
的特殊类型的东西。普通方法只能在实例上调用,但类方法只能在类上调用。暂时不要担心这个。重要的是它返回的是一个对象,一个datetime
类型的实例。同样,您可以通过打印出它的type
进行测试:然后访问对象的一些数据属性:
这些属性是通过
now
方法设置的,这与普通类在其__init__
方法中设置属性的方式大致相同。在这是一个函数,它返回比输入数字多1个的值。在
所以在以后的代码中你会这样称呼它
^{pr2}$然后当您想:
print anotherVariable
时,它将打印6
类是相似的,但更广泛和更具包容性
这只是定义了一个名为“thisIsaClass”的对象。。。。创建对象。。。。在
如果这让人困惑,那么看待一个类的最好方法就是将它与人联系起来。在
__init__
是一个方法,因为它是类中的一个定义。(老实说,我不知道为什么叫这个。。。如果我们要在init-like下面定义另一个函数(但是它在一个类中,所以它是一个方法lol)每次我们想给贝丝过生日,我们都会打字
相关问题 更多 >
编程相关推荐