在python里,标识符有字母、数字、下划线组成。
在python中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。
python中的标识符是区分大小写的。
以下划线开头的标识符是有特殊意义的。以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用"from xxx import *"而导入;
以双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如__init__()代表类的构造函数。
学习Python与其他语言最大的区别就是,Python的代码块不使用大括号({})来控制类,函数以及其他逻辑判断。python最具特色的就是用缩进来写模块。
缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。如下所示:
IndentationError: unexpected indent 错误是python编译器是在告诉你"Hi,老兄,你的文件里格式不对了,可能是tab和空格没对齐的问题",所有python对格式要求非常严格。
如果是 IndentationError: unindent does not match any outer indentation level错误表明,你使用的缩进方式不一致,有的是 tab 键缩进,有的是空格缩进,改为一致即可。
因此,在Python的代码块中必须使用相同数目的行首缩进空格数。
建议你在每个缩进层次使用 单个制表符 或 两个空格 或 四个空格 , 切记不能混用
每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
Python允许你同时为多个变量
赋值。例如:
以上实例,创建一个整型对象,值为1,三个变量被分配到相同的内存空间上。
您也可以为多个对象指定多个变量。例如:
以上实例,两个整型对象1和2的分配给变量a和b,字符串对象"john"分配给变量c。
(2)注意事项
python的字串列表有2种取值顺序:
- 从左到右索引默认0开始的,最大范围是字符串长度少1
- 从右到左索引默认-1开始的,最大范围是字符串开头
如果你的实要取得一段子串的话,可以用到变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾。最大范围不包括上边界
加号(+)是字符串连接运算符,星号(*)是重复操作
# -*- coding: UTF-8 -*-
str = 'Hello World!'
print str # 输出完整字符串
print str[0] # 输出字符串中的第一个字符
print str[2:5] # 输出字符串中第三个至第五个之间的字符串
print str[2:] # 输出从第三个字符开始的字符串
print str * 2 # 输出字符串两次
print str + "TEST" # 输出连接的字符串
以上实例输出结果:
H
llo
llo World!
Hello World!Hello World!
Hello World!TEST
List(列表) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(所谓嵌套)。
列表用[ ]标识。是python最通用的复合数据类型。看这段代码就明白。
列表中的值得分割也可以用到变量[头下标:尾下标],就可以截取相应的列表,从左到右索引默认0开始的,从右到左索引默认-1开始,下标可以为空表示取到头或尾。
加号(+)是列表连接运算符,星号(*)是重复操作。
# -*- coding: UTF-8 -*-
list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']
print list # 输出完整列表
print list[0] # 输出列表的第一个元素
print list[1:3] # 输出第二个至第三个的元素
print list[2:] # 输出从第三个开始至列表末尾的所有元素
print tinylist * 2 # 输出列表两次
print list + tinylist # 打印组合的列表
以上实例输出结果:
abcd
[786, 2.23]
[2.23, 'john', 70.2]
[123, 'john', 123, 'john']
['abcd', 786, 2.23, 'john', 70.2, 123, 'john']
元组是另一个数据类型,类似于List(列表)。
元组用"()"标识。内部元素用逗号隔开。但是元素不能二次赋值,相当于只读列表。
Python的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号,列表使用方括号。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
创建空元组
tup1 =();
元组中只包含一个元素时,需要在元素后面添加逗号
tup1 =(50,);
元组中的元素值是不允许修改的,但我们可以对元组进行连接组合,如下实例:
# 创建一个新的元组 tup3 = tup1 + tup2;
元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组
del tup;
任意无符号的对象,以逗号隔开,默认为元组,如下实例:
9、Python 字典(Dictionary)
key-values样式
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:
d ={key1 : value1, key2 : value2 }
键必须是唯一的,但值则不必。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例:
dict['Age']=8;# update existing entry dict['School']="DPS School";# Add new entry
能删单一的元素也能清空字典,清空只需一项操作。
显示删除一个字典用del命令,如下实例:
del dict['Name'];# 删除键是'Name'的条目 dict.clear();# 清空词典所有条目del dict ;# 删除词典,用del后字典不再存在
在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。(continue中断不算)
#!/usr/bin/python count =0while count <5:print count," is less than 5" count = count +1else:print count," is not less than 5"
以上实例输出结果为:
0is less than 51is less than 52is less than 53is less than 54is less than 55isnot less than 5内置函数 len() 和 range(),函数 len() 返回列表的长度,即元素的个数。 range返回一个序列的数
Python pass是空语句,是为了保持程序结构的完整性。
passass 不做任何事情,一般用做占位语句。
Python 语言 pass 语句语法格式如下:
pass
Python 数字:
转换,数学公式
在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符。如下表:
转义字符 | 描述 |
---|---|
\(在行尾时) | 续行符 |
\\ | 反斜杠符号 |
\' | 单引号 |
\" | 双引号 |
\a | 响铃 |
\b | 退格(Backspace) |
\e | 转义 |
\000 | 空 |
\n | 换行 |
\v | 纵向制表符 |
\t | 横向制表符 |
\r | 回车 |
\f | 换页 |
\oyy | 八进制数,yy代表的字符,例如:\o12代表换行 |
\xyy | 十六进制数,yy代表的字符,例如:\x0a代表换行 |
\other | 其它的字符以普通格式输出 |
string.join(seq)Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。
print "My name is %s and weight is %d kg!" % ('Zara', 21)
string.partition(str) |
A.新加入一个元素append
append方法添加。它在原列表末尾添加一个 item, item类型可以是任意的
l = [1, 2, 3]
l.append('hello') #得到 [1, 2, 3, 'hello']
l.append(['hello']) #得到 [1, 2, 3, 'hello', ['hello']]
B.插入一个元素insert
l1 = [1, 2, 3]
l1.insert(1,9) #[1, 9, 2, 3]
C.两个列表相加两种方式第一种
l1 = [1, 2, 3]
l3 = l1 + [4, 5, 6] #这种方式,l1不变,二者返回新的列表,当列表很长时,会消耗大量内存
第二种(必须接收一个参数,且是另一个列表)
l1.extend([4, 5, 6]) #直接扩增l1
等价的做法
l1 += [4,5,6]
A.按item的索引或切片删除
l1 = [1, 2, 3, 4, 5, 6]del l1[0] #得到[2, 3, 4, 5, 6]del l1[0:2] #得到[4, 5, 6]
B.按item的值进行删除
l1 = [1,2,3,1,2]l1.remove(1) #得到[2,3,1,2]
若是remove对应值查无,将跑ValueError
C.删除某个位置并返回该位置值
pop若是不传位置参数,默认删除列表最后一个元素
(5)修改元素l1 = [1, 2, 3, 4, 5]a = l1.pop(1) #a=2 b = l1.pop() #a=5
对指定索引进行赋值操作
A.某个元素
l1 = [1, 2, 3, 4]l1[0] = 0 #[0,2,3,4]
B.某一段元素
l1= [1,2,3,4]l1[0:2] = [7,8,9] #[7,8,9,3,4]1[:] = [] #清空了