Python基础(一): 基本介绍
日期:2015年10月8日 作者:雨水
概述
Python是解释性语言,相比编译型语言开发效率更高,近些年应用越来越广泛。比如YouTube的主要开发语言就是Python,豆瓣也是。最近看到Uber的架构师介绍,Uber的所有业务逻辑代码也全都是Python写的,可见Python语言的魅力。
本文为<Python基础教程>的读书笔记(一)
Python交互解释器
Python可以直接在Python解释器中执行,比如
>>>print "Hello, world!"
当按下回车就可以得到如下输出:
Hello, world!
>>>
Python数字和表达式
可以直接在解释器中进行数字计算,如
>>>2+2
4
与C和Java类似,整数除以整数,计算结果中的小数部分被截掉
>>>1/2
0
>>>1.0/2
0.5
也可以通过引入future来执行普通的除法,如
>>> from __future__ import division
>>> 1/2
0.5
>>> 1/2
0.5
>>>
这时如果需要整除,可以用双斜线//实现
>>> 1//2
0
0
>>> 1.0//2
0.0
0.0
模运算
>>>10%/3
1
幂运算
>>> 2**3
8
8
>>>
Python可以处理很大的长整数,需要在数字后面加L
>>> 100000000000L
100000000000L
普通整数的范围为:-2^31~2^31
十六进制和八进制
>>> 0x12
18
>>> 010
8
18
>>> 010
8
>>>
变量
>>> x=3
>>> x*3
9
>>> x*3
9
>>>
获取用户输入
>>> x=input("x: ")
x: 2
>>> y=input("y: ")
y: 3
>>> print x*y
6
y: 3
>>> print x*y
6
>>>
函数
>>> pow(2,3)
8
8
>>>
模块
>>> import math
>>> math.sqrt(9)
3.0
>>> from math import sqrt
>>> sqrt(9)
3.0
>>> math.sqrt(9)
3.0
>>> from math import sqrt
>>> sqrt(9)
3.0
>>>
通过文件保存Python代码并运行
将如下部分:
print "Hello, python!"
保存为hello.py,然后在linux命令行中如下运行:
$ python hello.py
Hello, python!
Hello, python!
$
让Python脚本像普通程序一样运行
只需要在脚本文件首行加入如下部分即可
#!/usr/bin/env python
保存,然后给该文件添加上可执行权限,如下:
$chmod +x hello.py
最后运行:
$ hello.py
Hello, python!
注释
在行首添加#号,如
#简单乘法
print 2*2
Python字符串操作
(1) 单引号和双引号
它们的使用是没有区别的,但可以结合起来很有用,看了下面的三个例子就会明白
>>> "Hello, python!"
'Hello, python!'
>>> 'Hello, python!'
'Hello, python!'
>>> '"Hello, python!" He said'
'"Hello, python!" He said'
'Hello, python!'
>>> 'Hello, python!'
'Hello, python!'
>>> '"Hello, python!" He said'
'"Hello, python!" He said'
>>>
(2) 转义字符
使用反斜线对字符进行转义
>>> 'Let\'s go!'
"Let's go!"
>>> "\"Hello, python!\" He said"
'"Hello, python!" He said'
'"Hello, python!" He said'
>>>
(3) 字符串拼接
>>> "Hello, "+"python!"
'Hello, python!'
>>> x="Hello, "
>>> y="python!"
>>> x+y
'Hello, python!'
'Hello, python!'
>>> x="Hello, "
>>> y="python!"
>>> x+y
'Hello, python!'
>>>
(4) 字符串表示str和repr
str函数将值转换为合理形式的字符串,而repr则创建一个字符串,以合法的Python表达式的形式来表示值,看看下面的例子
>>> print str(10000L)
10000
>>> print repr(10000L)
10000L
10000
>>> print repr(10000L)
10000L
>>>
(5) input和raw_input比较
input会假设用户输入的是合法的Python表达式,而raw_input会把所有的输入当做原始数据,然后放入字符串中。看看下面的例子就明白了
脚本文件中输入下面的语句
name=input("what is your name? ")
print "Hello, " + name +"!"
这个时候,如果输入Dennis会报错,而输入"Dennis"才正确,但如果把input换成raw_input那么只输入Dennis就可以得到如下结果:
What is your name?Dennis
Hello, Dennis!
(6) 长字符串
如果需要长达多行的字符串或者包含多种特殊字符串的时候,可以使用长字符串表达法,在开始和末尾加上三个引号,单引号和双引号均可。
$ cat hello.py
#!/usr/bin/env python
print '''Hello,
Dennis
!'''
print '''Hello,
Dennis
!'''
$ hello.py
Hello,
Dennis
Dennis
!
另外,普通字符串也可以通过反斜线来换行,如
$ cat hello.py
#!/usr/bin/env python
print 'Hello, \
Dennis'
#!/usr/bin/env python
print 'Hello, \
Dennis'
$ hello.py
Hello, Dennis
(7) 原始字符串
原始字符串不会把反斜线当做特殊字符,它以r开头,看看下面的例子:
>>> print 'c:\nowhere'
c:
owhere
>>> print r'c:\nowhere'
c:\nowhere
c:
owhere
>>> print r'c:\nowhere'
c:\nowhere
>>>
注意:原始字符串的最后一个字符不能是反斜线,必须进行转义。另外,在原始字符中可以同时使用单双引号,甚至三引号字符串也可以。