一.Python动态类型
1.动态类型
程序运行过程中,变量的类型可能会发生改变.
如:变量a的类型随着程序的运行,由整形变为了字符串又变为了浮点型,发生了改变
Python作为一个动态类型的语言,在定义变量的时候,也是可以声明类型的:
在Python中,声明变量类型的方式是在变量名后面加上 : 类型名
变量名:类型名=内容
如:
运行结果为:
在Python中,变量的类型是否提前声明都是被允许的,程序员可以根据自身习惯来编写程序.
2.静态类型
与动态类型相对应的是静态类型,指:
程序运行过程中,变量的类型始终不变.
静态类型在C/C++,Java,等语言中被使用.
3.动态类型与静态类型的优缺点
一个编程语言,是否为动态类型,只是取决于运行时,类型是否发生改变.不取决于变量定义时是否声明类型!
动态类型的优点: 比较灵活,产品成型速度快. 缺点: 容易出错,对多人大型协作开发不友好.
静态类型的优点: 不容易出错,适合多人大型协作开发. 缺点: 产品成型速度慢,需要投入大量人力物力.
二.关于注释
注释有助于帮助我们提高代码可读性,便于我们后续对代码的维护及修改.
Python中为我们提供了两种风格的注释:行注释和段注释(文档字符串).
快捷注释键:Ctrl+/
1.行注释
#开头的注释称为行注释.
如:
#这是一个行注释
行注释一般独占一行,偶尔也会写在代码的右侧,如:
a=10 #这是一个行注释
但行注释不能写在代码左侧,因为行注释会将它左侧的代码全部注释掉,如:
#这是一个行注释 a=10
2.段注释(文档字符串)
使用三引号引起来的称为"文档字符串",也可以视为是一种注释. 这种注释的特点有:
- 可以包含多行内容
- 一般在文件/函数/类的开头
- """或者'''均可(两种是等价的)
如:
"""
这是文档字符串
这是文档字符串
这是文档字符串
"""
3.注释的规范
- 内容准确:注释内容要和代码一致,匹配.并在代码修改时及时更新.
- 篇幅合理:注释既不应该太精简,也不应该长篇大论.
- 使用中文:一般中国公司都要求使用中文写注释,外企另当别论.
- 积极向上:注释中不要"夹带私货".
三.输入与输出
1.和用户交互
程序需要和用户进行交互.
- 用户把信息传递给程序的过程,称为"输入".
- 程序把结果展示给用户的过程,称为"输出".
输入输出的最基本的方法就是控制台.
用户通过控制台输入一些字符串,程序再通过控制台打印出一些字符串.
我们常用的计算机人机交互控制台有下面几种:
C语言:
windows:
2.通过控制台输出
Python使用print()函数输出到控制台.
print('Hello world!')
print进阶打印:
1.字符串连接
可以把几个字符串用加号连接成一个更长的字符串打印出来.
print("字符串1"+"字符串2"+"字符串3"+"字符串4")
如:
print('Hello'+' '+'world'+'!')
运行结果如下:
2.单双引号转义
如果字符串里本身包含单/双引号,就使用双/单引号来表示这个字符串.
在字符串本身包含单/双引号的情况下,使用两种同样的引号,会导致编译器报错,如:
这时我们就应该使用另一种引号来保证这两对引号的相互配对是正确的,如:
因为字符串中本身包含双引号,因此我们用单引号来表示字符串,可以看到程序是可以成功运行的:
或者反过来:
同样可以成功运行:
还有一种特殊情况,即我们要表示的字符串中本身既有单引号又有双引号时, 我们可以使用三引号(单/双三引号均可)来表示这个字符串.如:
输出结果为:
或者:
输出结果为:
除了使用三引号这种方法外,我们还可以使用转义字符,即 \ 来表示后面这个引号仅作为字符串内容,而不参与前面的配对,如:
通过转义字符\+"将双引号转义后,得到的打印结果为:
3.换行
Python中一句代码不能随便换行,因为Python是读一行执行一行,读到行末发现不符合语法规则就会给程序员报错.
像下面这种代码放进Python中就会报错:
而当我们想要将Hi!打印到下一行时,可以使用转义字符\n来完成换行操作,如:
输出结果:
也可以 写两个print语句,因为每个print语句都默认另起一行,如:
输出结果:
注意,是每个print语句都会另起一行,而与代码编写时print语句是否换行无关.
如将两个print语句写在一行,输出时第二个字符串还是会输出到下一行:
4.三引号跨行字符串
用三个连在一起的单引号或双引号包裹住文字,Python就会把新的一行当成内容的换行,而不是代码语句的结束.
使用这种方法对打印跨行多的内容是非常方便的,如:
Python格式化字符串:
当我们希望将字符串和变量内容混在一起打印时,就想要用到格式化字符串(f-string),如:
我们创建了一个变量score,令其等于85:
score=85
然后我们想打印:你的成绩为xx分
而xx代表score中存储的数字,这时我们就需要用到格式化字符串:
print(f"固定字符串内容{变量名/表达式}固定字符串内容")
如:
运行结果:
其他语言对格式化打印字符串的探索:
3.通过控制台输入
input()函数:
我们常使用input()函数来从键盘输入一些信息给计算机:
input("这里是给用户的一些提示信息:")
接着input()函数就会开始等待用户输入内容,直到用户输入完毕(即敲下回车)后,input()函数就会将这部分内容返回.
这时我们就可以拿一个变量来接收返回的内容以便我们后续的操作,如:
score=input("请输入您的成绩:")
但需要注意的是,input一律返回的是字符串,即使你输入的是数字,它也会当成字符串来看待:
可以看到,变量score的类型是字符串str:
如果我们需要根据用户输入的内容进行计算,那么就需要用int()函数先把读到的字符串转换成整形,然后才能进行计算:
变量名=int(变量名)
如:
运行结果为:
类比可得类型转换的方法:
- 转换成字符串: str()
- 转换成整形: int()
- 转换成浮点型: float()
今日感悟:兼听则明,偏信则暗.