python第二课——数据类型1
day02(上午)主要讲了进制问题,小编之前已经发过了 day02(下午): 1.数据类型: 分类: 1).整数型:int浮点型(小数):float布尔型(True/False):bool 2).字符串型:str 列表:list元祖:tuple字典:dict集合:set【记住】都是容器类型 3).NoneType:取值None解释:空、不存在、没有、未知、不确定... 4).自定义类型:Person、Animal、Cat、Dog、Student... 2.字符串类型: 说明:今日讲解的内容只包含字符串所需知识的50%,还有50%后续再讲(函数) 2.1.字符串数据的特点: 1).是不可变的数据类型 2).它是容器类型数据,有长度,也有下标/索引(index) 掌握如下几个概念: 1).开始索引 0表示 2).结束索引 -1表示/length-1 如何访问字符串数据? 访问分为两部分考虑!! 1).获取字符串中的某个元素 通过字符串名字配合下标得到想要的元素内容 例如:str1[-1] 2).设置字符串中的元素 是不可以的,原因:字符串不可变 2.2.常见的一些错误 1).下标越界了 --> 运行时异常 错误类型:IndexError 理解:下标越界了 【注意】左右边界都有可能超出,所以要避免... 代码如下:错误现象
str1 = 'abcdefg123'
print(str1[10])
print(str1[-11])
2).字符串一旦定义了,不能改变其任何元素的内容 错误类型:TypeError 理解:字符串是不可变的数据类型,一旦定义了,不能单独修改其某个元素的内容 但是我们可以直接给变量赋一个新的字符串数据,此操作可以认为是直接改变了内存中的引用地址,这是合法的... 代码如下:错误现象
str1 = 'abcdefg123'
str1[2] = 'C'
print(str1)
2.3.字符串的切片操作 字符串的切片操作: 作用:可以得到原字符串中某索引开始到某索引结束范围内的子串, 原串不变(不受到影响) 格式:字符串名[start:end:step] 解释: start:起始索引 end:结束索引 step:步长 默认为1 【注意事项】 切片操作,满足含特头不含尾的点(计算机领域99%的情况) 举例:str1[2:5] --> 范围:[2,5) 代码如下:
str2 = "唧唧复唧唧,木兰当户织,不闻机杼声,惟闻女叹息"
# print(len(str2))
str3 = str2[3:5]
# print(str3,type(str3))
# print(str2)
print(str2[5:])
print(str2[:5])
print(str2[:-5])
print(str2[2:-2])
print(str2[:10:2])
print(str2[::])
print(str2[:])
print(str2[::-1])
print(str2[-7:11:-1])
2.4.字符串的定义 如果字符串的内容比较少,我们可以使用单个单/双引号开始和结尾来定义, 但是如果字符串的内容比较多,而且还需要以我自定义的样式进行打印显示的话, 我们可以使用三个单/双引号开始和结束来定义 符号:和注释相同 '''...'''"""..."""注意:需要有变量来接受 代码如下:
content = '''遥想公瑾当年,小乔初嫁了;
雄姿英发,羽扇纶巾;
谈笑间,樯橹灰飞烟灭
'''
content = """遥想公瑾当年,小乔初嫁了;
雄姿英发,羽扇纶巾;
谈笑间,樯橹灰飞烟灭
"""
2.5.转义字符 以下内容涉及到转义字符的使用: 什么是转义字符? 在python语言中已经失去其原本含义,比如不想将n表示为n,将其转义 就表示为换行了; 常用的转义字符如下:
:换行符
:制表符
":双引号
':单引号
:退格
r的作用以及使用场景: 如果字符串记录的是一串物理地址,那么地址内容中可能涉及到转义字符的存在, 但是在路径层面是不允许转义的,所以我们需要将转义字符的含义全部剔除, 只需要在路径第一个引号的前面显示的定义一个r即可 代码如下:
address = "D:baisctpython1808day02hello.html"
address = r"D:aisc python1808day02hello.html"
print(address)
2.6.字符串的*和+操作: 对于*操作而言:将字符串数据连续执行多次 对于+操作而言:将两个字符串数据拼接起来,得到一个更长的串 代码如下:
content = "猥琐发育别浪"
print(content * 5)
print('*' * 50)
print(content + ',灭团了')
2.7.占位符 占位符的使用: 作用:如果字符串中某些元素的内容一开始并不确定,我们可以先用占位符占个位置, 等到之后明确了数据内容,再讲数据放入到占位符中; 分类学习: 第一类:百分号原则 符号: %d:表示整数数据字符 %f:表示浮点数据字符 %s:表示字符数据(万能符) 第二类:format()传参的方式来实现/大括号原则 注意:format()函数不是内置函数,它属于str的函数,必须通过str.的形式进行调用 代码如下:
name = "韩梅梅"
age = 23
height = 165.5
print("姓名:%s,年龄:%d岁,身高:%.1fcm" %("李雷",25,175.5))
print("姓名:%s,年龄:%010d岁,身高:%.1fcm" %("李雷",25,175.5))
print("姓名:%s,年龄:%d岁,身高:%.1fcm" %(name,age,height))
print('-' * 60)
print('我是:{},最喜欢的男歌星:{},最喜欢看的电影是:{},我最喜欢的老师是:{}'.format('班长','tfboys','铁血战士','老郭'))
print('我是:{3},最喜欢的男歌星:{1},最喜欢看的电影是:{0},我最喜欢的老师是:{2}'.format('小电影','张学友','苍老师','班长'))
print('我是:{name},最喜欢的男歌星:{star},最喜欢看的电影是:{film},我最喜欢的老师是:{teacher}'.format(teacher='小泽老师',star='刘德华',name='班长',film='老郭的教学视频'))
补充占位符: %o: 将十进制数据转换为八进制数据 %x: 将十进制数据转换为十六进制数据
- 因为超算云,你将比别人早10年“抵达”未来
- 网页加速特技之 AMP
- 刷屏的背后:原来腾讯字体是CDC和Monotype联手打造的
- 重磅!腾讯与科大讯飞技术共创,Google ProtoBuf进入TARS家族!
- 一个简易版的T4代码生成"框架"
- yield在WCF中的错误使用——99%的开发人员都有可能犯的错误[上篇]
- 以上下文(Context)的形式创建一个共享数据的容器
- yield在WCF中的错误使用——99%的开发人员都有可能犯的错误[下篇]
- ASP.NET MVC下的四种验证编程方式
- 总体介绍ASP.NET Web API下Controller的激活与释放流程
- 如何让ASP.NET Web API的Action方法在希望的Culture下执行
- ASP.NET Web API标准的“管道式”设计
- ASP.NET Web API路由系统:Web Host下的URL路由
- ASP.NET Web API路由系统:路由系统的几个核心类型
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- django项目中新增app的2种实现方法
- 如何使用Node.js编辑XML文件
- Windows下安装yarn的三种方法
- python topk()函数求最大和最小值实例
- 详解Ubuntu环境下部署Django+uwsgi+nginx总结
- 如何从Node.js中的命令行读取输入
- pyqt5中动画的使用详解
- PyQt使用QPropertyAnimation开发简单动画
- 如何使用JavaScript漂亮地打印JSON对象
- Android使用AsyncTask加载图片的操作流程
- nodejs中post请求方式,req.body接值为空如何解决
- Kotlin使用静态变量与静态方法详解
- Android通过代码控制ListView上下滚动的方法
- Android为Tiny4412设备驱动在proc目录下添加一个可读版本信息的文件
- Android Studio 4.1 发布啦