内置数据类型

数据名称 例子
数字: Bool,Complex,Float,Integer True/False; z=a+bj; 1.23; 123
字符串: String '123456'
元组: Tuple (123456)
集合: Set
字典: Dict {1:'123456'}
文件:File
数组:Array
字节数组:Bytearray
graph TD;
存储方式划分-->可变对象;
存储方式划分-->不可变对象;
可变对象-->字典;
可变对象-->列表;
可变对象-->可变集合;
不可变对象-->数字;
不可变对象-->字符串;
不可变对象-->元组;
不可变对象-->不可变集合;
graph TD;
操作划分-->数字;
操作划分-->序列;
操作划分-->映射;
数字-->整数;
数字-->浮点数;
数字-->二进制数;
数字-->分数;
数字-->...;
序列-->字符串;
序列-->列表;
序列-->元组;
映射-->字典;

数字数据

常用内建函数 例子
abs(x):取得传递的值的绝对值 abs(-2) = 2
pow(x,y):进行平方计算 pow(2,2) = 4
max(x[,x1,x2]):求多个传递的值的最大值 max(1,22,5,3) = 22
min(x[,x1,x2]):求多个传递的值的最小值 min(1,2,3,4,6) = 1
sum([x1,x2[,x3],y]):计算传递的多个值的和 sum([1,2,3],2) = 8 ; sum([1,2,3]) = 6
常用math模块 例子
math.sqrt():进行开方运算 math.sqrt(4) = 2
math.pi:数字π 3.1415926...
math.sin():得到数据参数内的正弦函数 math.sin(1) = 0.8414709848078965

Bool函数:

在python2中是内建变量,而在python中增加了保留字之后,但True = 1 ,False = 0保留下来,所以判断真或假,False有三种情况一种是值为空,数字为0,等于None

None表示空值,它是一个特殊Python对象, None的类型是NoneType.None在Python解释器启动时自动创建, 解释器退出时销毁.

所以一个解释器进程中只有一个None存在

所以 输入: None is None and None == None; 输出: True

​ 输入: False == None; 输出: False

  • None不支持任何运算也没有任何内建方法

  • None和任何其他的数据类型比较永远返回False

  • None有自己的数据类型NoneType,不能创建其他NoneType对象(它只有一个值None)

  • None与0,空列表,空字符串不一样

import sys
a = sys.getsizeof(None)
b = sys.getsizeof(False)
c = sys.getsizeof(0)
d = sys.getsizeof(1)
print(a,b,c,d) # 16 24 24 28
# int为长整型,sys.getsizeof(0)数组元素为0.此时占用24字节(PyObject_VAR_HEAD的大小),sys.getsizeof(1)需使用一个元素所以为28 import operator as op
op.eq(0,False)
op.eq('',False)
op.eq(None,False) # True
# False
# False

内置数据运算

操作 操作符
算术运算 **+, -, *, /, //, %, ****
逻辑运算 and, or, not
比较运算 ==, !=, >, <, >=, <=,
位运算 in, not in
成员运算 is, is not
赋值运算
操作符 例子(s=1) 结果
= s = 4 4
+= s += 4 5
-= s -= 4 -3
*= s *= 4 4
/= s /= 4 0.25
%= s %= 4, 1
//= s //= 4 0
**= s **=4 1

类型转换

操作 例子 结果
int(x[,base]) int('3'); int('1101',2) 3; 13
float(x) float(3) 3.0
chr(x) chr(3) '\x03'
hex(x) hex(3) '0x3'
oct(x) oct(3) '0o3'

字符串数据

转义字符

转义字符 描述 转义字符 描述
\ 续航符 \ \ 反斜杠
\ ' 单引号 \ " 双引号
\a 响铃 \b 退格
\e 转义 \000
\n 执行 \v 纵向制表符
\t 横向制表符 \r 回车
\f 换页 \0yy 八进制数
\xyy 十六进制数 \other 其他字符以普通格式输出

字符串方法

内建函数
内建函数 例子(s = 'sos') 结果
find() s.find('s') 0
join() s.join('abc'); s.join('a') 'asosbsosc'; 'a'
len() len(s) 3
count() s.count('s') 2
split() s.split('o') ['s', 's']
replace() s.replace('o','a') 'sas'
dir() dir(s) ["__ add __",< br/>...]
字符串转换
转换 例子(today = datetime.date.today()) 结果
str() str(today) '2019-11-23'
repr() repr(today) 'datetime.date(2019, 11, 23)'

(str是转换成适合成人类阅读的,repr是转换成编译器使用的,列表和字典总是调用repr)

索引分片
索引,分片 例子 str='hello_world' 结果
str[i] str[2] 'l'
str[i:j:k] str[1:7:2] 'el_'

i为起始位置,j为终止位置,k为步长,第一位始终会被读取,截取长度为前闭后开,i默认值为0,j不限制则默认全部,空格也会占一位

格式化

%[(name)] [flags] [ width ] [.pression]typecode

格式化表达式 例子 demo={'test':'1.2242'} 结果 value%demo
name:指定参数名,用于字典参数格式化 value=' this is %(test)s' ' this is 1.2242'
flags:+/-表示左右对齐 value=' this is %(test)-10s ' 'this is 1.2242 '
width:表示字符串宽度 value=' this is %(test)10s ' 'this is 1.2242 '
precision:表示浮点数后的有效位数 value=' this is %(test).3f ' 'this is 1.224 '
typecode:确定转换的数字类型

{fieldname!confersionflag:formatspec}

格式化方法 例子demo={'s':12.222}
fieldname: 指定的数字或关键字,位置参数,关键字参数,下标/属性 value='this is {test} '.format(test = demo['s'])
confersionflag: r/a/s, repr,ascii.str value='this is {test!r} '.format(test = demo['s'])
formatspec:

[[fill] align [sign] [width] [.precision] [typecode]]

格式化方法参数'formatspec' 作用 例子
fill 填充 {test:0^10}: this is 0012.22200
align 填充对齐方式与fill一同出现</>/^,右/左/中 {test!r:0>10}: this is 000012.222
sign 数字符号表示正负,参数为字符串不可用,相同显示正确结果 {test:+}: this is +12.222
width 表示字符串宽度 {test:10}: this is 12.222
.precision 显示浮点数保留几位 {test:10.2f}: this is 12.22
typecode
typecode 描述
s 获取传入对象的 __ str __
r 获取传入对象的 __ repr __
c 整数,转换为Unicode值
o 整数,转换为八进制
x 整数,转换为十六进制
d 整数,转换为十进制
f 浮点数,十进制显示

列表数据

  • 可以存储任何对象
  • 支持所有序列操作
  • 支持原处修改,可变对象
  • 长度可变,异构,可任意嵌套

本质是对象的引用组成的数组

列表操作

操作 例子 s=[1,2,3,4,6] 结果
len(): 读取长度 len(s) 5
sum(): 求和 sum(s) 16
max()/min(): 最大最小值 min(s) 1
append(): 追加元素 s.append(7) [1, 2, 3, 4, 6, 7]
extend(): 追加元素(在原列表上追加新列表) s.extend([1,2,3]) [1, 2, 3, 4, 6, 7, 1, 2, 3]
insert(x,y): 插入元素(在x位之后插入y元素) s.insert(4,5) [1, 2, 3, 4, 5, 6, 7]
count(): 元素统计,返回列表中出现的次数 s.count(4) 1
index(): 返回元素的索引值 s.index(6) 5
pop(): 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 s.pop(-2) 6
remove(): 移除列表中某个值的第一个匹配项 s.remove(2) [1, 3, 4, 5, 7]
del(): 删除一个或多个元素(根据索引删除) del s[1] [1, 4, 5, 7]
sort(cmp=None,key=None,reverse=False): 用于对原列表进行排序(reverse默认false为升序) s.sort(reverse=True) [7, 5, 4, 1]

列表推导式

结构是在一个中括号里包含一个表达式,然后是一个for语句,然后是 0 个或多个 for 或者 if 语句

t = [x for x in range(1,51)]
[1,2,3...,49,50] import random
s = [random.randint(1,100) for i in range(10)]
[25, 83, 28, 68, 28, 84, 16, 45, 87, 73]

元组数据

  • 不可变序列(不可在原处修改)

    • 内容不可变
    • 数据之间的相对位置不可变
  • 任意对象的有序集合
  • 固定长度,异构,任意嵌套
  • 支持所有的序列操作,索引,切片

字典数据

  • 通过'key'来访问数据
  • 任意对象的无序集合
  • 可变长,异构,任意嵌套
  • 可变对象,任意修改

本质是对象引用的散列表

  • 序列操作对字典无效
  • 对不存在的索引赋值会增加新项
  • 'key'必须可被哈希化,数字,字符串
  • 字典无序存储
  • 通过哈希算法存储'key'查找速度快
  • 查询速度不会因元素增多而变慢
  • 额外储存'key'值,空间换取时间

Python基础『一』的更多相关文章

  1. Python基础『二』

    目录 语句,表达式 赋值语句 打印语句 分支语句 循环语句 函数 函数的作用 函数的三要素 函数定义 DEF语句 RETURN语句 函数调用 作用域 闭包 递归函数 匿名函数 迭代 语句,表达式 赋值 ...

  2. 『Python基础-12』各种推导式(列表推导式、字典推导式、集合推导式)

    # 『Python基础-12』各种推导式(列表推导式.字典推导式.集合推导式) 推导式comprehensions(又称解析式),是Python的一种独有特性.推导式是可以从一个数据序列构建另一个新的 ...

  3. 『Python基础-11』集合 (set)

    # 『Python基础-11』集合 (set) 目录: 集合的基本知识 集合的创建 访问集合里的值 向集合set增加元素 移除集合中的元素 集合set的运算 1. 集合的基本知识 集合(set)是一个 ...

  4. 『Python基础-10』字典

    # 『Python基础-10』字典 目录: 1.字典基本概念 2.字典键(key)的特性 3.字典的创建 4-7.字典的增删改查 8.遍历字典 1. 字典的基本概念 字典一种key - value 的 ...

  5. 『Python基础-9』元祖 (tuple)

    『Python基础-9』元祖 (tuple) 目录: 元祖的基本概念 创建元祖 将列表转化为元组 查询元组 更新元组 删除元组 1. 元祖的基本概念 元祖可以理解为,不可变的列表 元祖使用小括号括起所 ...

  6. 『Python基础-8』列表

    『Python基础-8』列表 1. 列表的基本概念 列表让你能够在一个地方存储成组的信息,其中可以只包含几个 元素,也可以包含数百万个元素. 列表由一系列按特定顺序排列的元素组成.你可以创建包含字母表 ...

  7. 『Python基础-7』for循环 & while循环

    『Python基础-7』for循环 & while循环 目录: 循环语句 for循环 while循环 循环的控制语句: break,continue,pass for...else 和 whi ...

  8. 『Python基础-6』if语句, if-else语句

    # 『Python基础-6』if语句, if-else语句 目录: 条件测试 if语句 if-else语句 1. 条件测试 每条if语句的核心都是一个值为True或False的表达式,这种表达式被称为 ...

  9. 『Python基础-5』数字,运算,转换

    『Python基础-5』数字,运算,转换 目录 基本的数字类型 二进制,八进制,十六进制 数字类型间的转换 数字运算 1. 数字类型 Python 数字数据类型用于存储数学上的值,比如整数.浮点数.复 ...

随机推荐

  1. 解决“cv2.error: OpenCV(3.4.2) C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:356:...”

    主要是图片路径中“文件夹分隔符”使用的错误 将“\”改成“/”就好了 修改后的测试代码如下:x.py #导入cv模块 import cv2 as cv #读取图像,支持 bmp.jpg.png.tif ...

  2. 在servlet中获取out.print("")

    只需要添加这一句代码 PrintWriter out=resp.getWriter();

  3. servlet 中session的使用方法(创建,使用)

    创建: protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, ...

  4. spring事务在web环境中失效的问题

    今天温习一下spring事务的时候,出现了一种诡异的现象,在java环境中测试事务是可以的.然后到web下测试事务就没用了.spring.xml配置 spring-mvc.xml配置 后来百度发现是因 ...

  5. Spring入门IOC和AOP学习笔记

    Spring入门IOC和AOP学习笔记 概述 Spring框架的核心有两个: Spring容器作为超级大工厂,负责管理.创建所有的Java对象,这些Java对象被称为Bean. Spring容器管理容 ...

  6. map初步(由ABBC--->A2BC)

    1.题目: Given a string containing only 'A' - 'Z', we could encode it using the following method: 1. Ea ...

  7. .NET Standard

    A formal specification of the APIs that are common across .NET implementations What is .NET Standard ...

  8. 使用 pip wheel 实现 Python 依赖包的离线安装

    pip python 依赖 安装 有时候, 需要部署 Python 应用的服务器没有网络连接, 这时候, 你就要把整个 Python 应用做成离线安装包. 借助 wheel, 很容易就可以实现. 首先 ...

  9. linux Host key verification failed.错误

    Host key verification failed. 1. ssh-keygen -R 你要访问的IP地址 2. ssh-keygen -R 108.61.163.242

  10. UML期末复习题——2.3:UML State Diagram

    第三题  状态图 重要概念: 1.定义:事件.状态和转换: 事件:指一件值得注意的事情的发生. 状态:指对象在事件发生之间某时刻所处的情形. 转换:两个状态之间的关系.它表明当某事件发生时,对象从先前 ...