1、python:解释性语言,不用编译;是开源的;是面向对象的
Windows x86是32位的
2、python 最具特色的特征:缩进来写模块,不用{},用Tab键或空格缩进
一、python编写规则
1、运行python的三种方式:
1)交互模式下编写代码
2)python文件脚本:创建 .py文件(源文件)
3)集成开发环境
2、python的基本输入输出:
输出:print 输入:raw input()
3、python标识符:(符号仅允许使用下划线)
· 第一个必须是字母或者下划线(_)
· 剩下的可以是字母、数字或下划线(_)
· 大小敏感
命名约定:
· 用单下划线(_)开头表示模块变量或函数是protected的(使用import * from时不会包含).
· 用双下划线(__)开头的实例变量或方法表示类内私有
· 模块名应用小写字母加下划线的额方式(例:lower_with_under.py)
应避免的名称:
· 单字符名称, 除了计数器和迭代器.
· 包/模块名中的连字符(-)
· 双下划线开头并结尾的名称(Python保留, 例如__init__)
4、保留字符:
保留字不能用作常数或变数,或任何其他标识符名称,所有 Python 的关键字只包含小写字母。
5、空格:
· 不要在逗号, 分号, 冒号前面加空格, 但应该在它们后面加(除了在行尾).
· 参数列表(), 索引(()里的)或切片【】的左括号前不应加空格(左边紧贴)
· 在二元操作符两边都加上一个空格, 比如赋值(=), 比较(==, <, >, !=, <>, <=, >=, in, not in, is, is not), 布尔(and, or, not).
· 当‘=’用于指示关键字参数或默认参数值时(特例), 不要在其两侧使用空格.
6、多行语句:
· 一条语句多行表示
· 一般以新行作为为语句的结束符。但是可以使用斜杠( \)连接符将一行的语句分为多行显示
· 语句中包含[],{}或()括号就不需要使用多行连接符
7、空行:
· 函数之间或类的方法之间,表示一段新的代码的开始
· 类和函数入口之间,以突出函数入口的开始
· 空行也是程序代码的一部分
· *定义之间空两行, 方法定义之间空一行
8、注释:
· 单行注释: #
· 多行注释: 三个单引号(’’’)或三个双引号(”””)
9、行长度:
· 如果一个文本字符串在一行放不下, 可以使用圆括号来实现隐式行连接:
x = ('这是一个非常长非常长非常长非常长 '
'非常长非常长非常长非常长非常长非常长的字符串')
· 在注释中,如果必要,将长的URL放在一行上。
10、括号:
· 宁缺毋滥的使用括号;
· 除非是用于实现行连接, 否则不要在返回语句或条件语句中使用括号. 不过在元组两边使用括号是可以的。
11、函数:包括函数,方法以及生成器
二、python的运算符:
1、 算术运算符:+、-、*、/、%(取模-返回除法的余数)、**(幂,a**b=a的b次幂)、//(整除-返回商的整数部分)
注:Python2.x 里,整数除整数,只能得出整数。如果要得到小数部分,把其中一个数改成浮点数即可。
2、比较(关系)运算符(布尔型):==、!=、<>(不等于)、>、<、>=、<=
3、赋值运算符:=、+=、-=、*=、/=、%=、**=、//=
4、 位运算符:&、|、^(异或,两对应的二进位相异时,结果为1)、
~(取反,把1变为0,把0变为1 )、<<(左移)、>>(右移)
5、逻辑运算符:
and(x and y,布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值)
or(x or y,布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。)
not(not x,布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True)
6、成员运算符:in、not in
7、身份运算符: 判断两个标识符是不是引用自一个对象 is、not is
is 与 == 区别:
is 用于判断两个变量引用对象是否为同一个,
== 用于判断引用对象的值是否相等
三、python基本数据类型
1、python支持五种数据类型:
整形 int ; 长整型(以L 结尾) long; 布尔型 bool;
浮点型 Floating-point:双精度浮点数float,带一个小数点
复数 complex:实部+虚部,虚部以J或j 结尾,
real 实部;imag 虚部;conjugate() 返回共轭复数
2、数字类型转换: complex > float > long > int > same type
· 同一类型数字无需转换
· 如果有一个操作数是复数, 另一个操作数被转换为复数
· 否则,如果有一个操作数是浮点数, 另一个操作数被转换为浮点数
· 否则, 如果有一个操作数是长整数,则另一个操作数被转换为长整数;
· 否则,两者必然都是普通整数,无须类型转换
3、序列类型:
· 访问指定索引范围元素:s [ i : j ]??? //访问角标以 i 开始,j? 结束的元素 (注意:包头不包尾,即不包括元素? s[j]? )
· 按步长访问指定索引范围:s [ i : j : k ]? ? ? ? ? //访问角标以 i 开始,j? 结束的元素,中间跳过? k -1? 个元素
· 统计某一元素在序列中出现的次数: s.count(x)?
4、几种特别常用的字符串:
· 转义字符:\n 回车换行;\t 下一制表位;\“ 双引号;\‘ 单引号;\\ 输出斜杠\
\f 换页;\r 返回
· 原字符串:raw 如 eg. r'\(^_^)/ \(~_~)/'
· Unicode字符串 : u ,把标准字符串或者是包含Unicode 字符的字符串转换成完全地Unicode 字符串对象
· 占位符:%s,%d
5、字符串基本操作:
合并“+”; 重复“*”(“字符串”* 数字);
6、列表: list 有序数据项的集合
1)列表的基本操作:
· * 如 list=list1*num 则num必须为正整数,表示N个list1相加
num为0或负数,所得结果为空列表
· 比较:从列表第一个元素开始比较,一直到有一方胜出
2) 列表相关的函数:
list.index(val):找到列表的某个值在列表中的位置
list.append():向列表尾部添加数据
list.insert(list.index(),val):在列表制定位置添加数据
list.extend(list1):把list1的每个元素依次添加到list尾部
list.count(value):统计某个元素在列表中出现的次数
list.reverse():列表逆序
3)列表的删除(三种方式)
list.remove(value):删除列表中第一个value
del list[N]:删除列表的第N个元素
list.pop(list, index(val)):删除列表中指定位置的数据并返回该数据的值