Python基础(2)-数据类型

1.数字

数字数据类型用于存储数值。它是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。

# 创建对象
var1 = 1
var2 = 2

# 删除对象
del var1
del var1,var2

整型(int)

  • 在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647

  • 在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807

长整型(long)

  • Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。

  • 注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数。

浮点型(float)

  • 浮点数用来处理实数,即带有小数的数字。

复数(complex)

  • 复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。

2.布尔值

  • 真或假(0或1)

3.字符串

字符串是以单引号'或双引号"括起来的任意文本,字符串是由数字、字母、下划线组成。

切片:

str = 'Hello World!'
 
print(str)  # 输出完整字符串
print(str[0])  # 输出字符串中的第一个字符

print(str[2:5])  # 输出字符串中第三个至第六个之间的字符串
print(str[2:])  # 输出从第三个字符开始的字符串

常用字符串功能:

len(str1)  # 计算字符串长度
print("str1",end=' ')	# 不换行打印,通常调用print 时会自动打印一个换行符

str.split(' ')  # 利用空格对str进行切割
'_'.join(str) 	# 利用'_'对str每个字符进行拼接
str + str2  # 字符串拼接

str.startwith('H')  # 以指定字符串开头,返回布尔值 
str.endwith('d')  # 以指定字符串结尾 True 

str.find('w')  # 字符'w'第一次出现的位置 
str.rfind('w')  # 字符'w'最后一次出现指的位置 
str.replace('m','n')  # 将str中的'm'字符替换成'n'

str.strip()  # 去除字符串首尾指定信息 
str.lstrip()  # 去除字符串左边指定信息
str.rstrip()  # 去除字符串右边指定信息

str.capitalize()  # 产生新的字符串,首字母大写
str.title()  # 产生新的字符串,每个单词都首字母大写
str.upper()  # 产生新的字符串,所有字符全转成大写
str.lower()  # 产生新的字符串,所有字符全转成小写

str.center() 	# 字符串中间对齐
str.ljust() 	# 字符串左对齐
str.rjust() 	# 字符串右对齐

str.isalnum() 	# 是否为字母或数字
str.isalpha() 	# 检测字符串是否只由字母组成(含汉字)
str.isdigit() 	# 检测字符串是否只由数字组成
str.isspace() 	# 检测是否为空白符
str.isupper() 	# 是否为大写字母
str.islower() 	# 是否为小写字母

字符串格式化符号:

 

print "My name is %s and weight is %d kg!" % ('Zara', 21) 

%c    ## 格式化字符及其ASCII码
%s    ## 格式化字符串
%d    ## 格式化整数
%u    ## 格式化无符号整型
%o    ## 格式化无符号八进制数
%x    ## 格式化无符号十六进制数
%X    ## 格式化无符号十六进制数(大写)
%f    ## 格式化浮点数字,可指定小数点后的精度
%e    ## 用科学计数法格式化浮点数
%E    ## 作用同%e,用科学计数法格式化浮点数
%g    ## %f和%e的简写
%G    ## %f 和 %E 的简写
%p    ## 用十六进制数格式化变量的地址 

 

4.列表

list是一种有序的集合,可以随时添加和删除其中的元素,元素可以重复、元素类型可多样化。

创建:

list = []  ## 定义1个空列表
list = ["Alex","Tenglan","Eric","Rain","Tom","Amy"]  ## 定义1个列表
list = [range(10)]

切片:       

list[1]  ## 取索引1的的元素
list[1:4]  ## 取索引1到4的元素,包含1,不包含4
list[:3]  ## 取索引0到3的元素
list[3:]  ## 取索引3到最后1个元素
list[0::2]  ## 每隔1个元素,取1个元素 

更新:

list.append('Google')  ## 使用 append() 在列表结尾添加新的元素‘Google’
list.insert(2,"Mrli")  ## 在索引为2的元素前增加新的元素‘Mrli’
list[2] = 'Mrli'  ## 将索引为2的元素替换为新的元素‘Mrli’


list.extend()用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

删除:

del list[2]  ## 根据索引删除对应元素
list.remove("Eric")  ## 删除指定元素
list.pop()  ## 删除列表的最后一个元素

循环迭代:

for x in [1, 2, 3]:   
        print x                     

常用操作及方法:

>>> [1, 2, 3] + [4, 5, 6]  ## 组合                        
>>> [1, 2, 3, 4, 5, 6]    

=======================================================================================
>>> 3 in [1, 2, 3]  ## 元素是否存在于列表中        
>>> True    

=======================================================================================
## seq为元组,obj为元素,index表示元素下标

len(list)   ## 列表元素个数
max(list)  ## 返回列表元素最大值
min(list)  ## 返回列表元素最小值
list(seq)  ## 将元组转换为列表,
list.count(obj)  ## 统计某个元素在列表中出现的次数
list.index(obj)  ## 从列表中找出某个值第一个匹配项的索引位置
list.reverse()  ## 反向列表中元素
list.sort(cmp=None,key=None,reverse=False)    ## 对原列表进行排序
cmp(list1, list2)  ## 比较两个列表的元素 

5.元组

元组与列表使用方法基本一致,区别在于:元组是有序的,不可修改的,但可通过 "+" 对多个元祖进行拼接

创建:

tuple = ()  ## 创建空元组
tuple = (50,)  ## 元组中只包含一个元素时,需要在元素后面添加逗号
tuple = (40,50,60)

删除:

del tup  ## 元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组

6.字典

dict内部存放的顺序和key放入的顺序是没有关系的。字典是无序的,键是惟一的,值不一定唯一

和list比较,dict有以下几个特点:

  • 查找和插入的速度极快,不会随着key的增加而变慢;

  • 需要占用大量的内存,内存浪费多。

而list相反:

  • 查找和插入的时间随着元素的增加而增加;

  • 占用空间小,浪费内存很少。

所以,dict是用空间来换取时间的一种方法。需要牢记的第一条就是dict的key必须是不可变对象。dict可以用在需要高速查找的很多地方。

创建:

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
dict = {'Name': 'Zara'}

查询:

>>> "Name" in dict
>>> True

>>> dict.get("Name")  ## 返回指定键的值,如果值不在字典中返回default值
>>> 'Zara' 

修改:

dict['Age'] = 8;  ## 更新已存在元素
dict['School'] = "DPS School";  ## 添加新元素

删除:

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
 
del dict['Name'];  ## 删除键是'Name'的条目
dict.clear();  ## 清空词典所有条目
del dict ;  ## 删除词典
dict.popitem()  ## 随机删除字典元素

循环迭代:

## 方法1
for key in dict:
    print(key,dict[key])

## 方法2
for k,v in dict.items(): #会先把dict转成list,数据里大时莫用
    print(k,v)

7.集合

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

创建:

>>> s = set([1, 2, 3])
>>> s
{1, 2, 3}

=================================
## 重复元素在set中会被自动过滤

>>> s = set([1, 1, 2, 2, 3, 3])
>>> s
{1, 2, 3} 

更新:

>>> s.add(4)
>>> s
{1, 2, 3, 4}

>>> s.update([10,37,42])  ## 在s中添加多项   

删除:

>>> s.remove(4)
>>> s
{1, 2, 3}

 

               

posted @ 2018-09-16 21:59  麦小秋  阅读(301)  评论(0)    收藏  举报