Python程序是大小写敏感的,另外我们可以为一个变量赋值多个类型的值,在python中通常常量是用大写单词来表示的,但是不保证开发者一定不能修改,所以更多的
时候,算是一种编程约束
python字符串
创建字符串
在python中创建一个字符串,只需要将字符串放在”“,”,”“” “”“当中即可
#声明当前使用的字符集
#coding=utf-8
a = 'hello'
b = "english"
c = """my name is test,\n \"china\""""
print a + "=="+b+"=="+c
此时输出如下:
字符串的下标是从0开始
#和java中是相同的,字符串的下标是从0开始的
a = "hello world"
print a[0] #打印h
print a[:2] #第三个字符之前的所有字符
print a[2:] #第三个字符之后的所有字符
print a[2:5] #第三个字符到第六个字符之间的所有字符
字符串转换成int型或float型
#在python中同样可以实现像java中那样,将字符串转换成int型或float型
a = "12"
b = "3.5"
print int(a) + float(b)
将非法字符串转换成字符串表示
#在pyton中,同样提供,将非法字符串转换成字符串表示:str(),repr(),format(xx,xx)
x = 5.64
print str(x)
print repr(x)
print format(x,"0.1f")
python集合
在python中,集合是无序的,因此不能通过下标来进行索引,并且没有长度限制,用于包含一组无序的对象集合中的元素是不能重复的
使用set()函数创建集合
a = set(["11","123"])
print a #set(['11', '123'])
集合中的元素是不能重复的
b = set(['g','o','o','d'])
print b #set(['o', 'g', 'd'])可以看到两个o只会存在一个,并且是无序的
集合的操作
集合可以进行如下操作:
1.并集 2.交集 3.差集 4.对称差集
#并集
a = set([11,22,33,44])
b = set([33,44,66])
print a | b # 输出: set([33, 66, 22, 11, 44])
#交集
print a & b # 输出: set([33, 44])
#差集
print a - b # 输出: set([11, 22])
print b - a # 输出: set([66])
#对称差集
print a ^ b # 输出: set([66, 11, 22])
集合的更新操作
c = set(['aa',22])
c.add('sss') # add函数返回的是一个none的值
print c # 输出: set(['aa', 'sss', 22])
c.remove(22) # remove函数返回的是一个none的值
print c # 输出: set(['aa', 'sss'])
python列表
python中提供了列表的数据结构,类似于java中的集合列表是有序的,即我们可以通过下标来访问数据
创建一个空列表
empty = []
empty = list()
创建一个列表,索引也是从0开始的
a = ["alice","tom","jerry","xiaoming"]
#可以通过len方法获取列表长度
b = ["alice","tom","jerry","xiaoming"]
print "b.length is :"+str(len(b))
#获取最后一个元素,可以使用-1作为索引
print "倒数第一 :"+b[-1]+" 倒数第二:"+b[-2]
列表尾部追加元素
给列表尾部追加元素,使用append方法
a.append("hanmeimei") # a = ["alice","tom","jerry","xiaoming","hanmeimei"]
删除列表尾部元素
# 删除列表尾部元素
b.pop()
print "倒数第一 :"+b[-1]+" 倒数第二:"+b[-2]
删除指定位置元素
# 删除列表指定位置元素
b.pop(2) # 下标从0开始
print "倒数第一 :"+b[-1]+" 倒数第二:"+b[-2]
列表中的切片功能
使用切片功能可以对提取列表中的元素,或对列表重新赋值
print "使用切片功能可以对提取列表中的元素"
b = ["alice","tom","jerry","xiaoming"]
c = b[0]
print 'c is :'+c # c = alice
d = b[0:2]
print d # d = ['alice', 'tom']
e = b[1:]
print e # e = ['tom', 'jerry', 'xiaoming']
print "对列表重新赋值"
b[0:2] = ["first","second"]
for x in b:
print x
使用”+”运算符来连接列表
print "可以使用\"+\"运算符来连接列表"
a = [1,2,3] + [4,5,6]
print a # a = [1, 2, 3, 4, 5, 6]
列表可以包含任意种类的对象
print "列表可以包含任意种类的对象"
a = ["aaa",11,22.5,["bbb","ccc",55]]
print a
对于列表中存在嵌套列表的情况
a = ["aaa",11,22.5,["bbb","ccc",55]]
print a[3][0] # a[3][0] = "bbb"
python字典
字典是一个关联数组,或者散列表,可以通过key得到value,类似于java中的map
字典中的键常用的有字符串,不过也可以用数值和元组,因为他们都是不可变的
创建一个空字典
people = {}
people = dict()
创建一个字典
创建一个字典,字典中的数据是放在{}中的
people = {
"name" : "张三",
"age" : 22,
"phone" : 33333333
}
print people # {'phone': 33333333, 'age': 22, 'name': '\xe5\xbc\xa0\xe4\xb8\x89'} 打印中文乱码
可以看出Eclipse控制台的缺省编码方式是GBK;所以不支持UNICODE也在情理之中。如果把文件中的coding修改成GBK,则可以直接打印GBK编码的str对象
需要注意字典中的key是不可变的
删除对应的key
#删除一个key,对应的值也会删除
people.pop('name')
print people
访问字典中的成员
print people["name"]
print people["phone"]
插入或修改字典中的内容
people["name"] = "lisi" #修改name键所对应的值为"lisi"
print people #{'phone': 33333333, 'age': 22, 'name': 'lisi'}
people["address"] = "guangdong"
print people # {'phone': 33333333, 'age': 22, 'name': 'lisi', 'address': 'guangdong'}
使用in运算符测试某项内容是不是字典成员
if "name" in people :
print people["name"]
else:
print "字典people中没有该键值对"
获取默认值
如果从字典中获取不存在的键值对,可以填写一个默认值
value = people.get("califonia","no data in califonia")
print value
将字典转换成列表
value = list(people)
print value # 获得字典中的所有关键字,可以将字典转换成列表 ['phone', 'age', 'name', 'address']
删除字典中的元素
#使用"del",删除字典中的元素
del people["name"]
print people
python元组
可以使用元组将一组值打包到一个对象中,元组是有序的,即我们可以通过下表来访问
读于元组而言,其大部分操作和列表是相同的,但需要注意的是,是创建好元组以后,元组是不能修改其内容的,这里的内容指的是元组每个元素的内存中的指向
列表相对于元组更加的灵活,可是如果创建大量的小列表会造成内存的浪费
a = (11,22.2,"bbb")
print a # (11, 22.2, 'bbb')
条件语句
在python中,没有像java那样的{}来区分代码快,在python中都是通过缩进来区别的
#if和else子句的主体是用缩进表示的,else子句是可选的
if True:
print "this 条件 is True"
else:
print "this 条件 is False"
#可以通过pass创建一个空语句
if 3 > 2:
pass
print "pass 后的语句还是会执行"
#python没有像java那样的switch语句,只能使用多个if elif语句来替代
suffix = "jpeg"
if suffix == "html":
content = "text/html"
elif suffix == "jpeg":
content = "image/jpeg"
elif suffix == "png":
content = "image/png"
print content
python格式化输出
如果需要添加中文注释,需要在python文件的最顶端,
添加这样一句代码:”#coding=utf-8”
#python格式化输出,使用格式化运算符
print "%3d %0.2f" % (2015,1098.0365)
#使用format()函数
print format(2015,"3d"),format(1098.0365,"0.3f")
#使用format()函数,一次性格式化很多值
print "{0:3d} {1:0.4f}".format(2015,1098.036598)
python标准的输入输出流
import sys
sys.stdout.write("请输入您的姓名")
name = sys.stdin.readline()
print "您好 :"+name
#另外输出也可以使用print()函数来输出,比如:
print('hello world')
#另外print函数也可以一次性输出多个字符串
print("firststring","secondstring","thirdstring")
python文件读取
###open()函数返回一个文件对象
f = open("C:\\Users\\admin\\Desktop\\python\\python.txt")
line = f.readline()
while line:
print line
line = f.readline()
f.close()
另外f流可能有时候因为某种异常不能关闭,这里python提供with as给我们的一个方便的写法,这样子,当操作完毕之后,f流会自动关闭
with open('f:/people.xml', 'r') as f:
print(f.read())
此时效果如下:
写文件也是同样的道理
with open('f:/peoples.xml', 'w') as f:
f.write('Hello, world!')
另外python还支持下面参数格式
open('f:/people.xml', 'r',encoding='gbk', errors='ignore')
#分别表示要读取文件的编码格式以及读取遇到错误时候,忽略该错误
同样可以使用for循环来实现
for line in open("C:\\Users\\admin\\Desktop\\python\\python.txt"):
print line
ok, 今天就到这里啦。