目录
注释
在python中单行注释使用#,多行注释在要注释的那段代码前后分别写上三个单引号,如图
字面量
首先来介绍一下字面量的概念,在python中,只要是能被写下来的固定值,都叫字面量,常见字面量包括
python中的字符串是可以包含中文的,比如"你好世界",这也是一个字符串。凡是被双引号包围起来的都是字符串,可以使用type函数来查看数据的类型,比如type(666)并借助print函数打印在屏幕上。可以看到print(type(666))这句代码的运行结果为
说明666是一个整数类型。当然也可以直接使用type函数查看变量中存储数据的类型,比如
运行结果为
注:在Python中,变量无类型,数据有类型,我们平常所说的字符串变量,意思是变量中存储的数据类型是字符串,平常所说的整数变量,意思是变量中存储的数据类型是整数。
数据类型转换
数据类型转换,将会是我们以后经常使用的功能。
如:从文件中读取的数字,默认是字符串,我们需要转换成数字类型,后续学习的input()语句,默认结果是字符串,若需要数字也需要转换,将数字转换成字符串用以写出到外部系统
常见的转换函数
注:1.这三个函数的返回结果都是转换完成之后的数据,可以使用变量把转换后的结果存储起来。
2.万物皆可转成字符串,因为一个数据加上双引号就是字符串了,但并非所有字符串都可以转换成别的类型,比如只有字符串里面是数字,才能转换成数字类型,如果字符串里面是中文字符,就无法转换成数字类型。
3.整数和浮点数之间可以相互转换,比如float(11)就把11这个整数转换成11.0,浮点数在转换成整数的时候会丢失精度,比如int(11.324)就把浮点数11.324转换成了11,小数部分被丢失。
标识符
在Python中我们可以给很多东西起名字,比如变量名,函数名,方法的名字,类的名字,这些名字就被叫做标识符。
标识符的命名规则有:
1.内容限定:命名中只能出现英文,数字,下划线,中文。注意python中的命名是可以有中文的,但是并不推荐,因为大多数人都是用英文作为标识符,且编译器对中文的标识符可能存在隐含的bug。 且数字不能出现在标识符的开头。
2.大小写敏感,习惯上在对变量命名的时候英文字母用小写的。
3.不可使用关键字,常见的关键字有
运算符
下面是一些常见的数学运算符
整除:11//2=5
指数:2**2=4,计算的是2的平方
还有赋值运算符,这与C语言中的赋值运算符差不多
在python中定义字符串可以用单引号或者双引号或者三引号括起来,其中三引号括起来的定义方式与多行注释的写法一致,如果不用变量把此时定义的字符串存起来,那么这种以三引号定义的字符串就是一个多行注释。
如果想要在字符串内包含双引号,可以使用单引号定义字符串
如果想要在字符串内包含单引号,可以使用双引号定义字符串
还可以使用转义字符\(一个向右的斜杠)来解除引号的效用
字符串拼接
字符串拼接有字面量之间的拼接,也可以字面量和编两句进行拼接,也可以两个变量进行拼接。拼接字符串借助的操作符是+,注意+只能拼接字符串,如果变量中存的是数字等其他类型就无法使用+进行拼接了。
因此使用+进行字符串的拼接还是比较low的,首先如果变量过多,就要写很多+,非常麻烦,齐次我们无法使用+完成字符串和其他类型的拼接。有没有其他方式使得我们能够既方便,又能完成对其他类型的拼接?当然有,这种方法就是字符串格式化。所谓的字符串格式化,就是使用一个%s的这样一个占位符为后面的变量留下一个位置,在运行过程中就会使用后面变量的内容来替代掉占位的部分。一个占位符只能给一个变量占位,当要给多个变量占位的时候,后面的变量要用小括号括起来,且按照占位顺序填入。使用占位符这种方式来进行字符串连接的时候,可以理解为要打印的东西就是引号里面的东西,只不过引号中的占位符要被后面变量的内容替换掉,同C语言中的printf函数不同,因为C语言中占位符和后面的变量连接使用的是逗号,python中使用的是%,比如
运行结果如图
这里占位符写成了%s表示要把后面的变量内容转换成字符串类型进行替换,常见的占位格式还有%d表示将内容转换成整数替换,%f表示将内容转换成浮点型放入对应位置。
这个代码运行结果为3.140000,这是因为我们没有对其进行精度的控制。
我们可以使用辅助符号"m.n"来控制数据的宽度和精度
m,控制宽度,要求是数字(很少使用),设置的宽度小于数字自身,不生效
.n,控制小数点精度,要求是数字,会进行小数的四舍五入,注意是四舍五入,不是直接舍去后面的小数。
示例:
%5d:表示将整数的宽度控制在5位,如数字11,被设置为5d,就会变成:[空格][空格][空格]11,用三个空格补足宽度。
%5.2f:表示将宽度控制为5,将小数点精度设置为2
小数点和小数部分也算入宽度计算。如,对11.345设置了%7.2f 后,结果是:[空格][空格]11.35。2个空格补足小数点左侧的宽度(包括小数点),小数部分限制2位精度后,四舍五入为 .35
%.2f:表示不限制宽度,只设置小数点精度为2,如11.345设置%.2f后,结果是11.35
代码
运行结果为3.14
字符串格式化的快速写法
格式:f"{变量}{变量}....."
方法是在引号所引内容前面加上一个f表示这段内容里面有占位符,然后直接在本来应该占位的位置直接使用大括号即可。
这种写法不做精度控制,也不理会类型,适用于快速格式化字符串。比如
运行结果为我来自3年级a班,我考了98.5分,其中f表示后面的内容中有占位符,大括号中的内容会被替换成对应变量的内容,不关心数据类型,也不关心精度,原本的变量是什么内容,就输出什么内容。这种写法适合对精度没有要求的时候对字符串进行快速格式化。
表达式的格式化
格式:f"{表达式}{表达式}"或者"%s%d%f"%(表达式,表达式,表达式)
只要是一条具有明确执行结果的代码语句,都可以被称为代码语句。比如一个数学运算表达式比如3*5,比如一个有返回值的函数如type("...")。如果不需要对表达式的结果进行存储,是可以直接格式化表达式的,比如
的运行结果为我考了91分
再比如
的运行结果为:公司名为一家公司,股票代码是123456,当前股价为19.9,7天后股价为71.30529791999997
也可以对股价做一些精度的限制
运行结果为
数据输入
在python中数据输入一般使用的是input函数,这个函数的功能就类似于C语言中的scanf,比如
实际上可以直接在input函数的内部写请输入一个数这句话,第一句print是多余的,如图
运行结果如图
input函数接收的是一个字符串类型的变量,因此要用%s来占位。对于数值型变量会直接报错,如图运行代码
结果为
这是因为input函数的返回值是一个字符串,也就是说此时的num中存放的数据类型是字符串类型,而我们前面是给一个整数类型的变量占位的,所以会报错
我们可以来测试一下这样一个代码
我们输入整数50,发现运行结果居然是字符串类型,也就是说在input眼中我们输入的所有内容都是字符串类型,input函数的返回值也是一个字符串类型。
如果我们需要别的类型,应该进行类型转换。
结果如图
注:1.input函数只能接受字符串类型的变量,同时他认为他接受的数据都是字符串类型的,其返回值也是字符串类型的
2.可以再input函数的括号中输入提示信息,无需单独使用print函数