- Python数据类型
- 变量的赋值
- Python中变量不需提前声明
- 变量名的回收
1.Python数据类型:
Python的五个标准的数据类型
<1>.Numbers(数字):
例如:x=5
<2>.字符串:str
str1="abc'def'"('def'也被当作字符串)
str2='abc"def"'("def"被当作字符串)
<3>.列表:list
list1=["aaa",123,"bbb","ccc",456] 用逗号隔开,子项类型不一定一致。
list1[1]=123
list1[-2]="ccc"
list1[2:]=["bbb","ccc",456] ##表示list1[2]及之后,包括list1[2]
list[:-1]=["aaa",123,"bbb","ccc"] ##表示list1[-1]之前的,***不***包括list1[-1]
list1[1:3]=list1[1:-2]=[123,"bbb"] #表示从list1[1]到list1[3]***取前不取后***
<4>.元祖Tuple
tup=(111,((222,"aaa","bbb"),"ccc",333),"ddd")
tup[0]=111
tup[1]=((222, 'aaa', 'bbb'), 'ccc', 333)
tup[2]='ddd'
tup[1][0]=(222, 'aaa', 'bbb')
## 如果元祖中只有一个元素,要在这个元素后面加逗号!
tup1 = ()
print tup1 ## ()空元祖
tup1 = (1,)
print tup1 ## (1,)一个元素的元祖
tup1 = (1)
print tup1 ## 1
<5>.字典Dictionaries
student={1:{"name":"zhangsan","sex":"man","age":21},2:{"name":"lisi","sex":"women","age":20}}
student[1]["name"]="zhangsan"
其他数据类型:
<1>布尔值 bool (True/Fales)
>>> a=1
>>> a==1
True
>>> a==2
False
<2> 序列
序列Sequence包括:string、list、tuple,他们具有一些通用操作
a. in #判断一个对象是否在序列中
list1 = [1,'a',3,'D']
for i in list1:
print i
输出:
1
a
3
D
b.获取长度
len(seq)
c.通过下标索引元素
seq[i]
d.切片
seq[sta:end]
e.连接
seq1+seq2
f.用*表示重复一个seq
seq=”a”*5=”aaaaa”
2.变量的赋值
a.变量赋值使用 = 进行赋值:
a = "123"
b = [1,2,3,"123"]
b[2] = 5
b.允许多变量赋值:
a = b = c = 1
c.元祖不支持下标赋值方式:
tp = (1,2,3,4,5,"abc")
tp[2] = 123 #这个是错误的。
d.列表下标赋值不能越界:
list1 = [1,2,3,"d","e"]
list1[2]="123"
print list1
打印:[1, 2, '123', 'd', 'e']
list1[5] = "111" #这样是不被允许的。
e.字典可以添加key和value:
dic = {}
dic["key"]="value"
dic["key2"] = 222
print dic
输出:
{'key2': 222, 'key': 'value'}
3.Python中的变量不需要声明
Python的变量不需要声明,你可以直接输入:
>>>a = 10
那么你的内存里就有了一个变量a, 它的值是10,它的类型是integer (整数)。 在此之前你不需要做什么特别的声明,而数据类型是Python自动决定的。
>>>print a
>>>print type(a)
输出:
10
<type 'int'>
4.变量名回收
如果想让a存储不同的数据,不需要删除原有变量就可以直接赋值。
>>>a = 1.3
>>>print a,type(a)
>>>a = "123aaa"
>>>print a,type(a)
会有如下输出:
1.3 <type 'float'>
123aaa <type 'str'>