python之02数据类型学习

参考链接:http://www.cnblogs.com/yuanchenqi/articles/5782764.html

python的数据类型有:Number、Boolean、String 、List、Tuple、Dictionary、Set、bytes.

一、Number(数字)

   int、float

a=10
b=a
b=666
 
print(a)#10
print(b)#666
View Code

var1=3.14
var2=5
var3=int(var1)
var4=float(var2)
 
print(var3,var4)
View Code

 

abs(x)    返回数字的绝对值,如abs(-10) 返回 10
# ceil(x)    返回数字的上入整数,如math.ceil(4.1) 返回 5
# cmp(x, y)    如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1
# exp(x)    返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
# fabs(x)    返回数字的绝对值,如math.fabs(-10) 返回10.0
# floor(x)    返回数字的下舍整数,如math.floor(4.9)返回 4
# log(x)    如math.log(math.e)返回1.0,math.log(100,10)返回2.0
# log10(x)    返回以10为基数的x的对数,如math.log10(100)返回 2.0
# max(x1, x2,...)    返回给定参数的最大值,参数可以为序列。
# min(x1, x2,...)    返回给定参数的最小值,参数可以为序列。
# modf(x)    返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
# pow(x, y)    x**y 运算后的值。
# round(x [,n])    返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
# sqrt(x)    返回数字x的平方根,数字可以为负数,返回类型为实数,如math.sqrt(4)返回 2+0j

PY内置数学函数

 

二、布尔:

只有两种类型True和False。补充:python区分大小写。

三、字符串:

 

# String的内置方法

# st='hello kitty {name} is {age}'
#
# print(st.count('l'))       #  统计元素个数
# print(st.capitalize())     #  首字母大写
# print(st.center(50,'#'))   #  居中
# print(st.endswith('tty3')) #  判断是否以某个内容结尾
# print(st.startswith('he')) #  判断是否以某个内容开头
# print(st.expandtabs(tabsize=20))
# print(st.find('t'))        #  查找到第一个元素,并将索引值返回
# print(st.format(name='alex',age=37))  # 格式化输出的另一种方式   待定:?:{}
# print(st.format_map({'name':'alex','age':22}))
# print(st.index('t'))
# print('asd'.isalnum())
# print('12632178'.isdecimal())
# print('1269999.uuuu'.isnumeric())
# print('abc'.isidentifier())
# print('Abc'.islower())
# print('ABC'.isupper())
# print('  e'.isspace())
# print('My title'.istitle())
# print('My tLtle'.lower())
# print('My tLtle'.upper())
# print('My tLtle'.swapcase())
# print('My tLtle'.ljust(50,'*'))
# print('My tLtle'.rjust(50,'*'))
# print('\tMy tLtle\n'.strip())
# print('\tMy tLtle\n'.lstrip())
# print('\tMy tLtle\n'.rstrip())
# print('ok')
# print('My title title'.replace('itle','lesson',1))
# print('My title title'.rfind('t'))
# print('My title title'.split('i',1))
# print('My title title'.title())


#摘一些重要的字符串方法
#1 print(st.count('l'))
# print(st.center(50,'#'))   #  居中
# print(st.startswith('he')) #  判断是否以某个内容开头
# print(st.find('t'))
# print(st.format(name='alex',age=37))  # 格式化输出的另一种方式   待定:?:{}
# print('My tLtle'.lower())
# print('My tLtle'.upper())
# print('\tMy tLtle\n'.strip())
# print('My title title'.replace('itle','lesson',1))
# print('My title title'.split('i',1))

 

 

 

四、列表:

 

# 本节所有内容 增 删 改 查 排序 身份判断

# 查
fruits = ["apple", 'pear', 'peach', 'melon', 'orange', 'banana']
# 切片操作
# print(fruits[1:])  #从索引1处截到末尾
# print(fruits[1:4]) #从索引1截到索引4的位置(不包括索引4)
# print(fruits[1::2])#从索引1的位置到末尾,向右每两个截取一个
# print(fruits[1:-1])#截取从索引1的位置到倒数第一个(不包括倒数第一个)
# print(fruits[-2:-5:-1])#从倒数第二个到倒数第五个(不包括倒数第五个),向左逐个截取。
# print(fruits.count("apple"))#获取fruits里apple的个数
# print(fruits.__len__())#获取fruits的长度
# ret = fruits.count("apple")  # apple出现的次数
# print(ret)
# print(fruits.__len__())
# print(fruits.index("melon"))
# ret = "melon" in fruits
# print(ret)

# 改
# fruits[0] = ""
# print(fruits)

# fruits[1:3] = [1, 2]
# print(fruits)


# 增
# fruits.append('strawberry')
# print(fruits)
# fruits.insert(1, "strawberry")
# print(fruits)
# new_fruits = ['strawberry']
# fruits.extend(new_fruits)
# print(fruits)
# print(new_fruits)

# 删 pop remove del
# ret = fruits.pop(1)
# print(ret)
# print(fruits)

# fruits.remove("pear")
# print(fruits)

# del fruits[1]
# print(fruits)

# 其他操作 :排序 和倒转
# print(fruits)
# fruits.reverse()
# print(fruits)

# print(fruits)
# fruits.sort()
# print(fruits)

# fruits.sort(reverse=True)
# print(fruits)

# 身份判断
# print(type(fruits) is list)

t = [1, 2, 3]
f = tuple(t)
print(t)
print(f)

 

列表的遍历3种方法,

(1)直接遍历内容

(2)通过下标遍历

(3)通过enumerate方法 遍历下标和内容。

address = [
    {(100, '上海市'): [{(1001, '上海市'): [(100101, '崇明区'), (100102, '松江区'), (100103, '徐汇区'), (100104, '静安区')]}]},
    {(101, '河南省'): [{(1011, '周口市'): [(101101, '太康县'), (101102, '淮阳县'), (101103, '鹿邑县')]},
                    {(1012, '郑州市'): [(101201, '中原区'), (101202, '上街区'), (101203, '新郑市')]}]},
    {(102, '江苏省'): [{(1021, '南京市'): [(102101, '玄武区'), (102102, '六合区'), (102103, '雨花台区')]},
                    {(1022, '无锡市'): [(102201, '宜兴市'), (102202, '锡山区'), (102203, '惠山区')]},
                    {(1023, '徐州市'): [(102301, '新沂市'), (102302, '睢宁县'), (102303, '铜山区')]}]}
]

for i in address:
    print(i)  # list 里的内容

for i in range(len(address)):
    print(i)  # 下标
    print(address[i])  #list里的内容

for i,v in enumerate(address):
    print(i)   # 下标
    print(v)   # list里的内容

 

 

五、字典

字典的特点是:无序、键唯一,并且字典的键类型是不可变类型(整型、字符串、元祖)

创建 

 1 # 创建
 2 dic = {"name": "cydong", "age": 18, "sex": "female", "avocation": {"sports": "basketball,football"}}
 3 print(type(dic))
 4 print(dic)
 5 dic = dict([['name', 'carol'], ["age", 18]])
 6 print(type(dic))
 7 print(dic)
 8 dic = dict((['name', 'carol'], ["age", 18]))
 9 print(type(dic))
10 print(dic)
11 
12 ret = dic.setdefault("name", "cydong")  # setdefault方法是设置字典的方法,当字典中存在key值时,返回已经存在的value值不覆盖。当字典中不存在key值时,增加key和value。
13 print(ret)
14 print(dic)
View Code

查询

通过键值查询

1 # 查
2 print(list(dic.keys()))
3 print(list(dic.values()))
4 print(list(dic.items()))
View Code

更新

1 # 更新
2 dic["age"] = 28
3 print(dic)
4 
5 dic1 = {"name": "cydong", "age": 18}
6 dic2 = {"name": "carol", "sex": "male"}
7 dic1.update(dic2)
8 print(dic1)
9 print(dic2)
View Code

删除

 1 dic2 = {"name": "carol", "age": 27, "sex": "male"}
 2 # # dic2.clear()
 3 # print(dic2)
 4 # # del dic2["name"]
 5 # print(dic2.pop("age"))  # 返回改键对应的值
 6 # print(dic2)
 7 
 8 # ret = dic2.popitem()  # 随机删除某组键值对,并以元祖方式返回值
 9 # print(ret, dic2)
10 
11 del dic2  # 删除整个字典
View Code

其他操作

 1 #5 其他操作以及涉及到的方法
 2 
 3 
 4 # dic6=dict.fromkeys(['host1','host2','host3'],'test')
 5 # print(dic6)#{'host3': 'test', 'host1': 'test', 'host2': 'test'}
 6 #
 7 # dic6['host2']='abc'
 8 # print(dic6)
 9 
10 # dic6=dict.fromkeys(['host1','host2','host3'],['test1','tets2'])
11 # print(dic6)#{'host2': ['test1', 'tets2'], 'host3': ['test1', 'tets2'], 'host1': ['test1', 'tets2']}
12 #
13 # dic6['host2'][1]='test3'
14 # print(dic6)#{'host3': ['test1', 'test3'], 'host2': ['test1', 'test3'], 'host1': ['test1', 'test3']}
View Code

 

dic5 = {"name": "carol", "age": 27, "sex": "male"}
for i in dic5:
    print(i)
# name
# age
# sex
for i, v in dic5.items():
    print(i, v)
# name carol
# age 27
# sex male

for item in dic5.items():
    print(item)
# ('name', 'carol')
# ('age', 27)
# ('sex', 'male')


dic5 = {"name": "carol", "age": 27, "sex": "male"}
print(dic5)
print(sorted(dic5)) # 返回一个有序的包含字典所有key的列表
#['age', 'name', 'sex']

 

六、元祖

元祖是用一对小括号括起来的数据。其中“元祖是不能修改的”是分情况的:

(1,2,3)这个是不能修改的,而

(['iphone6s', 5800], ['mac book', 9000], ['coffee', 32], ['python book', 80], ['bicycle', 1500]) 可以针对里面的列表修改。

总之,引用别人的话“老子是不能修改的,孙子是可能被修改的”

 

 

posted @ 2019-01-23 10:21  hympio  阅读(240)  评论(0)    收藏  举报