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)

字符串一般用''或者""括起来,里面可以包含数字字母及各种符号。对字符串可以进行许多操作。

  1. 独有功能:upper/lower/split/strip/replace/isdigite(判断是不是数字)/startwith(判断字符串以某元素开始)/endwith(判断字符串以某元素结束)/formate/join/encode(字符串编码)/count(计算某元素出现的次数)/capitalize(首字母大写)
  2. 公共功能:len/索引/切片/步长/for循环
  3. 强制转换:str(999)/str(True)
  4. 强制转换时,如果想让['唐朝', '宋朝']这样的列表转换为字符串,用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编辑  收藏  举报

导航