python笔记:第二章基本数据类型
基本数据类型
Python中的数据类型可以分为五大类:字符串、数字、容器、布尔、None
1.字符串
可以使用单引号或双引号创建字符串,可以用加号将两个字符串合并
name = '小明'
age = '9岁'
print('合并字符串:', name + age)
格式化字符串:%s
a = "I'm %s" % ('xiaoming')
print(a)
I'm xiaoming
字符串的拼接
x = "first"
y = "blood"
print(x + y)
firstblood
格式化表达字符串repr
x = "Hello\nworld"
print(x)
print(repr(x))
print(str(x))
# 输出
Hello
world
'Hello\nworld' # 格式化输出
Hello
world
长字符串
多行表示字符串
x = '''hello! I am a girl.
what are you looking for?'''
print(x)
hello! I am a girl.
what are you looking for?
反斜杠也可以使常规语句跨行
print\
(1 * 7)
7
原始字符串
不以特殊方式处理反斜杠,在正则表达式用处很大
两种相似类型:不可变的bytes 和 可变的bytearray
用来与C语言互操作以及将文本写入文件或通过网络套接字发送出去
2.整型、浮点型
- 整型:正整数或负整数
number1 = 12 number2 = -3
- 浮点型:由整数部分和小数部分组成
score = 96.5
- 复数:由实数部分和虚数部分组成
3.容器
容器:List(列表)、Tuple(元组)、Sets(集合)、Dictionary(字典)
List(列表)
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。列表可以修改,可以用于切片、增、删、改、查
#创建列表
list1 = ['a', 'b', 'c', 'd', 'e']
print(list1)
['a', 'b', 'c', 'd', 'e']
#列表切片
#格式:【start:end:step】
#start:起始索引,从0开始,-1表示结束
#end:结束索引
#step:步长,end-start,步长为正时,从左向右取值。步长为负时,反向取值
#注意切片的结果不包含结束索引,即不包含最后的一位,-1代表列表的最后一个位置索引
a=[1,2,3,4,5,6]
b=a[0:5:3] // 注意是索引,不是顺序
c = a[0:3:1]
print(b)
print(c)
输出结果:
[1, 4]
[1, 2, 3]
#列表删除
del a[-1] # 删除最后一位 从0开始的序号 -1即为倒数第一位
print(a)
> [1, 2, 3, 4, 5]
del a[-2]
print(a)
> [1, 2, 3, 4, 6]
#列表修改
print("未修改之前第一个元素为:",a[0])
a[0] = '66' # 单引号可有可无
print("修改之后第一个元素为:",a[0])
#列表查询
a1 = a[0]
print("查询出列表第一个元素为:", a1)
Tuple(元组)
元组和列表类似,但是不同的是元组不能修改,元组使用小括号
#创建元组
tup = (1, 2, 3, 4, 5)
print(tup)
元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用。
#查询元组,下标索引从0开始
print("查询出列表第一个元素为:", tup[0])
元组中的元素值是不允许修改的,但可以对元组进行连接组合
tup1 = (23, 78);
tup2 = ('ab', 'cd')
tup3 = tup1 + tup2
print (tup3)
(23, 78, 'ab', 'cd')
Sets(集合)
Set是无序的集合,不能有重复的元素,也不能排序
#创建集合
s1 = set(['A','B','C','D'])
print(s1)
# 多次打印的字母顺序都是不同的
{'A', 'C', 'B', 'D'}
{'C', 'B', 'A', 'D'}
{'A', 'D', 'B', 'C'}
#增加元素:update
s1.update(['E'])
print(s1)
> {'A', 'D', 'E', 'C', 'B'}
#删除元素:discard
s1.discard('E')
print(s1)
#修改元素:先删除,后增加
s1.discard('D')
s1.update(['D'])
print(s1)
#查询元素
ss = 'B' in s1
print(ss)
> True
bb = 'G' in s1
print(bb)
> false
Dictionary(字典)
字典是另一种可变容器模型,且可存储任意类型对象
字典的格式如下所示:d = {key1 : value1, key2 : value2 }
键必须是唯一的,但值则不必。值可以取任何数据类型,但键的数据类型要保持一致。
#创建字典
d = {'01': 'xiaoming', '02': 'xiaohong', '03': 'xiaowang'}
print(d)
> {'01': 'xiaoming', '02': 'xiaohong', '03': 'xiaowang'}
#增加元素
d['04'] = 'xiangfang'
print(d)
> {'01': 'xiaoming', '02': 'xiaohong', '03': 'xiaowang', '04': 'xiangfang'}
d['05'] = 12
print(d)
> {'01': 'xiaoming', '02': 'xiaohong', '03': 'xiaowang', '04': 'xiangfang', '05': 12}
#删除元素
del d['04']
print(d)
#修改
print("修改之前:",d['01'])
d['01'] = 'xiaolin'
print("修改之后:",d['01'])
#查询
d1 = d['01']
print(d1)
> xiaoming
4.布尔:True、False
主要应用在条件判断上面,发生即为True,未发生即为False。Python严格区分大小写,所以一定要注意不要写错。
5.None
Python里面特殊的空值,不能理解为0。
python笔记:第二章基本数据类型的更多相关文章
- [Python笔记][第二章Python序列-复杂的数据结构]
2016/1/27学习内容 第二章 Python序列-复杂的数据结构 堆 import heapq #添加元素进堆 heapq.heappush(heap,n) #小根堆堆顶 heapq.heappo ...
- [Python笔记][第二章Python序列-tuple,dict,set]
2016/1/27学习内容 第二章 Python序列-tuple tuple创建的tips a_tuple=('a',),要这样创建,而不是a_tuple=('a'),后者是一个创建了一个字符 tup ...
- [python笔记][第二章Python序列-list]
2016/1/27学习内容 第二章 Python序列-list list常用操作 list.append(x) list.extend(L) list.insert(index,x) list.rem ...
- Python笔记·第二章—— Python的编码问题(一)
一.什么是编码 可以说,计算机是一个即聪明又笨蛋的家伙.说它聪明,是因为他可以做很多事情,它的强大无需多说,大家应该都有所了解以及感受.但是为什么说它又是个笨蛋呢,因为我们在电脑上写出的每一个字,保存 ...
- 《DOM Scripting》学习笔记-——第二章 js语法
<Dom Scripting>学习笔记 第二章 Javascript语法 本章内容: 1.语句. 2.变量和数组. 3.运算符. 4.条件语句和循环语句. 5.函数和对象. 语句(stat ...
- Spring学习笔记 - 第二章 - 注解开发、配置管理第三方Bean、注解管理第三方Bean、Spring 整合 MyBatis 和 Junit 案例
Spring 学习笔记全系列传送门: Spring学习笔记 - 第一章 - IoC(控制反转).IoC容器.Bean的实例化与生命周期.DI(依赖注入) [本章]Spring学习笔记 - 第二章 - ...
- SpringMVC学习笔记 - 第二章 - SSM整合案例 - 技术整合、统一结果封装、统一异常处理、前后联调、拦截器
[前置内容]Spring 学习笔记全系列传送门: Spring学习笔记 - 第一章 - IoC(控制反转).IoC容器.Bean的实例化与生命周期.DI(依赖注入) Spring学习笔记 - 第二章 ...
- Android群英传笔记——第二章:Android开发工具新接触
Android群英传笔记--第二章:Android开发工具新接触 其实这一章并没什么可讲的,前面的安装Android studio的我们可以直接跳过,如果有兴趣的,可以去看看Google主推-Andr ...
- The Road to learn React书籍学习笔记(第二章)
The Road to learn React书籍学习笔记(第二章) 组件的内部状态 组件的内部状态也称为局部状态,允许保存.修改和删除在组件内部的属性,使用ES6类组件可以在构造函数中初始化组件的状 ...
- 深入理解 C 指针阅读笔记 -- 第二章
Chapter2.h #ifndef __CHAPTER_2_ #define __CHAPTER_2_ /*<深入理解C指针>学习笔记 -- 第二章*/ /* 内存泄露的两种形式 1.忘 ...
随机推荐
- .NET Core MongoDB数据仓储和工作单元模式实操
前言 上一章节我们主要讲解了MongoDB数据仓储和工作单元模式的封装,这一章节主要讲的是MongoDB用户管理相关操作实操.如:获取所有用户信息.获取用户分页数据.通过用户ID获取对应用户信息.添加 ...
- XXL-JOB定时任务框架(Oracle定制版)
特点 xxl-job是一个轻量级.易扩展的分布式任务调度平台,能够快速开发和简单学习.开放源代码并被多家公司线上产品使用,开箱即用.尽管其确实非常好用,但我在工作中使用的是Oracle数据库,因为xx ...
- 一分钟使用Gitee,把本地项目放入gitee仓库中
一.先创建一个Gitee账号 首先需要自己去别的地方看创建一个空仓库,然后复制仓库的地址 省略... 现有本地有项目代码,远程空仓库一个,如何把本地项目代码推到远程仓库? 1.在项目根目录初始化 Gi ...
- odoo 开发入门教程系列-模块交互
模块交互 在上一章中,我们使用继承来修改模块的行为.在我们的房地产场景中,我们希望更进一步,能够为客户生成发票.Odoo提供了一个开发票模块,因此直接从我们的房地产模块创建发票是很简单的,也就是说,一 ...
- 【vue3-element-admin】Husky + Lint-staged + Commitlint + Commitizen + cz-git 配置 Git 提交规范
前言 本文介绍 vue3-element-admin 如何通过 Husky + Lint-staged + Commitlint + Commitizen + cz-git 来配置 Git 提交代码规 ...
- Nacos注册中心
介绍 Nacos是SpringCloudAlibaba的组件,而SpringCloudAlibaba也遵循SpringCloud中定义的服务注册.服务发现规范.因此使用Nacos和使用Eureka对于 ...
- HashMap实现原理和自动扩容
HashMap实现原理: JDK1.7:数组+单向链表(头插) 在并发情况下头插可能出现循环链表(死循环)问题.原因:因为头插,在新数组中链表的元素顺序发生了变化, 如上图,假设线程1在扩容,刚刚调整 ...
- 实例化对象 A a = new A();
"new" 在Java中代表实例化的意思, A a = new A()代表实例化了一个对象a, 这个对象a属于A类. 可以认为A是一个抽象概念, 对象a是一个实体(存储于内存), ...
- 2023-03-21:音视频解混合(demuxer)为MP3和H264,用go语言编写。
2023-03-21:音视频解混合(demuxer)为MP3和H264,用go语言编写. 答案2023-03-21: 步骤1:安装github.com/moonfdd/ffmpeg-go go get ...
- Django4全栈进阶之路12 render 函数和 redirect 函数
在 Django 中,你可以使用 render 函数来渲染模板并将其返回给客户端,也可以使用 redirect 函数来重定向到其他 URL. 在 Django 中,render 函数和 redirec ...