python--基础2 (数据类型及应用)
资源池
链接:https://pan.baidu.com/s/1OGq0GaVcAuYEk4F71v0RWw
提取码:h2sd
python数据类型
- 字符串
- 列表
- 字典
- 数字(整数)
- 数字(浮点数)
- 元组
- 集合
- 布尔类型
- 应用-数据类型转换、切片
变量
变量:变量是存储信息(数据)的容器。
语法: [ 修饰符 ] 数据类型 变量名字 [赋值操作]
变量的三要素:
- 数据类型
- 内存地址
- 变量的值
变量的命名和使用
- 变量名只能包含数字,字母和下划线。
- 变量名不能包含空格,但可以使用下划线来分隔其中的单词。
- 不要将python关键字和函数名作为变量名。
- 变量名应既简短又具有描述性。
1.字符串(str)
字符串或串(String)是由数字、字母、下划线组成的一串字符。
赋值
方法1 单引号
name='du'
print(type(name))
print(name)
方法2 双引号
name="du"
print(type(name))
print(name)
方法3 三引号
name='''
du
'''
print(type(name))
print(name)
三种方法运行输出内容相同:
<class 'str'>
du
应用
index 取指定元素的下标(索引),如果没有取到报错
a = 'aaadfdfdfkajfnskiddd'
print(a.index('d'))
....运行结果
3
[] 根据索引取值或改值
#获取索引位置元素值
a = 'aaadfdfdfkajfnskiddd'
print(a[6])
....运行结果
f
切片
#根据索引位置左侧所有值
a = 'aaadfdfdfkajfnskiddd'
print(a[:6])
....运行结果
aaadfd
split 从左往右将字符串以指定分隔符切割成列表(可指定刀数)
msg = '192.168.250.254'
print(msg.split('.'))
...运行结果
['192', '168', '250', '254']
msg = '192.168.250.254'
print(msg.split('.',2))
...运行结果
['192', '168', '250.254']
rsplit 从右往左将字符串以指定分隔符切割成列表(可指定刀数)
join 把可迭代对象变成字符串(可迭代对象:列表,元组,字典,字符串,集合)
res = ''.join(['1','2','3'])
print(res)
...运行结果
123
replace 替换字符(可以指定替换次数)
msg = '192.168.250.254'
print(msg.replace('.','-'))
...运行结果
192-168-250-254
msg = '192.168.250.254'
print(msg.replace('.','-',2))
...运行结果
192-168-250.254
strip去除字符串两边指定字符(默认空格)
msg="======helloworld======"
print(msg.strip('=')
...运行结果
helloworld
msg="======helloworld======"
print(msg.lstrip('=')) #指定替换左侧 leaf
...运行结果
helloworld======
msg="======helloworld======"
print(msg.rstrip('=')) #指定替换右侧 right
...运行结果
======helloworld
encode把字符串变成bytes类型
msg='你好'
res = msg.encode('utf-8')
print(res)
...运行结果
b'\xe4\xbd\xa0\xe5\xa5\xbd'
decode解码
msg=b'\xe4\xbd\xa0\xe5\xa5\xbd'
res = msg.decode('utf-8')
print(res)
...运行结果
格式化输出
name = 'du'
age = 23
#第一种玩法
res = 'my name is {}, my age is {}'.format(name,age)
print(res)
#第二种玩法
res = 'my name is {1}, my age is {0}'.format(name,age)
print(res)
#第三种玩法
res = 'my name is {n}, my age is {a},my small name si {n}'.format(a=age,n=name)
print(res)
...运行结果
my name is du, my age is 23
my name is 23, my age is du
my name is du, my age is 23,my small name si du
%s ,%d , %f 占位符,格式化输出
%s -->string 字符串(不做改变)
%d -->digit 数字(取整)
%f -->floating 浮点数 (可设置保留小数点位数)
high = 192.2
res = 'my high is %s' % high
print(res)
...运行结果
my high is 192.2
%.2f 保留两位小数
a=7.5256664362
print('%.2f' % a )
...运行结果
7.53
修改字符串大小写
msg='Hello,World'
print(msg.upper())
print(msg.lower())
...运行结果
HELLO,WORLD
hello,world
合并字符串
msg1='hello'
msg2='world'
full_msg=msg1+' '+msg2
print(full_msg)
...运行结果
hello world
2.列表 (list)
List(列表) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。
列表用 [ ] 标识,是 python 最通用的复合数据类型。
列表中可以保存多个有序数据。
列表可以保存任意对象
赋值
a4 = [1,2,3,'a1',(123)]
print(type(a4))
print(a4)
...运行结果
<class 'list'>
[1, 2, 3, 'a1', 123]
应用
count统计指定元素个数
students = ['f','a','b','c','d','d','1',2]
print(students.count('d'))
print(students.count(2))
...运行结果
2
1
len统计列表长度(len函数可以统计所有可迭代对象的长度)
students = ['f','a','b','c','d','d','1',2]
print(len(students))
...运行结果
8
调用列表中的元素 :listname[索引]
students = ['f','a','b','c','d','d','1',2]
print(students[3])
...运行结果
c
index取指定元素的下标(索引),如果没有取到报错
students = ['f','a','b','c','d','d','1',2]
print(students.index('f'))
...运行结果
0
append会把指定元素追加到末尾
students = ['f','a','b','c','d','d','1',2]
students.append('sb250')
students.append('sb250')
print(students)
...运行结果
['f', 'a', 'b', 'c', 'd', 'd', '1', 2, 'sb250', 'sb250']
remove 删除指定元素
students = ['f','a','b','c','d','d','1',2]
students.remove('f')
print(students)
...运行结果
['a', 'b', 'c', 'd', 'd', '1', 2]
可迭代对象包括:列表,字典,字符串,元组,集合
extend把可迭代对象传入进去
students = ['f','a','b','c','d','d','1',2]
students.extend(['asd','qwe'])
print(students
...运行结果
['f', 'a', 'b', 'c', 'd', 'd', '1', 2, 'asd', 'qwe']
3.字典(dict)
字典的值(value)可以是任意对象
字典的键(key)可以是任意不可变对象(int、str、bool、tuple。。。。)常用str
字典的键(key)不可以重复,重复后面的值会覆盖前面的值
赋值
list1 = {'name':'007','age':88}
list2={
'name':'007',
'age':88
}
print(type(list1))
print(list2)
...运行结果
<class 'dict'>
{'name': '007', 'age': 88}
应用
update把两个字典合并成一个字典(更新)
info1 = {
'name':'du',
'high':190,
'weight':160,
}
info2 = {
'telephone':110,
'name':'007'
}
info1.update(info2)
print(info1)
print(info2)
...运行结果
{'name': '蒋介石', 'high': 190, 'weight': 160, 'telephone': 110}
{'telephone': 110, 'name': '007'}
items将所有键值对全部打印出来
info1 = {
'name':'du',
'high':190,
'weight':160,
}
print(info1.items())
...运行结果
dict_items([('name', 'du'), ('high', 190), ('weight', 160)])
keys打印字典中所有的key
info1 = {
'name':'du',
'high':190,
'weight':160,
}
print(info1.keys())
...运行结果
dict_keys(['name', 'high', 'weight'])
values打印字典中所有的value
info1 = {
'name':'du',
'high':190,
'weight':160,
}
print(info1.values())
...运行结果
dict_values(['du', 190, 160])
get通过key取value,如果取不到返回None,不能重新赋值
[]通过key取value,如果取不到报错,可以重新赋值的
info1 = {
'name':'du',
'high':190,
'weight':160,
}
print(info1.get('aa'))
info1['name'] = '007'
print(info1)
...运行结果
None
{'name': '007', 'high': 190, 'weight': 160}
字典添加键值对
info1 = {
'name':'du',
'high':190,
'weight':160,
}
info1['age']=88
print(info1)
...运行结果
{'name': 'du', 'high': 190, 'weight': 160, 'age': 88}
4.数字(整数)(int)
Python支持四种不同的数字类型:
- 数字数据类型用于存储数值。他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。
- int(有符号整型)
- long(长整型[也可以代表八进制和十六进制])
- float(浮点型)
- complex(复数)
赋值
num = 250
print(type(num))
print(num)
...运行结果
<class 'int'>
250
应用
在python中可以对整数进行加(+)减(-)乘(*)除(/)
5.浮点数(float)
赋值
num= 11.1
print(type(num))
print(num)
...运行结果
<class 'float'>
11.1
6.元组(tuple)
元组不能二次赋值,相当于只读列表。
赋值
num = (1,2,3,4,[1,2,3,(1,2,3)])
print(type(num))
print(num)
...运行结果
<class 'tuple'>
(1, 2, 3, 4, [1, 2, 3, (1, 2, 3)])
应用
- 列表可读可修改,元组一般是用来读的
- 在相同元素的情况下,列表会占用的资源更多一些
7.集合(set)
集合和列表非常相似
不同点:
- 集合中只能存储不可变对象
- 集合中存储对象是无序的(不是按照元素的插入顺序保存的)
- 集合中不能出现重复的元素
赋值
num = {1,2,3,3,3,3,3}
print(type(num))
print(num)
...运行结果 (集合可以自动去重)
<class 'set'>
{1, 2, 3}
注:xxx={} 为字典
8.布尔(bool)
赋值
a = ''
print(type(True))
if a:
print('真')
else:
print('假')
...运行结果
<class 'bool'>
假
应用
两种值:Ture和False
python 中:空,0,None全部为假,其余全部为真
应用
数据类型转换
函数 | 作用 |
---|---|
int(x) | 将x转换成整数类型 |
float(x) | 将x转换成浮点数类型 |
str(x) | 将x转换成字符串 |
repr(x) | 将x转换成表达式字符串 |
chr(x) | 将整数x转换成一个字符 |
ord(x) | 将一个字符x转成他对应的整数值 |
切片
python--基础2 (数据类型及应用)的更多相关文章
- Python基础之数据类型
Python基础之数据类型 变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值 ...
- 第二章:python基础,数据类型
"""第二章:python基础,数据类型2.1 变量及身份运算补充2.2 二进制数2.3 字符编码每8位所占的空间位一个比特,这是计算机中最小的表示单位.每8个比特组成一 ...
- python基础一数据类型之字典
摘要: python基础一数据类型之一字典,这篇主要讲字典. 1,定义字典 2,字典的基础知识 3,字典的方法 1,定义字典 1,定义1个空字典 dict1 = {} 2,定义字典 dict1 = d ...
- 第一节 Python基础之数据类型(整型,布尔值,字符串)
数据类型是每一种语言的基础,就比如说一支笔,它的墨有可能是红色,有可能是黑色,也有可能是黄色等等,这不同的颜色就会被人用在不同的场景.Python中的数据类型也是一样,比如说我们要描述一个人的年龄:小 ...
- python基础一数据类型之集合
摘要: python基础一中介绍数据类型的时候有集合,所以这篇主要讲集合. 1,集合的定义 2,集合的功能 3,集合的方法 1,集合的定义 list1 = [1,4,5,7,3,6,7,9] set1 ...
- python基础一数据类型之元祖
摘要: python基础一中写到数据类型元祖,那么这篇主要讲元祖. 1,元祖定义 tuple1 = (1,2,'a','b') 元祖是不可变数据,所以又名只读列表.那么如何让是元祖可变呢?可以在元祖中 ...
- python基础一数据类型之列表
摘要: python基础一中写到列表,那么这篇主要讲列表. 1,定义列表 2,列表.元祖.字符串都属于序列,都可以用用索引和切片. 3,列表的方法 1,定义列表 list1 = ['a','b',1, ...
- Python基础一数据类型之数字类型
摘要: python基础一中提到了数据类型,这里主要讲解的是数字类型. 数字类型: 1,整型 2,长整型 3,浮点型 4,复数型 1,整型(int) 定义a = 1 通过type函数查看数据类型,整型 ...
- python基础(二)----数据类型
Python基础第二章 二进制 字符编码 基本数据类型-数字 基本数据类型-字符串 基本数据类型-列表 基本数据类型-元组 可变.不可变数据类型和hash 基本数据类型-字典 基本数据类型-集合 二进 ...
- Python学习day04 - Python基础(2)数据类型基础
<!doctype html>day04 - 博客 figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { ...
随机推荐
- 大数据量查询容易OOM?试试MySQL流式查询
一.前言 程序访问 MySQL 数据库时,当查询出来的数据量特别大时,数据库驱动把加载到的数据全部加载到内存里,就有可能会导致内存溢出(OOM). 其实在 MySQL 数据库中提供了流式查询,允许把符 ...
- YuebonCore 2021第一版发布,重构功能菜单模块
YuebonCore 2021.1.6 版本发布了,这是该软件 2021 年的首个版本更新. 对功能菜单模块进行重构,简化功能模块的新增配置,删除了原有的sys_function功能表,,优化sys_ ...
- Java并发包源码学习系列:AQS共享式与独占式获取与释放资源的区别
目录 Java并发包源码学习系列:AQS共享模式获取与释放资源 独占式获取资源 void acquire(int arg) boolean acquireQueued(Node, int) 独占式释放 ...
- 风炫安全WEB安全学习第二十一节课 存储型XSS讲解
风炫安全WEB安全学习第二十一节课 存储型XSS讲解 存储型XSS演示 存储型XSS,持久化,代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存 ...
- 风炫安全WEB安全学习第十七节课 使用Sqlmap自动化注入(一)
风炫安全WEB安全学习第十七节课 使用Sqlmap自动化注入(一) sqlmap的使用 sqlmap 是一个开源渗透测试工具,它可以自动检测和利用 SQL 注入漏洞并接管数据库服务器.它具有强大的检测 ...
- 安装Android Studio遇到的问题
1. 学习视频 视频链接:https://www.bilibili.com/video/BV1jW411375J?p=2 2. Android Studio1.5.1的下载地址: http://www ...
- 给编译出的程序添加图标(exe的图标)
安装依赖: go get github.com/akavel/rsrc 在对应程序的源码路径下创建manifest文件,图标也要放进去(xxx.ico), 命名:main.exe.manifest : ...
- 010_MySQL
目录 初识MySQL 为什么学习数据库 什么是数据库 数据库分类 MySQL简介 Windows安装MySQL 安装建议 软件下载 安装步骤 安装SQLyog 下载安装 连接数据库 简单操作 命令行连 ...
- 来不及解释!Linux常用命令大全,先收藏再说
摘要:Linux常用命令,很适合你的. 一提到操作系统,我们首先想到的就是windows和Linux.Windows以直观的可视化的方式操作,特别适合在桌面端PC上操作执行相应的软件.相比较Windo ...
- AvaloniaUI体验
公司的原有的PC端WPF产品有跨平台需求,无奈微软自己的xamarin对wpf的支持当前尚未达到能支撑产品的成熟度,于是经过搜索,发现了一个号称用WPF实现跨平台的第三方图形库AvaloniaUI. ...