Python——数据类型

一、基本数据类型

1.1数字类型

1.1.1整数类型

  • 十进制:1010,-219
  • 二进制:以0b或0B开头:0b010,-0B101
  • 八进制,以0o或0O开头:0o123,-0O234
  • 十六进制,以0x或0X开头:0x9a,-0X89

1.1.2浮点数类型

1、运算存在不确定尾数,但不是bug
round(x,d):对x四舍五入,d是小数截取位数(浮点数间运算、比较可用该函数辅助)
2、可采用科学计数法表示
使用字母e或E作为幂的符号,以10为基数,格式:<a>e<b>,表示 a*10^b。如:4.3e-3 为0.0043,9.6E5 为960000.0

1.1.3数值运算操作符

/ 除运算,结果为浮点数
// 整除运算
** 幂运算
类型间可以进行混合运算,生成结果为“最宽”类型:整数->浮点数->复数

#daydayupQ1.py
dayfactor=0.001
dayup=pow(1+dayfactor,365)
daydown=pow(1-dayfactor,365)
print("向上:{:.2f},向下:{:.2f}\n".format(dayup,daydown))

#daydayupQ2.py
def dayUP(df): # def保留字用于定义函数
    dayup=1
    for i in range(365):
        if i%7 in [6,0]:
            dayup*=1-0.01 #休息日能力退步
        else:
            dayup*=1+df #工作日能力进步
    return dayup

dayfactor=0.01
while dayUP(dayfactor)<37.78:
    dayfactor+=0.001
print("工作日的努力参数是:{:.3f}".format(dayfactor))

1.2字符串类型

1.2.1字符串

1、定义:由0个或多个字符组成的有序字符序列

  • 由一对单引号或双引号表示单行字符串
  • 由一对三单引号或三双引号表示多行字符串。多行注释也是一种字符串,只是没有赋给变量
  • 是字符的有序序列,可以对其中的字符进行索引

2、2类4种表示方法

  1. 希望在字符串中包含双引号或单引号(包含单引号时,外侧用双引号;包含双引号时,外侧用单引号),如:'这里有个双引号(")' 或 "这里有个单引号(')"
  2. 希望在字符串中既包括单引号又包括双引号(外侧使用三单引号),如:'''这里既有单引号(' ')又有双引号(" ")'''

3、字符串的序号:正向递增序号(第一个字符从0开始),反向递减序号(最后一个字符从-1开始)
uiK8II.png

1.2.2字符串的使用

1、使用[]获取字符串中一个或多个字符

  • 索引:返回字符串中单个字符 [M],如:TempStr[-1]
  • 切片:返回字符串中一段字符子串 [M:N](从第M个开始,不到第N个。M缺失表示从头开始,N缺少表示到结尾),如:TempStr[0:-1]
    高级用法:使用[M:N:K]根据步长对字符串切片,如:"0123456789"[1:8:2] 的结果为 "1357"。如果想对字符串逆序,可用"0123456789"[::-1]

2、转义符 表达特定字符的本意,如:"这里有个双引号(")",即外侧也可使用双引号
形成组合,表示特殊含义,如:\n,\b等

1.2.3字符串操作符

  • x+y:连接两个字符串
  • xn 或 nx:复制 n次字符串 x
  • x in s:若 x是 s的子串,返回True,否则返回False

1.2.4字符串处理函数

  • len(x):返回字符串 x的长度(Python中,数字、标点符号、字母、汉字都是一个字符),如:len("一二三456") 为 6
  • str(x):任意类型 x对应的字符串形式,如:str([1,2]) 为 "[1,2]"
  • hex(x)或oct(x):整数 x的十六进制或八进制小写形式字符串,如:hex(425) 为 "0x1a9",oct(425) 为 "0o651"
  • chr(u):u为Unicode编码,返回对应字符
  • ord(x):x为字符,返回对应Unicode编码

1.2.5字符串处理方法

方法:特指 <a>.<b>()风格中的函数 <b>();其本身也是函数,但与 <a>有关,以 <a>.<b>()风格使用;字符串及变量也是 <a>,存在一些方法

  • str.lower()或str.upper():返回字符串的副本,全部字符小写/大写
  • str.split(sep=None):返回一个列表,由 str根据 sep被分隔的部分组成,如:"A,B,C".split(",") 为 ['A','B','C']
  • str.count(sub):返回子串 sub在 str中出现的次数,如:"an apple a day".count("a") 为 4
  • str.repiace(old,new):返回字符串 str的副本,所有 old子串被替换为 new
  • str.center(width,[,fillchar]):字符串 str根据宽度 width居中,fillchar可选,如:"python".center(20,"=") 为 '=======python======='
  • str.strip(chars):从 str中去掉在其左侧和右侧 chars中列出的每个字符(而不是整体的字符串),如:"= python=".strip(" =np") 为 "ytho"
  • str.join(iter):在 iter变量除最后元素外每个元素后增加一个 str(主要用于字符串分隔),如:",".join("12345") 为 "1,2,3,4,5"
#获取星期字符串
#输入:1-7的整数,表示星期几
#输出:输入整数对应的星期字符串
weekStr="星期一星期二星期三星期四星期五星期六星期日"
weekID=eval(input("请输入星期数字(1-7):"))
pos=(weekID-1)*3
print(weekID[pos:pos+3])
#简化版
weekStr="一二三四五六日"
weekID=eval(input("请输入星期数字(1-7):"))
print("星期"+weekStr[weekID-1])

二、组合数据类型

2.1集合

2.1.1定义

(与数学中的集合概念一致)
集合元素不可更改,不能是可变数据类型

  • 用大括号 {} 表示,元素间用逗号分隔
  • 建立集合类型用 {} 或 set()
  • 建立空集合类型,必须使用 set()
A={"python",123,("python",123)}
#为:{123,'python',('python',123)}
B=set("python123")
#为:{'1','p','2','3','y'}    无序的
C={"python",123,"python",123}
#为:{'python',123}

2.1.2操作符

  • S|T:返回一个新集合,包括在集合 S和 T中的所有元素
  • S-T:返回一个新集合,包括在集合 S但不在 T中的元素
  • S&T:返回一个新集合,包括同时在集合 S和 T中的元素
  • S^T:返回一个新集合,包括集合 S和 T中的非相同元素
  • S<=T或S<T:返回 True/False,判断 S和 T的子集关系
  • S>=T或S>T:返回 True/False,判断 S和 T的包含关系

增强操作符

  • S|=T:更新集合 S,包括在集合 S和 T中的所有元素
  • S-=T:更新集合 S,包括在集合 S但不在 T中的元素
  • S&=T:更新集合 S,包括同时在集合 S和 T中的元素
  • S^=T:更新集合 S,包括集合 S和 T中的非相同元素
A={'p','y',123}
B=set("pypy123")
A-B
#为:{123}
A&B
#为:{'p','y'}
A^B
#为:{'2',123,'3','1'}
B-A
#为:{'3','1','2'}
A|B
#为:{'1','p','2','y','3',123}

2.1.3处理方法

  • S.add(x):如果 x不在集合 S中,将 x增加到 S
  • S.discard(x):移除 S中元素 x;如果 x不在集合 S中,不报错
  • S.remove(x):移除 S中元素 x;如果 x不在集合 S中,产生 KeyError异常
  • S.clear():移除 S中所有元素
  • S.pop():随即返回 S的一个元素,更新 S,若 S为空产生 KeyError异常
A={"p","y",123}
for item in A:
    print(item,end="")

try:
    while True:
        print(A.pop(),end="") #从 A中弹出一个元素,当列表为空时返回异常
except:
    pass #此时 A为空

2.1.4应用场景

  • 关系比较
  • 数据去重
"p" in {"p","y",123}
#为:True
{"p","y"}>={"p","y",123}
#为:False

ls=["p","p","y","y",123]
s=set(ls) #利用集合无重复元素的特点
#{'p','y',123}
lt=list(s) #再将集合转换为列表
#['p','y',123]

2.2序列

2.2.1定义

具有先后关系的一组元素

  • 一维元素向量,元素可以相同,元素类型可以不同(如:)
  • 类似数学元素序列:S0,S1,...Sn-1
  • 元素间由序号引导,通过下标访问序列的特定元素

基类类型,衍生出 字符串类型,元组类型,列表类型

2.2.2操作符

  • x in s:如果 x是序列 s中的元素,返回 True,否则返回 False
  • x not in s:如果 x是序列 s中的元素,返回 False,否则返回 True
  • s+t:连接两个序列 s和 t
  • sn或ns:将序列 s复制 n次
  • s[i]:索引,返回 s中第 i 个元素,i 是序列的序号
ls=["python",123,".io"]
ls[::-1]
#为:['.io',123,'python']
s="python123.io"
ls[::-1]
#为:'oi.321nohtyp'

2.2.3函数与方法

  • len(s):返回序列 s的长度
  • min(s):返回序列 s的最小元素,s中元素需要可比较
  • max(s):返回序列 s的最大元素,s中元素需要可比较
  • s.index(x)或s.index(x,i,j):返回序列 s从 i开始到j位置中第一次出现元素 x的位置
  • s.count(x):返回序列 s中出现 x的总次数
ls=["python",123,".io"]
len(ls)
#为:3
s="python123.io"
max(s)
#为:'y'

2.2.4元组

  • 一种序列类型,一旦创建就不能扩展
  • 使用小括号()或tuple()创建,元素用逗号分隔
  • 小括号不是必需的
def func():
    return 1,2
#实际返回的是(1,2)的元组

creature="cat","dog","tiger","human"
#为:('human','tiger','dog','cat')
color=(0x001100,"blue",creature)
#为:(4352,'blue',('cat','dog','tiger','human'))
color[-1][2]
#为:'tiger'

2.2.5列表

1、定义

  • 一种序列类型,创建后可以随意修改
  • 使用方括号[]或list[]创建,元素用逗号分隔
  • 各元素类型可以不同,无长度限制

2、函数

  • ls.append(x):在列表 ls最后增加一个元素 x
  • ls.clear():删除列表 ls的所有元素
  • ls.copy():生成一个新列表,赋值 ls中所有元素
  • ls.insert(i,x):在列表 ls的第 i个位置插入元素 x
  • ls.pop(i):将列表 ls中第 i个位置的元素取出并删除该元素
  • ls.remove(x):将列表 ls中出现的第一个元素 x删除

2.2.6应用场景

  • 元素遍历
  • 数据保护(转换成不能扩展的元组类型)
ls=["cat","dog","tiger",1024]
#为:['cat','dog','tiger',1024]
lt=ls
#lt为:['cat','dog','tiger',1024]。赋值仅传递引用,lt和ls其实指向的是同一个

2.3字典

2.3.1定义

映射是一种键(索引)和值(数据)的对应
字典类型是“映射”的体现

  • 键值对:键是数据索引的扩展
  • 字典是键值对的集合,键值对之间无序
  • 使用大括号和 dist()创建,键值对用冒号 : 表示,如:{:,:,...,:}

字典变量中通过键获得值

  • ={:,:,...,:}
  • =[] []=
  • [ ] 用来向字典变量中索引或增加元素
d={"中国":"北京","法国":"巴黎"}
d["中国"]
#为:北京

de={}
#大括号仅用于建造 空字典

2.3.2函数

  • del d[k]:删除字典 d中键 k对应的数据
  • k in d:判断键 k是否在字典中,在则返回 True
  • d.keys():返回字典 d中所有键的信息
  • d.values():返回字典 d中所有值的信息
  • d.items():返回字典 d中所有键值对的信息
  • d.get(k,):键 k存在则返回对应值,否则返回 default
  • d.pop(k,):键 k存在则取出对应值,否则返回 default
  • d.popitem():随即从字典中取出一个键值对,以元组形式返回
  • d.clear():删除所有键值对
  • len(d):返回字典中元素个数

转载于:https://www.cnblogs.com/xxwang1018/p/11571288.html

Python 数据类型详解 Python 提供了多种数据类型,每种类型都有不同的用途和特性。理解这些数据类型及其特点,对于编写高效且易读的代码至关重要。随着你对 Python 的深入了解,你会发现合理选择和使用数据类型是提升编程技能的关键一步。希望这篇文章能帮助你更好地掌握 Python 中的数据类型。继续编程,探索更多 Python 的奥秘吧!💡。 阅读详情

相关推荐

JavaScript性能优化:全链路性能优化策略

JavaScript性能优化是提升Web应用质量的核心要素,直接影响用户体验与业务成果。研究表明,页面加载延迟1秒可能导致转化率下降7%。高效的JavaScript执行能减少主线程阻塞,避免动画卡顿或操作延迟,尤其在移动端低性能设备上更为关键。优化内存管理与减少冗余计算可降低浏览器资源消耗,防止因内存泄漏导致的崩溃,提升应用稳定性。在竞争激烈的互联网环境中,性能优势已成为产品差异化的关键因素,直接影响用户留存与商业价值。因此,性能优化应作为开发全周期的核心实践,而非事后补救措施。

weixin_49707375的博客 1274

2.1 基本数据类型

1. 数值类型 1.1 数值类型包括:整数、浮点数和复数 整数类型:无取值范围、二进制/八进制/十进制/十六进制 浮点数类型:有取值范围、不确定尾数问题、科学计数法、大精确浮点运算 复数类型:与数学中复数概念一致、获取实部和虚部 1.2 整数类型 4种进制表示形式 十进制:123 二进制:以0b或0B开头:-0B110 八进制:以0o或0O开头:0o456、-0O789 十六进制:以0x或0...

我叫花生ABBY的博客 512

信创迁移实战:在银河麒麟V10-SP1上为Milvus离线部署Docker(附SP1专属避坑指南)

本文详细介绍了在银河麒麟V10-SP1 x86_64环境下离线部署Docker的全流程,特别针对该版本特有的自定义目录安装失败问题提供深度分析和解决方案。通过实战验证的步骤和避坑指南,帮助用户在信创项目中顺利完成Milvus等应用的容器化部署。

weixin_30687051的博客 534

最宽的类型被转换成目标的类型 例

#include #include #include #include #include using namespace std; int main() { int a = 10; double b =3.12; cout}

程序生涯 700

基于分段线性近似的Softmax硬件加速器设计

本文深入探讨了基于分段线性近似的Softmax硬件加速器设计。针对深度学习模型中Softmax函数在硬件实现时指数运算成本高昂的问题,提出用分段线性拟合替代传统泰勒展开,通过一次乘加操作高效完成计算,并详细分析了输入范围压缩、精度与硬件资源权衡、以及包含地址生成、参数查找、乘加计算和归一化的完整硬件架构。该方法在保证精度的同时,显著提升了AI边缘芯片的推理速度和能效。

weixin_28278377的博客 313

基于MYD-YT153与AD7616的16通道高速ADC采集系统实战指南

在嵌入式系统与工业数据采集领域,模拟信号采集是连接物理世界与数字系统的关键技术。其核心原理是通过模数转换器(ADC)将连续的模拟电压信号转换为离散的数字码值,供处理器处理。这项技术的价值在于实现了对温度、压力、振动等关键物理量的精确感知与数字化,是工业自动化、设备监测、科学实验等场景的基石。本文聚焦于**多通道**、**高精度**采集这一常见需求,深入剖析如何利用全志T153处理器的LocalBus并行总线接口,高效驱动ADI的16位、16通道同步采样ADC芯片AD7616,构建一个稳定可靠的高速数据采集系

weixin_30335353的博客 443

数据库bigint,int(M) M 表示最大显示宽度

bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。 int 从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integ...

爱生活,爱学习 6081

数模笔记_多变量最优化计算之牛顿法

Date: 2_22 Name: Guo Yehao Theme: Calculation in Optimality with multiple variables Reference: 数学建模方法与分析(华章) 在上一节中,我们讨论多变量最优化计算中的随机搜索算法,它的精度并不是众多算法中最高的。在精度问题上,有的时候问题本身就带有明显的误差性,以至于我们不能将其忽略,比如上一节消防站部署的问题,我们在区域划分时就有了误差,因此我们并不需要对结果要求很高的精确度,所以用一些比较粗略的算法就可以.

weixin_45358177的博客 2416

python 输入1-7,输出对应的星期几

#WeekNamePrint.py weekStr = "一二三四五六日" weekID = eval(input("请输入星期数字(1-7):"))#eval去掉引号,将输入的字符串转成数字 print("星期" + weekStr[weekID - 1])

Janewong_的博客 2万+

sentaurus学习笔记(VDMOS仿真)(三)

在Sentaurus中,这通常意味着在2D仿真中,x轴指向下,y轴指向右。定义了在2D模拟中,网格尺寸按照一定的增长率进行扩展,这里的增长率为2.0,意味着远离最小尺寸区域的网格单元大小将是最小尺寸的两倍。定义了2D模拟中网格单元的最小尺寸为0.001微米,这有助于控制网格的最小大小,从而影响仿真的精度和计算成本。表示启用中等级别的日志信息输出,这有助于用户了解仿真过程中发生的事件和可能的问题。表示启用保存调试文件,这可以帮助用户在仿真过程中检查和验证模型的状态。这行代码设置了仿真过程中使用的线程数。

qq_52640792的博客 1809

《UDS协议从入门到精通》系列——图解0x10:诊断会话控制

什么是诊断会话控制服务?切换模式时ECU要做哪些?有没有通信示例?本文全网最详解!!

车载系统攻城狮 1万+

set集合方法

集合操作符 集合有四种基础运算方法,并,交,差,补 S|T 并运算,返回一个新集合,包含在集合S和T中的所有元素 S&amp;amp;amp;T 交运算,返回一个新集合,包含既在S中又在T中的集合 S-T 差运算,返回一个新的集合,包含在集合S中但是不在集合T中的元素 S^T 补运算,返回一个新集合,包含集合S和T中的不相同元素 集合有两种关系运算操作 S&amp;amp;lt;=T或者S&amp;amp;lt;T 关系运算,返回True/Fa...

rt5476238的博客 1609

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Python 数据类型

Python 中的每个值都有一个数据类型。

青春不老,奋斗不止! 2万+

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Python的数据类型

目录数据类型与数据结构数据类型数据结构举例基础结构运行特点 数据类型与数据结构 定义 数据类型 = 数据 + 处理方式 数据类型是一个元素的集合和定义在这个元素集合上的一组操作的总称 数据结构 = 数据 + 组成方式 数据结构是相互之间存在一种或多种特定关系的数据元素的集合 结论 数据类型包含数据结构 数据类型 Python 中有六个标准数据类型 1. 数字 Number 2. 字符串 String 3. 列表 List 4. 元组 Tuple 5. 字典 Dict

昊大侠的博客 8415

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

python中数据类型大小_Python数据类型

前几天看过python基础部分了,但是看到高级特性那里有点蒙,后面就大略看了看,现在准备重新开始,边看边练习整理Python数据类型:1.整数(int):Python可以处理任意大小的整数与负整数,也可以用十六进制来表示整数,例如:0xffffff2.浮点数(float):之所以叫浮点数,是因为用科学计数法表示时,小数点位置可变,例如:1.23e10与12.3e9是相等的。浮点数可以直接用数学方法...

weixin_39620370的博客 2289

Python支持的数据类型

Python基本数据类型一般分为:数字、字符串、列表、元组、字典、集合这六种基本数据类型。 数字 数字类型是不可更改的对象。对变量改变数字值就是 生成/创建新的对象。Python支持多种数字类型:整形(标准整形和长整形(Python2.7及之前的有这种类型))、布尔型、双精度浮点型、十进制浮点型、复数。 1)标准整形: int,标准整形,在大多数32位机器上标准整形取值范围是-2^31到2^31-1,也就是-2147483648~2147483647,如果在64位机器使用64位编......

aishuirenjia的博客 7457

【Python入门】Python数据类型

在上一篇博客中,笔者介绍了Python的入门方法,这篇博客讲详细介绍Python的第一块知识——数据类型。数据类型对于一门语言来说十分重要,它决定了如何去使用数据,学习完这部分后,你将对Python的理解更进一层,并且可以简单的使用Python进行编程了。

KevinRay_0854的博客 1463

python的标准数据类型

不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组); 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

学无止境 1287

python基本数据类型

一、基本数据类型 1、数据型(不可变) 数值型函数 2、整数型:python3没有long类型 int=20; print int; 3、浮点型 python的浮点型遵循IEEE754双精度标准,每个浮点型占8个字节,能表示的范围是-1.8308~1.8308 float=2.3; print float; 4、复数:复数由实数和虚数构成,a+bj 5、布尔型(逻辑型) bool=False...

yangxiaoyan12的博客 1604

【Python】深入认识Python数据类型和变量

Python提供了多种内置数据类型,包括数字类型、字符串类型、布尔类型、列表类型、元组类型、字典类型和集合类型。每种数据类型都有其独特的特点和使用场景。字符串是一系列字符的集合,用单引号或双引号表示。b = 'Python编程'列表是一种有序的可变集合,用方括号表示。列表中的元素可以是任何数据类型。# 访问列表元素print(my_list[0]) # 输出:1print(my_list[-1]) # 输出:[4, 5, 6]# 修改列表元素元组是一种有序的不可变集合,用圆括号表示。

Easonmax的博客 1118

python基础—python6种基本数据类型及数据类型之间转换

python6种基本数据类型(str,int,float,list,dict,set,tuple...)及数据类型相互之间转换

sodaloveer的博客 4639

python数据类型_Python数据类型

python数据类型Python Data Types are used to define the type of a variable. Previously we learned about statement and comment in Python. If you want then you can find it from Python Comment & Statement...

从零开始的教程世界 270
上一篇: 数据库系统概论——恢复技术
下一篇: Python——循环与分支结构
SmallProgramer3121
博客等级 码龄11年 3粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值