Gui*_*eba 14 c python variables
我是一名编程学生,我的老师从C开始教我们编程范例,他说我可以在python中完成我的作业(这对于作业来说更容易,更快).我希望我的代码能够像普通的C一样尽可能接近.问题是如何在python中为变量声明数据类型,就像在C中一样:
int X,Y,Z;
Run Code Online (Sandbox Code Playgroud)
我知道我可以在python中做到这一点
x = 0
y = 0
z = 0
Run Code Online (Sandbox Code Playgroud)
但这似乎是很多工作,它错过了python比C更容易/更快的点.所以,最简单的方法是什么?PS我知道你不必在大多数时间在python中声明数据类型,但我仍然想这样做,所以我的代码看起来像同学一样可能.
小智 33
从Python 3.6开始,您可以声明变量和函数的类型,如下所示:
explicit_number: type
Run Code Online (Sandbox Code Playgroud)
或功能
def function(explicit_number: type) -> type:
pass
Run Code Online (Sandbox Code Playgroud)
本文中的示例:如何在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}!")
Run Code Online (Sandbox Code Playgroud)
Ign*_*ams 23
没有办法在Python中声明变量,因为C语义中的"声明"和"变量"都不存在.这会将三个名称绑定到同一个对象:
x = y = z = 0
Run Code Online (Sandbox Code Playgroud)
Python不一定比C更容易/更快,尽管它可能更简单;)
为了澄清您所做的另一个陈述,"您不必声明数据类型" - 应该重申您不能声明数据类型.为变量赋值时,值的类型将成为变量的类型.这是一个微妙的差异,但仍然不同.
我很惊讶没有人指出您实际上可以做到这一点:
decimalTwenty = float(20)
Run Code Online (Sandbox Code Playgroud)
在很多情况下,键入变量是没有意义的,因为可以随时重新键入它。但是,在上面的示例中,它可能很有用。还有其他类型的功能是这样,例如:int(),long(),float()和complex()