2.2 Python3基础-基本数据类型
>>返回主目录
源代码
# 基本数据类型
# Number类型:如何查看变量的数据类型?
name = 'Portos'
print(type(name)) # 结果:str
print(isinstance(name, str)) # 结果:str
# 如何转换数据类型?
score = 99.5 # 浮点型转换成整型和字符型
score_int = int(score)
score_str = str(score)
# 字符串可以转换成数字类型么?反之呢?
# 纯字符串的数字可以转换成数字类型,反之,数字类型可以转换成字符串
# 数字类型间的运算
score_1 = 88.6
score_2 = 99.5
score_total = score_1 + score_2
print(score_total) # 结果:188.1
源代码
# String类型
'''
字符串的截取的语法格式如下:
变量[头下标:尾下标:间隔值]
索引值以 0 为开始值,-1 为从末尾的开始位置
'''
str_1 = 'I Love Python'
print(str_1) # 输出字符串
print(str_1[0:-1]) # 输出第一个到倒数第二个的所有字符
print(str_1[0]) # 输出字符串第一个字符
print(str_1[2:5]) # 输出从第三个开始到第五个的字符
print(str_1[2:]) # 输出从第三个开始的后的所有字符
print(str_1[-1]) # 输出最后一位
print(str_1[:]) # 输出全部字符串
print(str_1[::2]) # 每隔2个字符输出字符串
print(str_1[::-1]) # 倒序输出字符串
print(str_1 * 2) # 输出字符串两次,也可以写成:print(2 * str_1)
print(str_1 + "TEST") # 连接字符串
源代码
# 转义字符:\
# Python 使用反斜杠 \ 转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串:如:
print('Pytho\n') # 转义
print(r'Pytho\n') # 没有转义
print('I say I love "Python"') # 双引号显示
print('I say I love \'Python\'') # 转义单引号
# 反斜杠(\)可以作为续行符,表示下一行是上一行的延续
print('I say I love \
Python') # 结果:I say I love Python
源代码
# list列表
"""
列表的截取的语法格式如下:
变量[头下标:尾下标:间隔值]
索引值以 0 为开始值,-1 为从末尾的开始位置
"""
list_1 = ['a', 678, 2.23, ['b', 70.2]]
list_2 = [22, 'b']
print(list_1) # 输出列表
print(list_1[0:-1]) # 输出第一个到倒数第二个的所有元素
print(list_1[0]) # 输出字符串第一个元素
print(list_1[1:3]) # 输出从第二个开始到第三个的元素
print(list_1[2:]) # 输出从第三个开始的后的所有元素
print(list_1[-1]) # 输出最后一位元素
print(list_1[:]) # 输出全部列表元素
print(list_1[::2]) # 每隔2个元素输出列表元素
print(list_1[::-1]) # 倒序输出列表,亦可list_1.reverse()
print(list_1 * 2) # 输出列表两次,也可以写成:print(2 * list_1)
print(list_1 + list_2) # 连接列表
源代码
# list内置函数,例如:
list_1 = ['a', 678, 2.23, ['b', 70.2]]
list_2 = ['c', 'd']
# 列表添加元素:append()
list_1.append('c') # 在list_1末尾追加元素c
list_1.append(list_2)
# 列表插入元素:insert()
list_1.insert(2, 'f') # 在第二个元素678后面,插入元素f
# 列表更新元素:下标0,表示第一个元素a,更新成e
list_1[0] = 'e'
# 列表删除元素:remove()
list_1.remove(678)
# 列表返回索引位置,从0开始数:index()
list_1.index(2.23)
# 列表排序:sort(),默认会按一定顺序从小到大,排序元素的类型要统一
list_2.sort()
print(list_2) # 结果:['c', 'd']
源代码
"""
Author:PortosHan
Datetime:2021/3/5 15:19
Project:zbcf_python_lesson_project
"""
str_1 = 'I Love Python'
list_1 = ['1', '2', 'c', 'd']
# 字符串转换成列表
print(list(str_1)) # 结果:['I', ' ', 'L', 'o', 'v', 'e', ' ', 'P', 'y', 't', 'h', 'o', 'n']
# 字符串以空格为分隔符,转换成列表:split()分割函数,默认返回列表
print(str_1.split(' ')) # 结果:['I', 'Love', 'Python']
# 列表转换成字符串:join()连接函数,默认返回字符串
print(''.join(str_1))
# 列表转换成字符串,且以空格隔开
print(' '.join(str_1)) # ' '号里面就是连接符
# 如何知道字符串|列表的其他内置方法:.出来的
# 在PyCharm里通过,str.内置方法,list.内置方法
源代码
# 虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表
tup0 = (3, 22, ['a', 'b'])
print(id(tup0)) # 结果:1907682610112
tup0[2][0] = 'c'
print('New tup0 is:', tup0, ';and id is:', id(tup0)) # 结果:New tup0 is: (3, 22, ['c', 'b']) ;and id is: 1907682610112
# 构造包含 0 个或 1 个元素的元组比较特殊,所以有一些额外的语法规则:
tup1 = () # 空元组
tup2 = (20,) # 一个元素,需要在元素后添加逗号
# 元组也可以使用+操作符进行拼接
tup3 = (3, 55)
print(tup1 + tup2 + tup3) # 结果:(20, 3, 55)
源代码
set_1 = {'Google', 'Taobao', 'Facebook', 'Taobao', 'Baidu'}
set_2 = {'Baidu', 'CIAS', 'test'}
# 集合(set)是一个无序的不重复元素序列
print(set_1) # 结果去重且无序,结果:{'Facebook', 'Baidu', 'Taobao', 'Google'}
# 集合中的元素必须是不可变类型,且可以为不同类型
# 添加元素:add()
set_1.add('CIAS')
print(set_1) # 结果:{'Baidu', 'Facebook', 'Google', 'CIAS', 'Taobao'}
# 删除元素:remove()
set_1.remove('Facebook')
print(set_1) # 结果:{'CIAS', 'Taobao', 'Baidu', 'Google'}
# 添加多个元素:update()
set_1.update({'a', 'b'})
print(set_1) # 结果:{'CIAS', 'Taobao', 'Baidu', 'b', 'a', 'Google'}
# 集合支持:交、并、差、非等集合运算
# 交:set_1.intersection(set_2) # 或set_1 – set_2
set_all = set_1.intersection(set_2)
print(set_all) # 结果:{'CIAS', 'Baidu'}
# 并:set_1.union(set_2) # 或set_1 | set_2
set_all = set_1.union(set_2)
print(set_all) # 结果:{'Baidu', 'CIAS', 'Taobao', 'a', 'Google', 'test', 'b'}
# 差:set_1.difference(set_2) # 或set_1 & set_2
set_all = set_1.difference(set_2)
print(set_all) # 结果:{'a', 'Google', 'b', 'Taobao'}
# 非:set_1.symmetric_difference(set_2) # 或set_1 ^ set_2
set_all = set_1.symmetric_difference(set_2)
print(set_all) # 结果:{'test', 'a', 'Taobao', 'Google', 'b'}
# 判断元素是否在集合中存在:'Baidu' in set_1
print('Baidu' in set_1) # 结果:True
源代码
dic_1 = {'name': 'Portos', 'age': 18, 'sex': 'man'}
# 字典是另一种可变容器模型,且可存储任意类型对象
# 不允许同一个键出现两次,否则只记录最后一个同键的值
dic_2 = {'name': 'PortosHan', 'name': 'Portos'}
print(dic_2) # 结果:{'name': 'Portos'}
# 键必须是不可变元素
# 访问字典里的值,如:
print(dic_1['name']) # 结果:Portos
print(dic_1.get('name')) # 结果:Portos
# 添加元素:如:
dic_1['score'] = 99
dic_1.update({'a': 1})
print(dic_1) # 结果:{'name': 'Portos', 'age': 18, 'sex': 'man', 'score': 99, 'a': 1}
# 删除元素:
del(dic_1['name'])
dic_1.pop('age')
print(dic_1) # 结果:{'sex': 'man', 'score': 99, 'a': 1}
# 清空字典:dic_1.clear()
# 判断键是否在字典里:key in dict,如:'name' in dic_1
print('name' in dic_1) # 结果:False
>>返回主目录
2.2 Python3基础-基本数据类型的更多相关文章
- Python3基础之数据类型(字典)
Python3数据类型之 字典 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({} ...
- Python3基础之数据类型(字符串和列表)
1.Python字符串方法 1.1.如何在Python中使用字符串 a.使用单引号(') 用单引号括起来表示字符串,例如: str1="this is string"; print ...
- Python3基础语法和数据类型
Python3基础语法 编码 默认情况下,Python3源文件以UTF-8编码,所有字符串都是unicode字符串.当然你也可以为原码文件制定不同的编码: # -*- coding: 编码 -*- 标 ...
- python002 Python3 基础语法
python002 Python3 基础语法 编码默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串. 当然你也可以为源码文件指定不同的编码: # -* ...
- Python3基础(十二) 学习总结·附PDF
Python是一门强大的解释型.面向对象的高级程序设计语言,它优雅.简单.可移植.易扩展,可用于桌面应用.系统编程.数据库编程.网络编程.web开发.图像处理.人工智能.数学应用.文本处理等等. 在学 ...
- Python3基础-目录
Python3基础-目录(Tips:长期更新Python3目录) 第一章 初识Python3 1.1 Python3基础-前言 1.2 Python3基础-规范 第二章 Python3内置函数&a ...
- C#基础--之数据类型
C#基础--之数据类型 摘自:http://www.cnblogs.com/tonney/archive/2011/03/18/1987577.html 在第一章我们了解了C#的输入.输出语句后,我这 ...
- page74-泛型可迭代的基础集合数据类型的API-Bag+Queue+Stack
[泛型可迭代的基础集合数据类型的API] 背包:就是一种不支持从中删除元素的集合数据类型——它的目的就是帮助用例收集元素并迭代遍历所有收集到的元素.(用例也可以检查背包是否为空, 或者获取背包中元素的 ...
- JavaScript基础:数据类型的中的那些少见多怪
原文:JavaScript基础:数据类型的中的那些少见多怪 Javascript共有6种数据类型,其中包括3个基本数据类型(string,number,boolean).2个特殊数据类型(undefi ...
随机推荐
- 洛谷 P6851 onu (贪心,模拟)
题意:C和D打牌,每张牌有花色和点数,小D刚开始的分数为\(v\),不管输还是赢,只要小D出了牌(花色必须相同),就能得到那张牌点数的分数,若是赢了(点数不小于D的牌),他可以另外加\(c\)分,输了 ...
- Gym 2009-2010 ACM ICPC Southwestern European Regional Programming Contest (SWERC 2009) A. Trick or Treat (三分)
题意:在二维坐标轴上给你一堆点,在x轴上找一个点,使得该点到其他点的最大距离最小. 题解:随便找几个点画个图,不难发现,答案具有凹凸性,有极小值,所以我们直接三分来找即可. 代码: int n; lo ...
- Leetcode(83)-删除排序链表中的重复元素
给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次. 示例 1: 输入: 1->1->2 输出: 1->2 示例 2: 输入: 1->1->2->3-&g ...
- Leetcode(27)-移除元素
给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成 ...
- mybatis(四)缓存机制
转载:https://www.cnblogs.com/wuzhenzhao/p/11103043.html 缓存是一般的ORM 框架都会提供的功能,目的就是提升查询的效率和减少数据库的压力.跟Hibe ...
- cs实时系统之网关设计
今天给大家讲一下client-server系统(cs)设计,基本结构 1.client 客户端,插件式开发,负责对应ui的展示 2.gateway 网关层,管理客户端通信连接,负载后端集群服务 3.s ...
- 后Low Code时代:聚焦和突破
很多人都不想被贴上标签,我曾经也一样.觉得青春不能被定义,人也不能被分类.但随着学习和工作的变迁,慢慢开始发现标签也是一种名片效应. 比如一个做汽车销售的朋友,他就对BMW的车型非常熟悉,可以说是懂车 ...
- lightning & web components & templates & slots
lightning & web components & templates & slots Web components, Custom elements, Template ...
- Typescript & React & Vue
Typescript & React & Vue Typescript & React https://facebook.github.io/create-react-app/ ...
- VAST维萨币二月发行,高倍币重现江湖!
市场长期的历史经验表明,经营盈利能力最好的企业,经常是那些现在的经营方式与5年前甚至10年前几乎完全相同的企业.这个经营模式放到币圈也是一样的,2020年的挖矿是最火的,这个模式现在在市场也同样受用. ...