Python数据类型
前几天看过python基础部分了,但是看到高级特性那里有点蒙,后面就大略看了看,现在准备重新开始,边看边练习整理
Python数据类型:
1.整数(int):Python可以处理任意大小的整数与负整数,也可以用十六进制来表示整数,例如:0xffffff
2.浮点数(float):之所以叫浮点数,是因为用科学计数法表示时,小数点位置可变,例如:1.23e10与12.3e9是相等的。浮点数可以直接用数学方法表示,如:1.23,-9.2等,但当浮点数很大或者很小时,需要用科学计数法表示
由于整数与浮点数在计算机中的存储方式不同,所以整数运算永远是精确的,浮点数运算可能会有四舍五入的差别
3.字符串(str):可以用''或""括起来的任意文本,转义字符\,\n表示换行,\t表示制表符,\\表示一个\
例:①print("\\a\\"),实际输出结果为:\a\
②print(r'\\a\\'),前面加r表示默认不转义,输出结果为:\\a\\
③可用'''...'''的格式输出多行内容:
print('''line1 line2 line3''')
输出结果为:
line1
line2
line3
④print(r'''...''')
4.布尔值(bool):True和False两种值;可用and,or,not运算
多用于条件判断,例如:
num = input("请输入数字:")
if num > 2:
print(num > 2)
else
print(num > 2)
输入数字大于2:True
输入数字小于2:False
5.空值(None)。(空值不表示0)
6.有序列表(list):列表中元素可以为不同类型
可通过下标访问列表中元素。例如:
list=["Marry","Tom"]
# 第一个元素 print(list[0])
# 倒数第一个元素
print(list[-1]) 输出结果为:
Marry
Tom
元素的增删(x为要添加或删除的元素,index为下标值)
# 在list最后追加元素
list.append(x)
# 在指定位置插入元素
list.insert(index,x)
# 移除指定元素
list.remove(x)
# 移除最后一个元素
list.pop()
7.元组(tuple),与有序列表相似,但在初始化后不可以修改,因此没有增加以及删除元素的方法,获取元素的方法与list相同。
tuple = ("Marry","Tom") # 用小括号创建tuple,创建后不可修改。
注:只有一个元素的tuple定义时,需要在元素后加一个逗号,与数学运算的小括号区别开。
tuple = (1,)
注:当tuple包含list等元素时,虽然tuple是不可变的,但list是可变的。
8.无序不重复列表(set)
# 创建set,需要一个list作为输入集合
set = set([1,2,3])
# add(key)添加元素,可以添加重复元素,set会自动过滤
set.add(4)
# remove(key)删除元素。
set.remove(1)
set做交集、并集
set2 = set([5,7])
交集:set & set2
并集:set | set2
注:set中不可以放入list,为啥?
tuple不是也是不可变对象吗,tuple中可以加入list,就成了假的不可变对象啦
先放着,懂了再来补充。
9.字典(dict):(类似于Java的map,key-value(键值对))
d = {"Marry":90,"Tom":100}
# 访问元素
d["Marry"] = 98
# 若key不存在会报错,可以先判断key是否存在:
# 方法一:key in dict 若输出True,则元素存在,若输出False,说明元素不存在
"Marry" in d
# 方法二:get()方法,若返回None,说明不存在。也可指定元素不存在时的输出结果:dict.get(key,value)
d.get("Marry")
d.get("Rose",-1)
删除元素:pop(key)
d.pop("Marry")
添加元素:通过key添加或者通过函数setdefault(key,value)。直接通过key添加的时候,若元素已存在则会修改元素,在使用setdefault添加元素时,若key已存在,不会修改
d["Panda"] = 88
d.setdefault("Panda",90)
此时输出d["Panda"],结果为88
list与dict比较:
list:
1.占用内存少
2.查找与插入的时间随着元素的增加而增加
dict:
1.占用内存多
2.查找与插入快,且不会随着元素的增加而变慢
判断数据类型方法:
1.isinstance(变量名,类型名)
a = 1
isinstance(a,int)
isinstance(a,str)
输出:
True
False
2.与其他已知类型相比
a = 1
b = '哈哈哈'
type(a) == type(b)
输出:False
学习网站:廖雪峰的官方网站