我是一名编程学生,我的老师从C开始教我们编程范例,他说如果我在python中提供我的作业是可以的(这对于作业来说更容易,更快)。我希望我的代码能够像普通的C一样尽可能接近。 问题是 我如何在python中为变量声明数据类型,就像在C. ex:
中那样int X,Y,Z;
我知道我可以在python中做到这一点
x = 0
y = 0
z = 0
但这似乎有很多工作,它错过了python比C更容易/更快的观点。 那么,最简单的方式是做什么的? 附:我知道你大部分时间都没有必须在python中声明数据类型,但我仍然希望这样做,所以我的代码看起来像同学一样可能。
答案 0 :(得分:24)
没有办法在Python中声明变量,因为C语义中的“声明”和“变量”都不存在。这将绑定三个名称到同一个对象:
x = y = z = 0
答案 1 :(得分:9)
从python 3.6开始,您可以声明变量和函数的类型,如下所示:
explicite_number: type
或功能
def function(explicite_number: type) -> type
此示例中的示例:How to Use Static Type Checking in Python 3.6更明确
from typing import Dict
def get_first_name(full_name: str) -> str:
return full_name.split(" ")[0]
fallback_name: Dict[str, str] = {
"first_name": "UserFirstName",
"last_name": "UserLastName"
}
raw_name: str = input("Please enter your name: ")
first_name: str = get_first_name(raw_name)
# If the user didn't type anything in, use the fallback name
if not first_name:
first_name = get_first_name(fallback_name)
print(f"Hi, {first_name}!")
您可以在官方文档中找到有关键入python的所有信息: typing — Support for type hints
答案 2 :(得分:6)
Python不一定比C更容易/更快,尽管可能它更简单;)
为了澄清您所做的另一个陈述,“您不必声明数据类型” - 应该重申您不能声明数据类型。为变量赋值时,值的类型将成为变量的类型。这是一个微妙的差异,但仍然不同。
答案 3 :(得分:6)
我很惊讶没有人指出你实际上可以做到这一点:
decimalTwenty = float(20)
在很多情况下输入变量是没有意义的,因为它可以随时重新输入。但是在上面的例子中它可能是有用的。还有其他类型的函数,例如:int()
,long()
,float()
和complex()
答案 4 :(得分:3)
Python中的所有东西都是一个对象,它包括类,类实例,函数中的代码,称为模块的函数库,以及整数,浮点数,字符串或容器(如列表和字典)之类的数据值。它甚至包括名称空间,这些名称空间是类字典(或映射)容器,用于跟踪标识符名称(字符串对象)和当前存在的对象之间的关联。如果两个或多个标识符与同一对象关联,则对象甚至可以具有多个名称。
将标识符与对象相关联称为“将名称绑定到对象”。这与Python中的变量声明最接近。名称可以在不同的时间与不同的对象相关联,因此声明要将其附加到哪种类型的数据是没有意义的 - 您只需执行此操作即可。通常它是在一行或一段代码中完成的,它指定了对象值的名称和定义,导致它被创建,如<variable> = 0
或以def <funcname>
开头的函数。
这有多大帮助。
答案 5 :(得分:3)
简单地说:在python中键入仅对提示有用。
x: int
y: int
z: int
答案 6 :(得分:2)
但强类型和变量定义实际上可以使开发更容易。如果你没有事先考虑过这些事情,那么你就不是设计和开发代码而是仅仅是黑客攻击。
松散类型只是将复杂性从“设计/黑客”时间转移到运行时间。