Python从0开始--学习旅程2
学习内容及总结
一、常量
常量,顾名思义即为不变的量,可以是字符型常量和数值型常量,下面看看在Python中如何表达这两类常量:
字符型常量必须以单引号、双引号或三重引号引起来的对象,例如:
In [1]: 'Hello Python'
Out[1]: 'Hello Python'
In [2]: "Today is Friday"
Out[2]: 'Today is Friday'
In [4]: '''Today the weather is bad in Shanghai'''
Out[4]: 'Today the weather is bad in Shanghai'
有时单引号与双引号会交互的使用,而且这些情况下必须交互使用:
In [5]: "I'm LiuShunxiang, what's your name"
Out[5]: "I'm LiuShunxiang, what's your name"
字符串内含有单引号作为字符串的内容,这时最外层就需要使用双引号
In [7]: 'He says "there is no money in my package"'
Out[7]: 'He says "there is no money in my package"'
字符串内含有双引号作为字符串的内容,这时最外层就需要使用单引号
其实在比较复杂或混乱的字符串情况下,三重引号可以完美的解决这些问题:
In [12]: s = '''I'm LiuShunxiang, what's your name
...: He says "there is no money in my package"
...: '''
In [13]: print s
I'm LiuShunxiang, what's your name
He says "there is no money in my package"
而且三重引号可以输出多行结果,还可以在自定义函数体内当作注释语言:
In [14]: def fun1():
...: '''Start with my first Python programming,
...: How to print 'Hello Python'
...: '''
...: print 'Hello Python'
...:
In [15]: fun1()
Hello Python
数值型常量
Python中有4类数值型数据
1)整数
In [16]: int(12)
Out[16]: 12
2)长整形
In [17]: long(12)
Out[17]: 12L
3)浮点型
In [18]: float(12)
Out[18]: 12.0
In [19]: 1.23e2
Out[19]: 123.0
4)复数
In [20]: complex(12)
Out[20]: (12+0j)
二、变量
相对于不变的常量而言,变量在任何语言中使用都是最频繁的,如下是关于变量名的命名规则:
1)变量名的第一个字符必须是字母或下划线
2)除变量名的第一个字符外,其余字符可以是数字、字母或下划线
3)Python对大小写是敏感的,即name变量与Name变量是不同的
4)变量名不可以是Python内置关键字,如min、max、range等
三、类型转换
字符型数据和数值型数据之间是可以强制转换的,具体例子如下:
#字符串转型浮点型
In [21]: float('123.456')
Out[21]: 123.456
#字符串型转整型(显然这样的方式不允许)
In [22]: int('123.456')
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-22-13f36f756ac5> in <module>()
----> 1 int('123.456')
ValueError: invalid literal for int() with base 10: '123.456'
#字符串型转整型
In [23]: int('123')
Out[23]: 123
#浮点型转字符串型
In [24]: str(123.456)
Out[24]: '123.456'
#浮点型转整型
In [25]: int(123.456)
Out[25]: 123
#整型转浮点型
In [26]: float(123)
Out[26]: 123.0
#所有非数值的字符串都无法进行数值型转换
In [27]: float('123.456a')
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-27-9645c48fa8c1> in <module>()
----> 1 float('123.456a')
ValueError: invalid literal for float(): 123.456a
四、运算符
算术运算符
+ 实现加法运算 a+b
- 实现减法运算 a-b
* 实现乘法运算 a*b
** 实现幂次方运算 a**b
/ 实现除法运算 a/b
% 实现取余运算 11%4-->3
// 实现整除运算 25//6-->4
在这里需要提醒的是,Python默认情况下,整数除以整数的返回结果任然为整数,如:
In [38]: 1/2
Out[38]: 0
In [39]: 3/2
Out[39]: 1
In [40]: 10/4
Out[40]: 2
而这些结果并不是我们所希望的,我从参考资料中发现一个好办法,即在编辑器中输入:from __future__ import division,就可以在当前会话中一劳永逸。
In [41]: from __future__ import division
In [42]: 1/2
Out[42]: 0.5
In [43]: 3/2
Out[43]: 1.5
In [44]: 10/4
Out[44]: 2.5
关系运算符
>
>=
<
<=
==
!=
布尔运算符
True 非0即真
False
逻辑运算符
and 前后同时为真时,返回结果即为真
or 前后有一个为真使,返回结果即为真
not 非真即假,非假即真
五、各运算符的优先级
or
and
not
关系运算符(>、>=、<、<=、==和!=)
+、- 加减号
*、/、% 乘除和取余
+x、-x 正负号
**
六、下期预告
Python控制流和自定义函数