第一章 基础知识
1.数字和表达式
>>>2+2
4
>>>1/2
0 #python默认是整除,会舍弃小数点之后的部分
>>>1.0/2.0
0.5
>>>1/2.
0.5
#如果希望python执行普通的除法就在程序前加上下列语句,或者直接在解释器里面执行
>>>from_future_import division
#或者通过命令行运行python,使用命令开关-Qnew
>>>1/2
0.5
>>>1//2
0
>>>1.0/2.0
0.0
>>>10%3
1
>>>2**3
8
>>>-3**2
-9 #相当于-(3**2),因为幂运算符比取反的优先级要高
1.2长整数
python可以处理非常大的整数
>>>100000000000000000000
100000000000000000000L #普通整数不能大于2147483647,更大则要使用长整数,长整数可以和普通整数混合使用
1.3十六进制和八进制
十六进制和八进制首位都是零
>>>0xAF
175
>>>010
8
2.变量
>>>x=3
>>>x*2
6
3.语句
>>>print 2*2
4
4.获取用户输入
>>>input("The meaning of life:")
The meaning of life: 42
42
>>>x = input("x:")
x: 34
>>>y = input("y:")
y: 42
>>>print x+y
76
5.函数
>>>pow(2,3) # 相当于2**3,python自带的内建函数
8
>>>abs(-10) #求绝对值
10
>>>round(1.0/2.0) #把浮点值四舍五入为整数
1.0
但是有些例如像floor这样的函数不能直接使用,需要引入其属于的模块
6.模块
我们可以把模块想象成导入到python中以增加其功能的扩展,使用import来引入,然后使用“模块.函数”这样的格式来调用函数。
>>>import math
>>>math.floor(32.9)
32.0
>>>from math import sqrt
>>>sqrt(9) #可以直接使用函数,不需要用模块名作为前缀
3.0
6.1 cmath和复数
>>>import cmath
>>>cmath.sqrt(-1) #如果使用from...import...的格式,普通的sqrt函数就不能使用了,所以一般使用import格式
1j
7.保存并执行程序
7.1 IDLE(Pycharm)
7.2 通过命令提示符运行Python脚本
C:\>python hello.py
#前提:已经进入了某个包含python可执行文件的目录或者可执行文件的目录已经添加在环境变量PATH中了。
C:\>C:\Python25\python hello.py
#也可以直接指定Python解释器的完整路径
7.3 注释
python使用井号(#)作为注释的符号,井号右边的一切内容都会被忽略
8.字符串
8.1 单引号字符串和转义引导
>>>"Hello,world!"
'Hello,world!'
>>>'Hello,world!'
'Hello,world!'
>>>"Let's go!"
"Let's go!" #当句子中有使用单引号时,就不能再用单引号将句子括起来
>>>'"Hello,world!"she said'
'"Hello,world!"she said' #同理
>>>'Let\'s go!' #必要的时候使用'\'进行转义
"Let's go!"
8.2 字符串的拼接
>>>x = "Hello,"
>>>y = "world!"
>>>x+y #使用加法拼接字符串
'Hello,world!'
8.3 字符串表示,str和repr
str函数会将值转换成合理形式的字符串,以方便用户的理解
repr函数则会创建一个字符串,以合法的Python表达式的形式来表示值。
>>>print repr("Hello,world!")
'Hello,world!'
>>>print repr(10000L)
10000L
>>>print str("Hello,world!")
Hello,world!
>>>print str(10000L)
10000
>>>temp = 42
>>>print "The temperature is" +str(temp) #不可以直接+temp
The temperature is 42
8.4 input和raw_input 的比较
input会假设用户输入的是合法的Python表达式,而raw_input函数会把所有的输入当作是原始数据(raw data),然后将其放入字符串中
>>>name = input("What is your name?")
>>>print "Hello,"+name+"!" #如果直接输入名字lv,那么程序会报错,因为lv并不是字符串,除非输入“lv”。但是我们将in普通换成raw_input就可以直接输入名字了。
8.5 长字符串、原始字符串和Unicode
8.5.1 长字符串
如果要写一个需要跨很多行的字符串,可以使用三个单引号或者三个双引号代替普通的引号,因为这种特殊的引用方式,字符串中间也可以同时使用单引号或者双引号,而不需要使用反斜线进行转义。(注:打出来的也是按照输入的换行方式换行的)
普通的字符串也可以换行。一行的最后一个字符是反斜线,那么就将换行符转义掉了,打出来的字符还是连在一起的。
>>>print "Hello,\
...world!"
Hello,world!
8.5.2 原始字符串
原始字符串把反斜线看成是普通的字符。
>>>print r'C:\nowhere'
C:\nowhere
>>>print r'Let\'s go!'
Let\'s go!
但是有一点需要注意,不能再原始字符串结尾输入反斜线。如果你非要以斜线结尾,那么可以使用以下方式
>>>print r'C:\Program Files\foo\bar''\\'
C:\Program Files\foo\bar\
8.5.3 Unicode
Python中的普通字符串在内不是以ASCII码的形式存储的,而Unicode字符串则存储为16位Unicode字符,这样可以表示更多的字符集。
>>>u'Hello,world!'
u'Hello,world!' #Unicode字符串使用u前缀 Python3.0中所有字符串都是Unicode字符串。