搭建好Python环境后,就开始学习Python啦
就从最基础的数据类型和它们的基本方法入手
首先,在学习之前对python中的变量有相应的了解。
- 变量不需要声明
- 变量在使用前都必须赋值
- 变量赋值以后该变量才会被创建。
- Python中变量就是变量,是内存地址指针,它没有类型,我们所说的”类型”是变量所指的内存中对象的类型。
以下是Python中的基本数据类型
1. 字符串
Python中有两种字符串类型,一种是str,一种是unicode。
str类型采用的ASCII编码,即它无法表示中文。
unicode类型采用unicode编码,能够表示任意字符,包括中文及其它语言。
字符串默认采用的ASCII编码,如果要显示声明为unicode类型的话,需要在字符串前面加上’u’或者’U’。
例如
str1 = "hello"
print str1
#hello
str2 = u"我是小仙女"
print str2
#我是小仙女
基本操作
- 移除空白
1.strip():把头和尾的空格去掉
str1=" a dd ee cd de "
print str1
str2=str1.strip()
print str2
2.lstrip():把左边的空格去掉
str1=" a dd ee cd de 12"
print str1
str3=str1.lstrip()
print str3
3.rstrip():把右边的空格去掉
str1=" a "
str2="a dd ee cd de 12 "
print str1
print str2
str3=str1.rstrip()+str2
print str3
- 分割
split()就是将一个字符串分裂成多个字符串组成的列表。
split()当不带参数时以空格进行分割;当带参数时,以该参数进行分割。
str="hello world"
print(str.split())
str="helloggworld"
print(str.split('g'))
- 长度
str1="my name is jupiter"
print len(str1)
str2="你好"
print len(str2)
- 比较
str1="hello"
str2="hellos"
print cmp(str1,str2)
sStr1 = 'strchr'
sStr2 = 'strch'
print cmp(sStr1,sStr2)
- 分片与索引
字符串可以用过string[X]来分片与索引。
使用索引运算符[]和切片运算符[:]可以得到子字符串。
字符串有其特有的索引规则:第一个字符的索引是0,最后一个字符的索引是-1。
分片通常上边界不包括在提取字符串内。如果没有指定值,则分片的边界默认为0和序列的长度
str="the friendship between gentlemen is as pure as crystal"
print str[0]
print str[6]
print str[13]
print str[24]
#从偏移为1的字符取到偏移为3的字符,不包括偏移为3的字符
print str[1:3]
#从偏移为1的字符取到最后一个字符,包括最后一个字符
print str[1:]
#从偏移为0的字符取到偏移为3的字符,不包括偏移为3的字符
print str[:3]
#获取字符串的所有元素
print str[:]
2.数值类型
在Python中 数字型变量分为以下几种
int——整数型
a=23
print a
float——浮点型
b=23.05
print b
complex——复数
复数由实数部分和虚数部分组成,形式为x+yj,x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
注意,虚数部分的字母j大小写都可以,如2.6+4.1j,2.6+4.1J是等价的。
ps : 数字类型转换
Python的数字转换内部包含一个共同的评价类型的混合型的表达。
有时,需要明确强迫一个数字从一个类型到另一个运算符或函数的参数,以满足要求。
•int类型(X)转换X到一个普通整数。
•long(X)转换X到一个长整数。
•float类型(X)转换X到浮点数字。
•complex (x)的转换与真正的第X部和虚部为零的x到一个复杂的数量。 类型复杂(X,Y)转换x和y的第X部和虚部Ÿ复数。 x和y是数值表达式 内置数功能
3. 布尔值
表示真或假,只有两个值True 和 False
4. 列表
list:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素
特性:
1.可存放多个值
2.可修改指定索引位置对应的值
3.按照从左到右的顺序定义列表元素,下标从0开始顺序访问
list1 = [1,3,5,7,9,11]
list2 = ["a","b","c","d","e","f"]
list3 = ['jupiter','beijing','1996','female']
print list1
print list2
print list3
基本操作:
索引
用索引的方式访问列表元素,索引从0开始,支持负数索引,-1为最后一个.
list2 = ["a","b","c","d","e","f"]
print list2[3]
分片
支持分片操作,可访问一个区间内的元素,支持不同的步长,可利用分片进行数据插入与复制操作
list3 = ['jupiter','beijing','1996','female']
print list3[0:3]
print list3[2:]
print list3[:]
#进行插入操作
list3[3:3]=['05','16']
print list3
#进行复制操作
list3clone=list3[:]
print list3clone
追加
list2 = ["a","b","c","d","e","f"]
list2.append("g")
print list2
删除
list2 = ["a","b","c","d","e","f"]
print list2
del list2[3]
print list2
更新
list2 = ["a","b","c","d","e","f"]
print list2
list2[3]="*"
print list2
长度
list2 = ["a","b","c","d","e","f"]
print len(list2)
5. 字典
字典类型是一种键值对的集合,类似于C#中Dictionary
#声明一个空字典
dict1 = {}
#直接声明字典类型
dict2 = {"name":"kitty","age":18}
#利用dict函数将列表转换成字典
dict3 = dict([("name","kitty"),("age",18)])
#利用dict函数通过关键字参数转换为字典
dict4 = dict(name='kitty',age=18)
#利用fromkeys函数将key值列表生成字典,
#对应的值为None{'age': None, 'name': None}
dict5 = {}.fromkeys(["name","age"])
基本方法
dict1 = {}
dict1["mykey"] = "hello world" #直接给一个不存在的键值对赋值 即时添加新元素
dict1[('my','key')] = "this key is a tuple" #字典的键可以是任何一中不可变类型,例如数字、字符串、元组等
#【键值对个数】
print len(dict1)
#【检查是否含有键】
print "mykey" in dict1 #True 检查是否含有键为mykey的键值对
print "hello" in dict1 #False 检查是否含有键为hello的键值对
#【删除】
del dict1["mykey"] #删除键为mykey的键值对
dict.clear() # 删除字典中所有元素
dict.copy() # 返回字典(浅复制)的一个副本
dict.items() # 返回一个包含字典中(键, 值)对元组的列表
dict.keys() # 返回一个包含字典中键的列表
dict.values() # 返回一个包含字典中所有值的列表
6. 元组
元组类型和列表一样,也是一种序列,与列表不同的是,元组是不可修改的。
创建元组:元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可
tup1 = () #空元组
tup2 = ('a','b','c','d')
tup3 = (1,2,3,'a','b','c')
基本操作
索引
tup3 = (1,2,3,'a','b','c')
print tup3[3]
切片
tup3 = (1,2,3,'a','b','c')
print tup3[2:5]
print tup3[1:]
长度
tup3 = (1,2,3,'a','b','c')
print len(tup3)
哇哦,好累。感觉自己写的乱七八糟^__^。
不够简练,下次加油!