一. 开始正式学习前的tips:
Python和其他语言有很多类似, 也有一些差异, 下面先总结了一些基本语法上的注意事项
1. 注意缩进
2. 一行语句分为多行显示: \
3. 注释: 单行注释#,多行注释:'''或"""
4. 等待用户输入: raw_input("\npress entery key to exit.")
5. Python 关键字: 不可作为常量,变量后其他标识字符, 如: class, in, while...
6. 在网页查看本地Python文档:
>在cmd运行: python -m pydoc -p 4567 #4567为端口号
>在浏览器输入: http://localhost:4567/, 即可看到本地的module
二. Python数据类型: Numbers, String, List, Tuple(元组), Dictionary
在学习这个之前还是得先了解下变量。
变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。
基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。
Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程。
每个变量在内存中创建,都包括变量的标识,名称和数据信息。
每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
在创建变量时,对象就会被创建(Python是面向对象的语言), 如: var1 = 123。 可以用del来删除一些对象引用, 如: del var1。
Notes: 1). 同时为多个变量赋值: a = b = c =1
2). 多个对象指定给多个变量: a, b, c = 1, 2, "test"
3). 获取变量类型: type(a)
1. Numbers: int, long, float, complex(复数)
Notes: 1). long类型建议使用大写L(小写L容易与1混淆). test = 12345678L
2). 数学常量: pi,e
常用的操作:
1). 数学函数: abs(x)#求绝对值, max(a1,a2,...), min(a1,a2,...)#返回给定参数的最大最小值,sqrt(x)#返回x的平方根,random()#随机生成下一个实数,它在[0,1)范围内, range()#从指定范围内,按指定基数递增的集合中获取一个随机数
2. String
python的字串列表有2种取值顺序:
1). 从左到右索引默认0开始的,最大范围是字符串长度少1
2). 从右到左索引默认-1开始的,最大范围是字符串开头
str = "hello world"
print str
print str[0] #输出第一个字符
print str[2:5] #输出第三至第五之间的字符串
print str[2:] #输出从第三个字符开始的字符
print str[:-2] #输出从开始到倒数第二个字符之间的字符串
常用的字符串的内置函数:
string.islower()/string.isupper() #判断字符串是小写/大写
string.isdigit()/string.isalpha() #判断字符串是数字/字母
string.lower()/string.upper() #转换为小写/大写
string.join(seq) #合并新字符串
string.replace(str1,str2) #字符串替换,str1替换成str2
string.strip() #去掉前后空格
string.lstrip()/string.rstrip() #去掉字符串首/尾空格
3. List
列表可以完成大多数集合类的数据结构实现。支持字符,数字,字符串甚至可以包含列表(嵌套)。
列表用[ ]标识。是python最通用的复合数据类型。
列表中的值得分割也可以用到变量[头下标:尾下标],就可以截取相应的列表,从左到右索引默认0开始的,从右到左索引默认-1开始,下标可以为空表示取到头或尾。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
first_list = [ 'abc', 123 , 4.56, 'defg', 78.9 ]
second_list = [123, 'hig']
print first_list # 输出完整列表
print first_list[0] # 输出列表的第一个元素
print first_list[1:3] # 输出第二个至第三个的元素
print first_list[2:] # 输出从第三个开始至列表末尾的所有元素
print second_list * 2 # 输出列表两次
print first_list + second_list # 打印组合的列表
常用的列表内置函数:
del first_list[2] #删除列表元素
cmp(list1,list2) #比较两个列表元素
len(list1) #列表元素个数
max(list1)/min(list1) #列表元素最大/最小值
list.index(obj) #找出对象在列表中的索引位置
list.append(obj) #在列表末尾添加新对象
list.insert(index,obj) #将对象插入列表指定位置
list.count(obj) #统计某个元素在列表中出现次数
list.pop(obj=list[-1]) #移除列表中的一个元素(最后一个)
list.remove(obj) #移除列表中某个值的第一个匹配项
list.reverse() #反向列表中元素
list.sort([func]) #对列表进行对应排序
4. Tuple(元组)
元组类似于List(列表)。
元组用"()"标识。内部元素用逗号隔开。但是元素不能二次赋值,相当于只读列表。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
first_tuple = [ 'abc', 123 , 4.56, 'defg', 78.9 ]
second_tuple = [123, 'hig']
print first_tuple # 输出完整元组
print first_tuple[0] # 输出元组的第一个元素
print first_tuple[1:3] # 输出第二个至第三个的元素
print first_tuple[2:] # 输出从第三个开始至列表末尾的所有元素
print second_tuple * 2 # 输出元组两次
print first_tuple + second_tuple # 打印组合的元组
以下操作是无效的
first_tuple[2] = 1000 #元组不允许更新
对列表的此操作是有效的
first_list[2] = 1000
Notes: 1). 只有一个元素的元组的表示方法: tuple1 = (1,) #如果表示为tuple1 = (1)则tuple1不是元组
2). 删除整个元组: del first_tuple #不可以删除元组中的元素值
常用的元组内置函数:
cmp(tuple1,tuple2) #比较两个元组的元素
len(tuple1) #计算元组元素个数
max(tuple1)/min(tuple1) #元组最大/最小值
tuple(list) #列表转元组
5. Dictionary(字典)
字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。
两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典用"{ }"标识。字典由索引(key)和它对应的值value组成。
1). 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
2). 键必须不可变,可以用数字,字符串或元组充当,所以用列表就不行
#!/usr/bin/python
# -*- coding: UTF-8 -*-
dict1 = {}
dict1['one'] = "the first one"
dict1[2] = "the second one"
dict2 = {'name': 'daly', 'id': 291, 'dept': 'qa'}
print dict1['one'] #输出键为'one'的值
print dict1[2] #输出键为2的值
print dict2 #输出完整的字典
print dict2.keys() #输出所有键
print dict2.values() #输出所以值
常用字典操作:
删除字典元素: del dict1['one'] #删除键是'one'的条目, dict1.clear() #清空词典所有条目, del dict1 #删除词典
cmp(dict1,dict2) #比较两个字典
len(dict1) #元素个数
str(dict1) #输出字典可打印的字符串表示
6. 数据类型转换, 几个内置的数据类型转换函数。