赞
踩
动态类型指在程序运行过程中变量的类型可以发生改变。
a = 10
print(type(a))
a = 'hello'
print(type(a))
a = True
print(type(a))
运行结果如下,可以看到,给a赋值不同类型,a的类型也对应变化。
C/C++的变量是静态类型的,在程序运行过程中,如果给一个变量赋值不同类型的值,在编译过程就会报错。
可能有读者会认为C/C++是静态类型的原因是在定义变量时需显式声明变量的类型,但实际上并不能通过这个特点来区分静态类型和动态类型的。比如Python也可以声明变量的类型,但主要是为了增强代码的可读性。
a:int = 10
print(type(a))
a:str = 'hello'
print(type(a))
a:bool = True
print(type(a))
但即使这样声明类型,运行结果仍然和上面一样,并没有变化。
一个编程语言是否是动态类型,只取决于在运行时类型是否改变,而不取决于在变量定义时是否需要声明类型。
动态类型使用起来更方便、更灵活,但这也导致了它可能会出现许多问题,所以动态类型也是有利有弊的。
注释是代码中很重要的一部分,好的注释能极大地提高代码的可读性,方便自己和他人理解代码。注释中的内容可以为任意字符,且不会参与程序的运行。
Python中主要有两种类型的注释,一种是#后面的内容,一种是使用三引号引起来的内容。
#的用法类似于C/C++中的//,会将当前行其后的内容全部作为注释。
# 这是一句注释
b = 10
c = 10
a = b + c # 求b、c的和,赋值给a
首先三引号对应的"""或’''都可以,在这里是等价的。
使用"""或’''引起来的内容通常成为“文档字符串”,可以看做一种注释。
“”"或’''可以包含多行内容,一般放在文件、函数或类的开头。
'''
这是一段文档字符串,作用和注释基本相同
下面是一个求和运算
'''
# 这是一句注释
b = 10
c = 10
a = b + c # 求b、c的和,赋值给a
'''
程序与用户之间的输入输出主要是通过控制台来实现的。
PyCharm代码下方就是个控制台,用户在这里输入,程序运行后的输出也会在这里显示。
但事实上控制台是人机交互的最基础方式,但它在日常生活中并不太常用,因为它的门槛会更高一些,生活中常见的是图形化界面,使用起来更加简单明了。
格式化输出字符串常用f-string的格式,用这种方式就可以向字符串内嵌入变量或表达式,详见下面的代码。
a = 10
print(f"a = {a}") # f"...{...}" 字符串内可以用{}来嵌入变量或表达式
print(f"a = {a+10}")
关于格式化打印字符串,许多编程语言都进行了探索。C语言用printf加上%d、%s等占位符来打印,C++用std::cout和<<来打印,Java用字符串拼接来打印,Python随着更新开始支持f-string,让打印字符串越来越方便、规范。
通过input函数来向控制台输入数据,在input执行时会等待用户输入,这个等待的时间可能非常长,但直到输入才会停止等待。
num = input("输入一个数字: ")
print(f"输入的数字是{num}")
print(type(num))
通过input函数输入3.14,赋值给num,然后再将num的值打印出来。
需要注意的是,通过type函数查看num的类型时发现它是字符串类型的,所以如果只是打印结果,那么它的类型是浮点、整型、还是字符串都无所谓,但如果要继续用它来运算,就需要注意它是字符串类型,不可以直接进行运算。
下面举个例子来说明上面的问题
a_str = input("输入数字a: ") # 字符串类型
b_str = input("输入数字b: ") # 字符串类型
print(f"a + b = {a_str+b_str}") # 字符串拼接
print(type(a_str))
print(type(b_str))
a_num = int(a_str) # 通过int()将字符串类型转换为整型
b_num = int(b_str) # 通过int()将字符串类型转换为整型
print(f"a + b = {a_num+b_num}") # 加法运算
print(type(a_str))
print(type(b_str))
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。