内置数据类型

数据名称 例子
数字: 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. P1968 美元汇率 怀疑智商超过海平面

    https://www.luogu.org/problemnew/show/P1968 也是一道贪心题,一些计算: 然而我却弄得很复杂: 既然我们要的是最后的最大值,那我们为什么要注意中间的细节呢: ...

  2. Atcoder ABC 139D

    Atcoder ABC 139D 解法: 等差数列求和公式,记得开 $ long long $ CODE: #include<iostream> #include<cstdio> ...

  3. ROS机器人开发实践学习笔记1

    刚刚开始学习ROS,打算入机器人的坑了,参考教材是<ROS及其人开发实践>胡春旭编著 机械工业出版社 华章科技出品.本来以为可以按照书上的步骤一步步来,但是,too young to si ...

  4. SQL-W3School-基础:SQL WHERE 语句

    ylbtech-SQL-W3School-基础:SQL WHERE 语句 1.返回顶部 1. WHERE 子句用于规定选择的标准. WHERE 子句 如需有条件地从表中选取数据,可将 WHERE 子句 ...

  5. C之堆栈

    栈* 自动申请,自动释放* 大小固定,内存空间连续* 从栈上分配的内存叫静态内存 堆* 程序员自己申请* new/malloc* 大小取决于虚拟内存的大小,内存空间不连续* java中自动回收,C中需 ...

  6. 使用Eclipse对SpringBoot项目如何进行打包部署

    1,打包概要介绍: 自己做了个小demo,突然想练一下如何打包发布,期间出现了两个错误,第一个是加载不到主类,第二个是加载不到jsp文件,一会会把这两个问题一一陈述,以及解决方法. 1.1,先检查po ...

  7. 12Flutter页面布局 AspectRatio和Cart卡片组件

    /* Flutter AspectRatio.Cart卡片组件: AspectRatio的作用是根据设置调整子元素child的宽高比. AspectRatio首先会在布局限制条件允许的范围内尽可能的扩 ...

  8. 广告行业——数字广告营销中的DSP、SSP、RTB是个什么概念

    原文链接1 原文链接2 如我是一个创业公司,没啥钱,老板给了1000块钱预算,让我去投互联网广告,对我说: “小卡啊!给你1000块钱,我知道你没见过那么多的巨款吧!不要被吓着,尽情去挥霍吧!哦对了, ...

  9. Qt编写数据可视化大屏界面电子看板11-自定义控件

    一.前言 说到自定义控件,我是感觉特别熟悉的几个字,本人亲自原创的自定义控件超过110个,都是来自各个行业的具体应用真实需求,而不是凭空捏造的,当然有几个小控件也有点凑数的嫌疑,在编写整个数据可视化大 ...

  10. CockroachDB学习笔记——[译]Hello World

    原文链接:https://www.cockroachlabs.com/blog/hello-world/ 原作者:Spencer Kimball 原文日期:Jun 4, 2015 译:zifeiy 数 ...