1,输入输出
(1)输出函数print()
要清楚的是print是个函数,所以必须要有括号,python2里面是没有的。括号里面就是要输出的内容,一般字符串等需要加引号,单引号和双引号都可以,但是不能交叉使用。通过下面的实验,大家大概清楚了:如果想在输出字符串必须使用引号,如果没有引号,数值是可以输出的,也可以计算,但是不管怎样,括号是必须的。
注意下面:一个逗号是一个分隔符。
(2)输入函数input()
input函数要求用户输入一个字符串,保存到一个变量中。注意这个字符串不需要加引号。
这里提到了变量,那就先解释一下:
变量:在python中,变量就是存放数据的地方。变量组成:大小写字母,数字,下划线。但是不能以数字开头。
从上面对input的介绍,可以看出age是字符串类型的,因为input要求的是用户输入一个字符串,而不是数值。因此上面的25其实是个字符串“25”,而非数值25.我们在输入25之后回车什么都没显示,出现了命令提示符>>>;这是由于你输入的25已经保存在变量age之中,要想看到age之中的内容,从上面的图片可以看出有两种方法。但是在界面上显示不一样,这其中的原因要搞清楚。
这里我们都是使用的交互模式,输入一行执行一行,但是实际工作中我们都是用一个文件写好多代码,一次执行,不让用户参与交互,这种情况下,你只写个age是不会打印其中的值的,需要用输出函数print才可以。在交互模式下,比如上图,可以学习简单的知识,但是以后代码很多,就需要慢慢熟练使用其他文本来编辑。
这里举个例子。
你用编辑器(推荐使用sublime)编写代码,文件后缀名要以.py结尾。如下图
这里的文件名为aa.py。在d盘下,怎么执行呢?
代码里面有两个age,但是只打印出一个的值。你在代码中直接写变量是不会得到其中的值的,这和交互式下是不一样的。
还要注意一点,在上面的交互模式下,print(age)输出:25,而age回车后输出:“25”。从这可以看出如果是字符串,print会输出其本身,而没有引号,但是另外一种情况会输出引号,让你更清楚age到底是什么。从下面的这张图更可以清楚地看出:
这张图上给num赋值为2,这里不是字符串2,而是数值2。一定要清楚input输入的是字符串。
假如想输入数字而非字符串该怎么办呢?有个函数int(),他的功能是把字符串形式的数值转换为真正的数字,比如把“25”转换为25。
上面这张图的前部分把input得到的字符串进行转为数值型的,因此可以计算;后部分没有使用int函数,导致出错。TypeError: unsupported operand type(s) for +: ‘int‘ and ‘str‘这句话就是说不支持整型的和字符串类型的相加。
上面的图更加深入的解释了函数int的作用,不过有个地方需要注意:
(1)如果字符串中含有数字以外其他字符,int函数是不能将这样的字符串转化为数值类型的。
(2)还有一点就是int(str1)这里如果不把转换的结果保存在其他的变量中的话,执行过这条语句后str1依旧是字符串,而没有变为数值。
2,数据类型
在python中,能够直接处理的数据类型有以下几种:整型、浮点型、字符串、布尔值、空类型。
(1)整型:python可以处理任意大小的整数,和数学上的一样,你可以写:-200,0,120000等等。
这里介绍一下,其实安装好python之后,我们就得到了一个解释器,专门解释python代码,当出现>>>就表示其后面的程序会被解释器解释。解释器就像一个计算器,输入数学运算即可得到结果。
这里有几点需要注意:
a)除法(/
)永远返回一个浮点数。
b)和其他语言不同,4/7返回的不是0。
c)要计算余数你可以使用(%)。
d)使用
**
运算符计算幂乘方。
e)整数运算永远是精确的
(2)浮点型:就是浮点数了,也叫小数,你看3.14可以写为:0.000314*104,小数点是不是在浮动?
表示:3.14,0.02,但是太大的或者极小的小数可以用科学技计数法:把10用e替代,1.23x109就是
1.23e9。
从上面的计算可以看出:
a)浮点数运算则可能会有四舍五入的误差。
b)整数和浮点数的混合计算中,整数会被转换为浮点数。
(3)字符串:用双引号或者单引号括起来的就是字符串,但该字符串不包括引号本身。类如:”abs”, ’aaaa’。
这里有个问题,那么引号本身怎么表示?这就引出了很多语言里面都有的转义字符,用 / 表示。
摘自网上
在交互式解释器中,输出的字符串会用引号引起来,特殊字符会用反斜杠转义。虽然可能和输入看上去不太一样,但是两个字符串是相等的。如果字符串中只有单引号而没有双引号,就用双引号引用,否则用单引号引用。print() 函数生成可读性更好的输出, 它会省去引号并且打印出转义后的特殊字符.
如果有许多个引号,每个都要转义不方便,那么还有一种简洁的方法:是在第一个引号前面加上一个 r
字符串文本能够分成多行。一种方法是使用三引号:"""..."""
或者 ‘‘‘...‘‘‘
。行尾换行符会被自动包含到字符串中,但是可以在行尾加上 \
来避免这个行为。下面的示例:可以使用反斜杠为行结尾的连续字符串,它表示下一行在逻辑上是本行的后续内容,将生成以下输出(注意,没有开始的第一行):
字符串可以由 +
操作符连接(粘到一起),可以由 *
表示重复;
相邻的两个字符串文本自动连接在一起,它只用于两个字符串文本,不能用于字符串表达式,这个功能在你想切分很长的字符串的时候特别有用;
如果你想连接多个变量或者连接一个变量和一个字符串文本,使用 + ;内置函数 len() 返回字符串长度:
(4)布尔值:False,True。一个布尔值只有True
、False
两种值,要么是True
,要么是False
,在Python中,可以直接用True
、False
表示布尔值(请注意大小写),也可以通过布尔运算计算出来:
and、or、not:与、或、非
and:双目运算符,只有同时为真结果才为真
or:双目运算符,只有同时为假结果才为假
not:单目运算符,结果相反
以上运算符还可以混合使用。
(5)空值:空值是Python里一个特殊的值,用None
表示。None
不能理解为0
,因为0
是有意义的,而None
是一个特殊的空值。
大部分内容学习网上资料,
主要是:http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000