小Q:风一更,雪一更,聒碎乡心梦不成,故园无此声。 ----纳兰容若《长相思》
---------------------------------------------------------------------------------------------------
以下个人归纳总结,献给大家和自己,嘿嘿。。。
Python支持两种编程方式,交互式编程和脚本式编程。
前者即在python环境界面,命令行输入,通过python解释器交互编程;
后者通过脚本参数调用解释器执行脚本,直到脚本执行完后,解释器不再有效。
------------------------------------------基础语法--------------------------------------
Python 标 识 符
在python里,标识符有字母、数字、下划线组成;
并且严格区分大小写; 并且不能以数字开头; 以下划线开头是有意义的,如下:
以单下划线开头(_foo)是不能直接访问的类属性,需通过类提供的接口进行访问,不能用"from xxx import *"而导入;
以双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如__init__()代表类的构造函数。
Python 保 留 字
这些保留字不能用作常数或变数,或任何其他标识符名称。
所有Python的关键字只包含小写字母。
and | exec | not |
assert | finally | or |
break | for | pass |
class | from | |
continue | global | raise |
def | if | return |
del | import | try |
elif | in | while |
else | is | with |
except | lambda | yield |
Pthon 的 行 和 缩 进
Python与其他语言最大的区别就是,Python的代码块不是用大括号({})来控制类,函数以及其他逻辑判断;而python最具特色的就是用缩进来写模块。
缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。如下所示:
if True: print "True" else: print "False"
以下代码将会执行错误:
#!/usr/bin/python # -*- coding: UTF-8 -*-# 文件名:test.py if True: print "Answer" print "True" else: print "Answer" # 没有严格缩进,在执行时保持 print "False"
错误一:IndentationError: unexpected indent
编译器是在告诉你"Hi,老兄,你的文件里格式不对了,可能是tab和空格没对齐的问题";
错误二: IndentationError: unindent does not match any outer indentation level
你使用的缩进方式不一致,有的是 tab 键缩进,有的是空格缩进,改为一致即可。
Python 的 多 行 语 句
Python语句中一般以新行作为为语句的结束符。
但是我们可以用( \)将一行的语句分为多行显示,如下所示:
total = item_one + item_two + item_three
语句中包含[], {} 或 () 括号就不需要使用多行连接符。如下:
days = [‘Monday‘, ‘Tuesday‘, ‘Wednesday‘, ‘Thursday‘, ‘Friday‘]
Python 的 引 号
Python包含单引号、双引号、三引号(三个单引号和三个双引号)。
单双引号作用相同,不过却应对了句子或段落中包含单引号,或双引号的情况,不用输转义附了;
三引号可用于写文本,不用多的输换行符 (\),即可换行的功能;另外在特定的地,有注释的功能。
----------------------------------------变量类型---------------------------------------
变量是存储在内存中的值。意味着创建变量时会在内存中有一个空间;变量可以是整数,小数或字符
基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。
Python 变 量 赋 值
Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程。
每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
等号(=)用来给变量赋值。运算符左边是变量名,右边是存储在变量中的值。例如:
#!/usr/bin/python # -*- coding: UTF-8 -*- counter = 100 # 赋值整型变量 miles = 1000.0 # 浮点型 name = "John" # 字符串 print counter print miles print name
输出:
100 1000.0 John
多个变量赋值,例如:
a = b = c = 1 #将1同时赋给了 a b c
多个对象指定多个变量,例如:
a, b, c = 1, 2, "john" #将1赋给里a;2赋给了b,jokn赋给了c
Python 数 据 类 型
数 值 类 型 :
int整型 | long长整型 | float浮点 | complex复数 |
---|---|---|---|
10 | 51924361L | 0.0 | 3.14j |
100 | -0x19323L | 15.20 | 45.j |
-786 | 0122L | -21.9 | 9.322e-36j |
080 | 0xDEFABCECBDAECBFBAEl | 32.3+e18 | .876j |
-0490 | 535633629843L | -90. | -.6545+0J |
-0x260 | -052318172735L | -32.54e100 | 3e+26J |
0x69 | -4721885298529L | 70.2-E12 | 4.53e-7j |
长整型也可以使用小写"L",但是还是建议您使用大写"L",避免与数字"1"混淆;
Python还支持复数,a + bj 或者 complex(a,b)表示,
复数的实部a和虚部b都是浮点型。
数 据 类 型 及 转 换 :
Numbers(数字) String(字符串)
List(列表) Tuple(元组) Dictionary(字典)
函数 | 描述 |
---|---|
int(x [,base]) |
将x转换为一个整数 |
long(x [,base] ) |
将x转换为一个长整数 |
float(x) |
将x转换到一个浮点数 |
complex(real [,imag]) |
创建一个复数 |
str(x) |
将对象 x 转换为字符串 |
repr(x) |
将对象 x 转换为表达式字符串 |
eval(str) |
用来计算在字符串中的有效Python表达式,并返回一个对象 |
tuple(s) |
将序列 s 转换为一个元组 |
list(s) |
将序列 s 转换为一个列表 |
set(s) |
转换为可变集合 |
dict(d) |
创建一个字典。d 必须是一个序列 (key,value)元组。 |
frozenset(s) |
转换为不可变集合 |
chr(x) |
将一个整数转换为一个字符 |
unichr(x) |
将一个整数转换为Unicode字符 |
ord(x) |
将一个字符转换为它的整数值 |
hex(x) |
将一个整数转换为一个十六进制字符串 |
oct(x) |
将一个整数转换为一个八进制字符串 |
Python 字 符 串
字符串或串(String)是由数字、字母、下划线组成的一串字符。
一般记为 : s="a1a2···an" (n>=0)
python的字串列表有2种取值顺序:
从左到右索引默认0开始的,最大范围是字符串长度少1
从右到左索引默认-1开始的,最大范围是字符串开头
举 例 :
str = ‘Hello World!‘
print str # 输出完整字符串
print str[0] # 输出字符串中的第一个字符
print str[2:5] # 输出字符串中第三个至第五个之间的字符串
print str[2:] # 输出从第三个字符开始的字符串
print str * 2 # 输出字符串两次
print str + "TEST" # 输出连接的字符串
输出结果:
Hello World!
H
llo
llo World!
Hello World!Hello World!
Hello World!TEST
-------------------------------------------运算符------------------------------------------
算数运算符:a为10,变量b为20
运算符 | 实例 |
---|---|
+ | a + b 输出结果 30 |
- | a - b 输出结果 -10 |
* | a * b 输出结果 200 |
/ | b / a 输出结果 2 |
% | b % a 输出结果 0 |
** | a**b 为10的20次方, 输出结果 100000000000000000000 |
// | 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0 |
比较运算符:a为10,变量b为20
运算符 | 实例 |
---|---|
== | (a == b) 返回 False。 |
!= | (a != b) 返回 true. |
<> | (a <> b) 返回 true。这个运算符类似 != 。 |
> | (a > b) 返回 False。 |
< | (a < b) 返回 true。 |
>= | (a >= b) 返回 False。 |
<= | (a <= b) 返回 true。 |
赋值运算符:a为10,变量b为20
运算符 | 实例 |
---|---|
= | c = a + b 将 a + b 的运算结果赋值为 c |
+= | c += a 等效于 c = c + a |
-= | c -= a 等效于 c = c - a |
*= | c *= a 等效于 c = c * a |
/= | c /= a 等效于 c = c / a |
%= | c %= a 等效于 c = c % a |
**= | c **= a 等效于 c = c ** a |
//= | c //= a 等效于 c = c // a |
位运算符:a 为 60,b 为 13
运算符 | 实例 |
---|---|
& | (a & b) 输出结果 12 ,二进制解释: 0000 1100 |
| | (a | b) 输出结果 61 ,二进制解释: 0011 1101 |
^ | (a ^ b) 输出结果 49 ,二进制解释: 0011 0001 |
~ | (~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。 |
<< | a << 2 输出结果 240 ,二进制解释: 1111 0000 |
>> | a >> 2 输出结果 15 ,二进制解释: 0000 1111 |
逻辑运算符:变量a是10,变量b是20.
运算符 | 逻辑表达式 | 实例 |
---|---|---|
and | x and y | (a and b) 返回 20。 |
or | x or y | (a or b) 返回 10。 |
not | not x | not(a and b) 返回 False |
成员运算符:
运算符 | 实例 |
---|---|
in | x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 |
not in | x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 |
身份运算符:
运算符 | 实例 |
---|---|
is | x is y, 如果 id(x) 等于 id(y) , is 返回结果 1 |
is not | x is not y, 如果 id(x) 不等于 id(y). is not 返回结果 1 |
-----------------------------------------------运算符优先级-----------------------------------------
运算符 | 描述 |
---|---|
** | 指数 (最高优先级) |
~ + - | 按位翻转, 一元加号和减号 (最后两个的方法名为 [email protected] 和 [email protected]) |
* / % // | 乘,除,取模和取整除 |
+ - | 加法减法 |
>> << | 右移,左移运算符 |
& | 位 ‘AND‘ |
^ | | 位运算符 |
<= < > >= | 比较运算符 |
<> == != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not or and | 逻辑运算符 |
---------------------------------------------扩展---------------------------------------------
内置函数:id(a) #查看变量a的内存存储地址
type(b) #查看变量b的数值类型
内建函数:input( ) raw_input( )
查看帮助:help (input)
举 例 :
#!/usr/bin/python
#coding=uft-8
num1 = input("please input a number:")
num2 = input("please input a number:")
print num1 + num2
print num1 / num2
print "s% - s% = s%" % (num1,num2,num1-num2)
print "s% * s% = s%" % (num1,num2,num1 * num2)