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.忘 ...
随机推荐
- Java SpringBoot 中,动态执行 bean 对象中的方法
根据不同的条件,调用不同的 bean 对象,执行对象中的方法 SpringUtils 工具类 package com.vipsoft.web.utils; import cn.hutool.core. ...
- MySQL(二)字符集、比较规则与规范
1 字符集的相关操作 MySQL8.0之前的版本,默认字符集为latin1,8.0及之后默认为utfmb3.utfmb4,如果以前的版本忘记修改默认的密码,就会出现乱码的问题. 1.1 修改步骤 修改 ...
- Yolov8离谱报错
YoloV8离谱报错 今天下午给一个研究生小姐姐跑数据集,用的是yolov8在恒源云上租的4070的GPU服务器,跑垃圾分类数据集(https://blog.csdn.net/m0_5488250 ...
- Linux操作系统网络模块
Linux操作系统的网络模块是负责网络通信的核心部分.它通过实现各种协议和算法,使得计算机能够在网络中进行数据交换和通信.网络模块主要包括以下几个方面的功能: (1)IP协议栈:负责处理网络层的数据包 ...
- PostgreSQL插件那么多,怎样管理最高效?
摘要:华为云RDS for PostgreSQL通过插件管理功能,很好地解决了PostgreSQL版本与插件耦合的问题,帮助用户更直观.更快速地安装管理数据库插件. 本文分享自华为云社区<Pos ...
- Amazon S3 对象存储Java API操作记录(Minio与S3 SDK两种实现)
缘起 今年(2023年) 2月的时候做了个适配Amazon S3对象存储接口的需求,由于4月份自学考试临近,一直在备考就拖着没总结记录下,开发联调过程中也出现过一些奇葩的问题,最近人刚从考试缓过来顺手 ...
- Flutter(十) 音频+视频播放
在Flutter中,我们有各种插件可供使用,从而实现音频和视频的播放功能. 例如,可以使用"text_to_speech"插件来将文字转换为语音,使用内置的"video_ ...
- 一篇文章搞定什么是nodeJs它和NPM关系与应用
现在前端的入门门槛越来越高了,不再是单纯 html+css+js,各种前端框架 层出不穷,各种ui组件库层出不穷. 模块化,打包化,各种工具库层出不穷,前端变成大前端 ,甚至前端可以搞定整个项目,通过 ...
- JavaWeb之day02css与js
目录: 1.CSS概述和与HTML的结合方式(四种)(*******) 2.CSS的基本选择器(******) 3.CSS的扩展选择器(了解) 4.CSS的盒子模型(了解) 5.CSS的布局(浮动)( ...
- 2021-04-04:给定一个非负数组arr,和一个正数m。 返回arr的所有子序列中累加和%m之后的最大值。
2021-04-04:给定一个非负数组arr,和一个正数m. 返回arr的所有子序列中累加和%m之后的最大值. 福大大 答案2021-04-04: 自然智慧即可. 1.递归,累加和. 2.动态规划,累 ...