基本数据类型

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笔记:第二章基本数据类型的更多相关文章

  1. [Python笔记][第二章Python序列-复杂的数据结构]

    2016/1/27学习内容 第二章 Python序列-复杂的数据结构 堆 import heapq #添加元素进堆 heapq.heappush(heap,n) #小根堆堆顶 heapq.heappo ...

  2. [Python笔记][第二章Python序列-tuple,dict,set]

    2016/1/27学习内容 第二章 Python序列-tuple tuple创建的tips a_tuple=('a',),要这样创建,而不是a_tuple=('a'),后者是一个创建了一个字符 tup ...

  3. [python笔记][第二章Python序列-list]

    2016/1/27学习内容 第二章 Python序列-list list常用操作 list.append(x) list.extend(L) list.insert(index,x) list.rem ...

  4. Python笔记·第二章—— Python的编码问题(一)

    一.什么是编码 可以说,计算机是一个即聪明又笨蛋的家伙.说它聪明,是因为他可以做很多事情,它的强大无需多说,大家应该都有所了解以及感受.但是为什么说它又是个笨蛋呢,因为我们在电脑上写出的每一个字,保存 ...

  5. 《DOM Scripting》学习笔记-——第二章 js语法

    <Dom Scripting>学习笔记 第二章 Javascript语法 本章内容: 1.语句. 2.变量和数组. 3.运算符. 4.条件语句和循环语句. 5.函数和对象. 语句(stat ...

  6. Spring学习笔记 - 第二章 - 注解开发、配置管理第三方Bean、注解管理第三方Bean、Spring 整合 MyBatis 和 Junit 案例

    Spring 学习笔记全系列传送门: Spring学习笔记 - 第一章 - IoC(控制反转).IoC容器.Bean的实例化与生命周期.DI(依赖注入) [本章]Spring学习笔记 - 第二章 - ...

  7. SpringMVC学习笔记 - 第二章 - SSM整合案例 - 技术整合、统一结果封装、统一异常处理、前后联调、拦截器

    [前置内容]Spring 学习笔记全系列传送门: Spring学习笔记 - 第一章 - IoC(控制反转).IoC容器.Bean的实例化与生命周期.DI(依赖注入) Spring学习笔记 - 第二章 ...

  8. Android群英传笔记——第二章:Android开发工具新接触

    Android群英传笔记--第二章:Android开发工具新接触 其实这一章并没什么可讲的,前面的安装Android studio的我们可以直接跳过,如果有兴趣的,可以去看看Google主推-Andr ...

  9. The Road to learn React书籍学习笔记(第二章)

    The Road to learn React书籍学习笔记(第二章) 组件的内部状态 组件的内部状态也称为局部状态,允许保存.修改和删除在组件内部的属性,使用ES6类组件可以在构造函数中初始化组件的状 ...

  10. 深入理解 C 指针阅读笔记 -- 第二章

    Chapter2.h #ifndef __CHAPTER_2_ #define __CHAPTER_2_ /*<深入理解C指针>学习笔记 -- 第二章*/ /* 内存泄露的两种形式 1.忘 ...

随机推荐

  1. .NET Core MongoDB数据仓储和工作单元模式实操

    前言 上一章节我们主要讲解了MongoDB数据仓储和工作单元模式的封装,这一章节主要讲的是MongoDB用户管理相关操作实操.如:获取所有用户信息.获取用户分页数据.通过用户ID获取对应用户信息.添加 ...

  2. XXL-JOB定时任务框架(Oracle定制版)

    特点 xxl-job是一个轻量级.易扩展的分布式任务调度平台,能够快速开发和简单学习.开放源代码并被多家公司线上产品使用,开箱即用.尽管其确实非常好用,但我在工作中使用的是Oracle数据库,因为xx ...

  3. 一分钟使用Gitee,把本地项目放入gitee仓库中

    一.先创建一个Gitee账号 首先需要自己去别的地方看创建一个空仓库,然后复制仓库的地址 省略... 现有本地有项目代码,远程空仓库一个,如何把本地项目代码推到远程仓库? 1.在项目根目录初始化 Gi ...

  4. odoo 开发入门教程系列-模块交互

    模块交互 在上一章中,我们使用继承来修改模块的行为.在我们的房地产场景中,我们希望更进一步,能够为客户生成发票.Odoo提供了一个开发票模块,因此直接从我们的房地产模块创建发票是很简单的,也就是说,一 ...

  5. 【vue3-element-admin】Husky + Lint-staged + Commitlint + Commitizen + cz-git 配置 Git 提交规范

    前言 本文介绍 vue3-element-admin 如何通过 Husky + Lint-staged + Commitlint + Commitizen + cz-git 来配置 Git 提交代码规 ...

  6. Nacos注册中心

    介绍 Nacos是SpringCloudAlibaba的组件,而SpringCloudAlibaba也遵循SpringCloud中定义的服务注册.服务发现规范.因此使用Nacos和使用Eureka对于 ...

  7. HashMap实现原理和自动扩容

    HashMap实现原理: JDK1.7:数组+单向链表(头插) 在并发情况下头插可能出现循环链表(死循环)问题.原因:因为头插,在新数组中链表的元素顺序发生了变化, 如上图,假设线程1在扩容,刚刚调整 ...

  8. 实例化对象 A a = new A();

    "new" 在Java中代表实例化的意思, A a = new A()代表实例化了一个对象a, 这个对象a属于A类. 可以认为A是一个抽象概念, 对象a是一个实体(存储于内存), ...

  9. 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 ...

  10. Django4全栈进阶之路12 render 函数和 redirect 函数

    在 Django 中,你可以使用 render 函数来渲染模板并将其返回给客户端,也可以使用 redirect 函数来重定向到其他 URL. 在 Django 中,render 函数和 redirec ...