Python学习之路(二):基础知识之数据类型
1.整型(int)
整数类型的数据,用int表示,Python中可以进行数据类型的转换,如将字符串类型的数据转化为整型。
v = "666" n = int(v) #使用int将字符串类型数据转化为int整型 print(n)
2.浮点型
浮点型数据在Python中即为小数。
3.布尔值(bool)
bool值体现在Python中即为True和False。
1 v1 = 666 # 当数字为0时输出的是False,其余数字输出的都是True 2 v2 = bool(v1) 3 print(v2)
1 v1 = "abc" # 当字符串为空时输出为False,不为空时输出为True 2 v2 = bool(v1) 3 print(v2)
1 v1 = True # 当为False时,输出为0 2 v2 = int(v1) 3 print(v2)
4.字符串(str)
字符串一般用''或者""括起来,里面可以包含数字字母及各种符号。对字符串可以进行许多操作。
- 独有功能:upper/lower/split/strip/replace/isdigite(判断是不是数字)/startwith(判断字符串以某元素开始)/endwith(判断字符串以某元素结束)/formate/join/encode(字符串编码)/count(计算某元素出现的次数)/capitalize(首字母大写)
- 公共功能:len/索引/切片/步长/for循环
- 强制转换:str(999)/str(True)
- 强制转换时,如果想让['唐朝', '宋朝']这样的列表转换为字符串,用str(['唐朝', '宋朝'])输出的不是想要的结果,而应当用程序:''.join(),用空字符串将列表中的元素拼接,从而形成字符串。
1 lst = ''.join('["唐朝", "宋朝"]') 2 print(lst) 3 print(type(lst))
4.1 字符串格式化
字符串格式化的意思是将字符串以一定的格式输出。
1 name = input('姓名') 2 do = input('在干嘛?') 3 template = "%s在教室,%s。" %(name,do,) # 字符串输出格式为:name在教室,do 4 print(template)
或者用format方法进行字符串格式化。
1 name = '我爱玩{}' 2 new_name = name.format('LOL') 3 print(new_name)
4.2 转化大小写
1 # 1.转化为大写 2 value = 'abcd' 3 new_value = value.upper() 4 print(value,new_value) 5 # 1.转化为小写 6 value = 'ABCD' 7 val = value.lower() 8 print(val)
4.3 去空白
# 去掉左边的空白:lstrip,去掉右边的:rstrip。两边均去掉:strip user = input('请输入用户名:') new_user1 = user.rstrip() new_user2 = new_user1.lstrip() print('--->', new_user2, '<---') data = new_user2.upper() print(data)
4.4 替换
message = '大爷大爷' new_message = message.replace('大爷', "**", 2) print(new_message)
4.5 切分
string = '我觉得LOL很垃圾,你觉得呢?' result = string.split(',')在某个标记出做切分操作 print(result)
4.6 长度
1 长度:len() 2 value = input('请输入字符串') 3 value_len = len(value) # 计算所输入字符串的长度 4 index = 0 5 while True: 6 val = value[index] # 根据索引取到输入的字符串内的元素,字符串索引从0开始value[0]为第一个元素 7 print(val) 8 if index == value_len - 1: 9 break 10 index += 1
4.7 步长
name = '谁的青春不迷茫' name_1 = name[0:-1:2] # [0:-1]表示从索引0取到倒数第二个元素,-1代表最后一个元素,但是不取,2表示从0开始取索引为0,2,4的元素,因为索引为6的元素为最后一个,所以不取 name_2 = name[0::2] # [0:]表示从索引0开始取到最后一个元素 name_3 = name[::2] name_4 = name[-1:0:-2] # [-1:0]表示逆序取元素 name_5 = name[-1::-1] print(name_1, name_2, name_3, name_4, name_5)
其他不赘述,调用格式均为:变量名.功能
5. 列表
列表是Python中常用的数据类型,可以用于存储不同类型的数据,而且存储量较大。
列表的功能有:
(1) 独有功能:append/insert/pop/clear/extend(循环内容,并添加到指定列表中)
(2) 公共功能:len/索引/切片/步长/for循环/删除/更新
(3) 强制转换:list((3,4,5))
列表功能的简单列举:
5.1 增(增加元素)
1.append方法
1 user = [] 2 for i in range(0,3): 3 name = input('姓名,密码') 4 user.append(name) 5 print(user) 6 username = input('请输入用户名:') 7 password = input('请输入密码:') 8 for ele in user: 9 result = ele.split(',') 10 user = result[0] 11 psw = result[1] 12 if user == username and psw == password: 13 print('登陆成功') 14 break
2.索引方法
1 user = ['dhsj', 'dasf'] 2 user[0] = 'poper' 3 print(user)
3.insert方法(在指定位置插入元素)
1 user = ['dhsj', 'dasf'] 2 user.insert(0,'jk') 3 print(user)
5.2 删(去除元素)
1.remove方法
1 user = ['dhsj', 'dasf'] 2 user.remove('dhsj') 3 print(user)
2.pop方法
1 user = ['dhsj', 'dasf'] 2 user.pop(0) # --->也可以写为:del user[0]***但是字符串本身不能直接删除,需要有新值去接受,属于不可变类型,而列表是可变类型 3 # 默认删除最后一个元素:pop() 4 print(user)
3.clear(清空列表)
1 user = ['dhsj', 'dasf'] 2 user.clear() 3 print(user)
5.3 改
user[index] = '新值'
user = ['dhsj', 'dasf'] user[0] = 'poper' print(user)
5.4 查
1.索引:user[index]
user = ['jk', 'jklove', 'uzi澡哥'] user_1 = user[2][3] #首先提取列表中索引为2的元素,提取出来的元素为一个字符串,再提取字符串中索引为3的元素 print(user_1)
2.切片:
lst = ["pdd", "澡子哥", "jklove", "knight", "小虎杀疯了"] print(lst[0:3]) print(lst[:3]) print(lst[1::2]) print(lst[-1:0:-1])
3.for循环
1 lst = ['jk', 'jklove', 'uzi澡哥'] 2 for i in lst: 3 print(i)
6.元组(tuple)
元组(tuple)是不可变类型,元组中的元素不可被修改或删除,这就说明元组存储数据较为安全,这也说明元组只有公共功能:len/索引/切片/步长/for循环。
6.1 索引
1 user = (998, 'jkl', 'hjk') 2 print(user[0])
6.2 切片
1 user = (998, 'jkl', 'hjk') 2 print(user[0:2])
6.3 for循环
1 user = (998, 'jkl', 'hjk') 2 for ele in user: 3 print(user)
6.4 元组嵌套
1 user = (998, 'jkl', 'hjk', [6, 5, 6, 'gfd']) # 在元组中嵌入一个列表 2 user[-1][-1] = 'fff' # 虽然列表中的子元素不能修改,但是子元素内的子元素是可以改变的(如果是可变数据类型) 3 print(user)
7.字典
Python由键值对组成,大致为:{key:value},key为键,value为值,键和值成一一对应的关系。这样在数据存储的过程中数据有较强的关联性。
7.1 字典的独有功能
1.info.keys()获取字典中的所有键
1 info = {'username': 'newboy', 'password': 'dhj'} 2 for i in info.keys(): 3 print(i)
2.info.value()获取字典中的所有值
1 nfo = {'username': 'newboy', 'password': 'dhj'} 2 for i in info.values(): 3 print(i)
3.info.items()取出字典中的键值对
1 info = {'username': 'newboy', 'password': 'dhj'} 2 for v1,v2 in info.items(): # 利用结构的方法取出键和值,即将键赋给v1,值赋给v2。 3 # print(v1,v2)
7.2 字典的公共功能
1.len
1 info = {'username': 'newboy', 'password': 'dhj'} 2 print(len(info)) # 打印字典长度
2.索引
1 info = {'username': 'newboy', 'password': 'dhj'} 2 v1 = info['username'] # 字典的索引需要通过键进行 3 v2 = info['password'] 4 print(v1, v2)
3.查询
(1)for循环
info = {'username': 'newboy', 'password': 'dhj'} for i in info: print(i)
(2)get()
1 info = {'username': 'newboy', 'password': 'dhj'} 2 ret = info.get('username') 3 print(ret)
1 info = {'username': 'newboy', 'password': 'dhj'} 2 ret = info.get('user', '你在干嘛') # 如果查找的键不在字典中,可以返回后面的字符串”你在干嘛“ 3 print(ret)
4.修改
(1)运用索引进行修改
# 1) 改值: # info = {'username': 'newboy', 'password': 'dhj'} # info['username'] = 'oldboy' # print(info) # 2) 改键: # 删除原来的键从新输入
(2)运用setdefault(key, value)进行添加
1 info = {'UZI': '枣子哥', 'jklove': 'lovejk'} 2 info.setdefault('小虎', '杀疯了') # 当key在原来的字典中存在时,不添加 3 print(info)
# 结果:{'UZI': '枣子哥', 'jklove': 'lovejk', '小虎': '杀疯了'}
(3)通过fromkeys创建字典
info = {} info_1 = info.fromkeys(['a', 'b', 'c'], ['1', '2', '3']) print(info_1) # 结果 :{'a': ['1', '2', '3'], 'b': ['1', '2', '3'], 'c': ['1', '2', '3']
formkeys()里第一个参数是可迭代的对象,里边的每个元素就是字典中的健,第二个参数就是值 现在创建的字典中后边的值用的是同一个
4.删除
1 info = {'username': 'newboy', 'password': 'dhj'} 2 del info['username'] 3 print(info)
1 info = {'UZI': '枣子哥', 'jklove': 'lovejk'} 2 s = info.pop('UZI') # pop可以返回删除的键 3 print(info)
1 info = {'UZI': '枣子哥', 'jklove': 'lovejk'} 2 info.clear() 3 print(info)
8.集合
集合中的元素根据定义不能够有重合的,集合是可变的数据类型,是不可哈希的
set中的元素必须是可哈希的,即必须是不可变的数据类型:int\bool\tuple、str等
8.1 增
1 s = {"厂长", 'uzi', "55K"} 2 s.add("PDD") 3 print(s)
# 结果:{'55K', '厂长', 'uzi', 'PDD'}
s = {'周杰伦', '坤坤', '鸡你太美'} s.update('蔡徐坤') print(s)
# 结果:{'坤', '周杰伦', '及你太美', '徐', '坤坤', '蔡'}
8.2 删
1 s = {"厂长", 'uzi', "55K"} 2 item = s.pop() # 要删除的元素是随机选择的 3 print(item, s)
1 s = {"厂长", 'uzi', "55K"} 2 s.remove('厂长') # 直接删除”厂长“这个元素 3 print(s)
8.3 改
集合是没有索引的,所以无法根据索引进行修改。
1 s = {"厂长", 'uzi', "55K"} 2 s.remove('厂长') 3 s.add('小沈阳') 4 print(s)
8.4 查
1 s = {'周杰伦', '坤坤', '及你太美'} 2 for i in s: 3 print(i)
8.5 frozenset()进行数据保存,里面的元素不能进行修改
1 s = frozenset([1, 3, 4, 5, 6]) 2 dic = {s: '数字'} 3 print(dic)
posted on 2020-02-21 21:36 Py_studying 阅读(263) 评论(0) 编辑 收藏 举报