# coding=utf-8 设置字符编码为utf-8
#coding=utf-8
#字符串中''号中是可包含双引号的,双引号中可以包含单引号
a="hello,'web'"
b='hello,"web"'
print a,b
print a+b+"----"
print "--------------------------------------------------------------"
#三引号可换行的字符串""" or '''
c='''我在
扯犊子呢
哈哈'''
print c
d="""我在
扯犊子呢
哈哈"""
print d
print "--------------------------------------------------------------"
#转义符的使用\
#这里将'转义了
tempvar1='hello\',world'
print tempvar1
#这里使用了\n换行
tempvar2="hello\nworld"
print tempvar2
print "--------------------------------------------------------------"
#自然字符串,在引号前面加上r就可以将转义符失去意义,只起显示做用
#使用r前
tempvar3="hello\n world \'"
print tempvar3
#使用r后
tempvar3=r"hello\n world \'"
print tempvar3
print "--------------------------------------------------------------"
#重复输出字符串在后面加上*次数就好了
print "王大炮太牛了\n"*5
print "--------------------------------------------------------------"
#子字符串
#索引运算符 从0开始索引
#切片运算符 [a:b]是指从第a下标开始到第b-1下标。同样第一位的下标为0
Testvar1="wangdapao"
Testvar2=Testvar1[0]
#字符口中第一个位置的索引下标为0,这里也就是取第一个字符串
print Testvar2
#这里就是代表输出5前入的所有字符串
print Testvar1[:5]
#这里代表输出索引下标3后面的所有字符串
print Testvar1[3:]
#这里代表输出下标3到下标7内的字符串
print Testvar1[3:7]
#coding=utf-8
#列表
students=["王大炮","周星驰","大圣","小明","范冰冰"]
print students[3]
#这里下标也是从0开始,取到了第4个元素的内容
students[3]="齐天大圣"
print students[3]
#这里对列表中元素的值做了改变
#元组(与列表相似,但不可改变元素的值),用小括号来
students=("王大炮","周星驰","大圣","小明","范冰冰")
print students[4]
#集合 格式 set(元素)
#集合的两个主要功能,一是建立关系,二是消除重复元素
a=set("wangdapaoaa")
b=set("Leiwancer")
#交集 查出字符串1与字符串2中相同的元素
c=a&b
print c
#并集 查出字符串1与字符趾中的所有元素,并且不重复
d=a|b
print d
#差集 求字符串1中有的,字符趾2中没有的,唯一的
e=a-b
print e
#去重复元素
print set(a)
print "--------------------------------------------------------------"
#字典
zidian={"姓名":"王大炮","年龄":"19","职业":"IT"}
print zidian["姓名"]
#修改字典值
zidian["年龄"]="20"
print zidian["年龄"]
print "--------------------------------------------------------------"
#pickle 腌制
#对象序列化
#第一步,导入pickle
import pickle
#dumps(object)将对象序列化
lista=["mingyue","jishi","you"]
#第二步,将对象进行序列化,再赋给变量listb
listb=pickle.dumps(lista)
#完成,输出查看
print listb
#将对象原样恢复
#loads(string)将对象恢复,并赋给listc
listc=pickle.loads(listb)
#完成,可查看
print listc
#dump(object,file)将对象存储到文件里面序列化
group1=("bajiu","wen","qingtian")
#定义一个文件(1.pk1-指的是文件名,wd-指的是写入的意思),赋给f1
f1=file('1.pk1','wb')
#将文件存储到f1中
pickle.dump(group1.f1,True)
f1.close() #关闭文件
#load(object,file)将dump()|存储在文件里面的数据恢复,再赋给f2
f2=file('1.pk1','rb') #rd是读取的意思
t=pickle.load(f2)
print t
f2.close()
#coding=utf-8
#逻辑行与物理行
#以下是3个物理行
print "hello"
print "youhou"
print "wangdapao"
#以下是3个逻辑行
print "hello";print "youhou";print "wangdapao"
#以下是一个逻辑行,3个物理行
print """hello
youhou
wangdapao"""
#分号的使用规则
#所有的逻辑行后均应使用分号,第个物理行末可以省略分号,也可以不省略
#行连接\
print "hello\
world"
#if else 的缩进
score=98
if score>=90:
print "你厉害"
elif score>=80:
print "继续努力"
elif score>=70:
print "快点努力"
else:
print "跪下"
#while 的缩进
a=0
while a<10:
print "扯犊子呢"
a+=1
#coding=utf-8
#"+"两个对象相加
#1.两个数字相加
a=7+8
print a
#2.两个字符串相加
b="hello "+"world"
print b
#"-":取一个数字的相反数或者实现两个数字相减
a=-7
print a
b=-(-8)
print b
#"*"两个数相乘或者字符串循环循环往复
a=4*7
print a
b="hello\n"*10 #输出10次
print b
#"/"两个数字相除
a=7/2
print a #如果被除数和除数都是整数,那么结果也为整数
b=7.0/2
print b #其中一个数为小数,结果为小数
c=7/2.0
print c #其中一个数为小数,结果为小数
#“**”求幂运算
a=2**3
print a #相当于2的3次幂 就是2*2*2
#"
a=3>7
print a
a=3<7
print a
#"!="不等于号,返回一个bool值
a=2!=3
print a
#"//"除法运算,返回商的整数部分,舍掉余数
a=10//3
print a
#"%"求余数
a=10%3
print a
b=9%3
print b #没有余数时返回0