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:\baisc\tpython1808\day02\hello.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: 将十进制数据转换为十六进制数据

python第二课——数据类型1的更多相关文章

  1. Python 第二课笔记

    1.模块初识 Python标准库和第三方库, 写好的功能封装好,起个名字,就是模块也叫库,直接导入就能用了. 标准库就是不需要安装,就能够导入的库 第三方库必须下载,安装才能使用的库. 1.1 两个标 ...

  2. python第二周数据类型 字符编码 文件处理

    第一数据类型需要学习的几个点: 用途 定义方式 常用操作和内置的方法 该类型总结: 可以存一个值或者多个值 只能存储一个值 可以存储多个值,值都可以是什么类型 有序或者无序 可变或者不可变 二:数字整 ...

  3. 小哈学Python第二课:Hello Word

    Python入门 1.Hello World 2.Hello World

  4. python第二课--分支结构与循环结构

    if语句---分支结构 在Python中,要构造分支结构可以使用if.elif和else关键字.所谓关键字就是有特殊含义的单词,像if和else就是专门用于构造分支结构的关键字,很显然你不能够使用它作 ...

  5. python第二课

    本节内容 1.列表list.切片 2.字典dict

  6. Python第二课-输入输出

    name = input() 输入的字符串已经赋值给变量name print() 输出内容 print(,) print中,连接字符串相当于空格

  7. python第二课list基本命令

    列表: stus= 'ada,dsfas.,saf,sdfas,saf'  #字符串new_stus = ['段','加','linux','123','数组']   #列表 取值方便#列表,数组,l ...

  8. 第二篇.1、python基础之数据类型与变量

    一.变量 1 什么是变量之声明变量 #变量名=变量值 age=18 gender1='male' gender2='female' 2 为什么要有变量 变量作用:“变”=>变化,“量”=> ...

  9. 第二章:python基础,数据类型

    """第二章:python基础,数据类型2.1 变量及身份运算补充2.2 二进制数2.3 字符编码每8位所占的空间位一个比特,这是计算机中最小的表示单位.每8个比特组成一 ...

随机推荐

  1. favi.icon是什么?

    各大网站都有属于自己的图标 概念解释: ico是Icon file的缩写,是Windows的图标文件格式的一种 1.制作ico格式的图片一个上传到服务器的根目录图片保存为favicon.ico 2.制 ...

  2. 如何移动 nuget 缓存文件夹

    本文告诉大家如何移动 nuget 缓存文件夹. 因为 nuget 文件夹一般比较大,现在我的 nuget 文件夹有 10 G,默认的 nuget 文件夹是在C盘,所以需要移动他. 可以使用下面的代码查 ...

  3. Vertica使用Database Designer创建完整的设计

    Vertica Database Designer 分析逻辑架构,示例数据库可以分析实力查询. 创建可自动部署或手动部署的物理架构设计(一组投射) 任何不具备数据库专业知识的人员均可使用 可以随时运行 ...

  4. Struts2和MVC的简单整合

    1.首先还是创建一个简单Maven的项目,导入jar包, <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:x ...

  5. Eclipse软件使用说明

    http://www.ziqiangxuetang.com/eclipse/eclipse-explore-menus.html

  6. vue setTimeout--延迟操作

    有时候我们在查询后要做某些事情,例如我查询的时候要根据某个值再去查询某些东西并和这些值一起显示的时候,我们可以对渲染数据的操作进行延迟,因为代码执行的速度是很快的而访问数据的操作相对于渲染的速度慢得多 ...

  7. MySQL数据库的回滚失败(JAVA)

    这几天在学习MySQL数据的知识,有一个小测试,用来测试数据库的提交和回滚. 刚开始的时候真的没把这个当回事,按照正常的步骤来讲的话,如下所示,加载驱动,获取数据库的连接,并且把数据库的自动提交给关闭 ...

  8. 倒计时5,4,3,2,1css实现(count down from 5 to 1 using css)

    //count down from 5 to 1, a useful animation. show the code to you:   <!DOCTYPE html> <html ...

  9. R下载package的一些小问题

    1.Error in install.packages : unable to create ‘C:/Users/???/Documents/R/win-library\3.5 采用管理员身份运行,先 ...

  10. 爬虫必备—scrapy-redis(分布式爬虫)

    转载自:http://www.cnblogs.com/wupeiqi/articles/6912807.html scrapy-redis是一个基于redis的scrapy组件,通过它可以快速实现简单 ...