机械学习—零基础学习日志(python编程)

news2024/9/27 15:35:00

零基础为了学人工智能,正在艰苦的学习

昨天给高等数学的学习按下暂停键,现在开始学习python编程。

我学习的思路是直接去阿里云的AI学习课堂里面学习。

整体感觉,阿里云的AI课堂还是有一些乱,早期课程和新出内容没有更新和归档。我因为本身有一定的python基础,所以看起来相对来讲快一些。

但是如果大家从零开始学习python,我会建议学习《python编程:从入门到实践》,说实话,真的是超级经典的书籍。另外,其他的大佬推荐《菜鸟编程》。

我个人体感是,一个毫无基础的同学去学习Python,还是得找组织,另外,项目和代码一起学习,不要闭门造车,多和身边的人交流。

我把在阿里云课堂上的学习笔记同步到这里。

is,is not与地址可变类型
a = ["hello"]
b = ["hello"]
print(a is b, a == b)  # False True
print(a is not b, a != b)  # True False
a = "hello"
b = "hello"
print(a is b, a == b)  # True True
print(a is not b, a != b)  # False False

注意:

  • is,is not 对比的是两个变量的内存地址
  • ==,!= 对比的是两个变量的值
  • 比较的两个变量,指向的都是地址不可变的类型(str等),那么is,is not 和 ==,!= 是完全等价的。
  • 对比的两个变量,指向的是地址可变的类型(list,dict,tuple等),则两者是有区别的。

位运算

在龙珠训练营学习了位运算的知识点。

正数的补码,原码,反码都是正数,也就是正数是完全正常的表示。

那如何理解,计算机负数的补码以及反码呢?

我个人的理解是,为了计算机的计算逻辑正确。正数+负数为零,所以对负数进行了特别操作,使用反码,补码的方式,让正数+负数为零。

负数在计算机内部的表示,本身是用补码的方式表示,所以,1001,具体表示的方法是,1001+?变成0呢。加上0111会变成0,也就是加上7变成0,所以,最后1001是-7.

布尔运算优先级

优先级 not > and > or

布尔型

布尔 (boolean) 型变量只能取两个值,True 和 False。当把布尔型变量用在数字运算中,用 1 和 0 代表 True 和 False

print(True + True)  # 2
print(True + False)  # 1
print(True * False)  # 0

assert 关键词
  • assert这个关键词我们称之为“断言”,当这个关键词后边的条件为 False 时,程序自动崩溃并抛出AssertionError的异常。
my_list = ['lsgogroup']
my_list.pop(0)
assert len(my_list) == 0

# AssertionError

enumerate()函数
enumerate(sequence, [start=0])
  • sequence:一个序列、迭代器或其他支持迭代对象。
  • start:下标起始位置。
  • 返回 enumerate(枚举) 对象

seasons = ['Spring', 'Summer', 'Fall', 'Winter']
lst = list(enumerate(seasons))
print(lst)
# [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
lst = list(enumerate(seasons, start=1))  # 下标从 1 开始
print(lst)
# [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
for i, language in enumerate(languages, 2):
    print(i, 'I love', language)
print('Done!')
# 2 I love Python
# 3 I love R
# 4 I love Matlab
# 5 I love C++
# Done!

Python 标准异常总结
  • BaseException:所有异常的 基类
  • Exception:常规异常的 基类
  • StandardError:所有的内建标准异常的基类
  • ArithmeticError:所有数值计算异常的基类
  • FloatingPointError:浮点计算异常
  • OverflowError:数值运算超出最大限制
  • ZeroDivisionError:除数为零
  • AssertionError:断言语句(assert)失败
  • AttributeError:尝试访问未知的对象属性
  • EOFError:没有内建输入,到达EOF标记
  • EnvironmentError:操作系统异常的基类
  • IOError:输入/输出操作失败
  • OSError:操作系统产生的异常(例如打开一个不存在的文件)
  • WindowsError:系统调用失败
  • ImportError:导入模块失败的时候
  • KeyboardInterrupt:用户中断执行
  • LookupError:无效数据查询的基类
  • IndexError:索引超出序列的范围
  • KeyError:字典中查找一个不存在的关键字
  • MemoryError:内存溢出(可通过删除对象释放内存)
  • NameError:尝试访问一个不存在的变量
  • UnboundLocalError:访问未初始化的本地变量
  • ReferenceError:弱引用试图访问已经垃圾回收了的对象
  • RuntimeError:一般的运行时异常
  • NotImplementedError:尚未实现的方法
  • SyntaxError:语法错误导致的异常
  • IndentationError:缩进错误导致的异常
  • TabError:Tab和空格混用
  • SystemError:一般的解释器系统异常
  • TypeError:不同类型间的无效操作
  • ValueError:传入无效的参数
  • UnicodeError:Unicode相关的异常
  • UnicodeDecodeError:Unicode解码时的异常
  • UnicodeEncodeError:Unicode编码错误导致的异常
  • UnicodeTranslateError:Unicode转换错误导致的异常

异常体系内部有层次关系,Python异常体系中的部分关系如下所示:

Python标准警告总结
  • Warning:警告的基类
  • DeprecationWarning:关于被弃用的特征的警告
  • FutureWarning:关于构造将来语义会有改变的警告
  • UserWarning:用户代码生成的警告
  • PendingDeprecationWarning:关于特性将会被废弃的警告
  • RuntimeWarning:可疑的运行时行为(runtime behavior)的警告
  • SyntaxWarning:可疑语法的警告
  • ImportWarning:用于在导入模块过程中触发的警告
  • UnicodeWarning:与Unicode相关的警告
  • BytesWarning:与字节或字节码相关的警告
  • ResourceWarning:与资源使用相关的警告
奇思妙想:
a = [1, 3, 2, 6]

# 使用 sorted() 函数
print(sorted(a))  # 输出 [1, 2, 3, 6]
print(a)          # 输出 [1, 3, 2, 6],原列表未改变

# 使用 list.sort() 方法
print(a.sort())   # 输出 None
print(a)          # 输出 [1, 2, 3, 6],原列表已被排序
  • sorted(a) 返回一个新的排序后的列表,而不修改原列表。
  • a.sort() 就地对原列表进行排序,返回 None,并修改原列表。

主要参考资料:阿里云《龙珠训练营》 AI学习课程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1992565.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

进阶学习------linux运维读写执行权限

进阶学习------linux运维读写执行权限 在UNIX和类UNIX操作系统中,文件权限是通过一组特定的数字来表示的,这些数字分为三组,分别对应于用户(文件所有者)、组和其他用户的权限。每组权限由三个二进制位表示,…

如何进行硬件调试?

硬件调试是硬件系统设计、开发和制造过程中不可或缺的一环,旨在对可能出现的问题进行分析和解决。以下是进行硬件调试的一般步骤和方法: 一、准备阶段 熟悉设计文档:在开始调试之前,需要详细阅读和理解硬件系统的设计文档、原理图…

【探索数据结构与算法】——深入了解双向链表(图文详解)

目录 一、双向链表的基本概念 ​​​ 二、双向链表的结构 三、双向链表的基本操作实现方法 1.双向链表的初始化 2.双向链表的头插 3.双向链表的尾插 6.查找节点 7.在指定位置之前插入节点 8.删除指定位置节点 9.打印链表数据 10.双向链表销毁 四、完整代码实现 …

html+css+js网页设计 星享咖啡6个页面(带js) ui还原度90%

htmlcssjs网页设计 星享咖啡6个页面(带js) ui还原度90% 网页作品代码简单,可使用任意HTML编辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等…

一个拳打Claude3.5 Artifacts 脚踢软件外包公司的国产AI神器

Claude3.5的Artifacts功能想必大家都有所耳闻吧。 不了解的小伙伴也没关系,看下面这个视频。 更详细的介绍可以看之前我写的文章 关于Claude3.5-Sonnet引以为傲的功能,在半年前就被某国产平台无情碾压的那档事!_claude 3.5 sonnet 国内能用…

20240808在飞凌OK3588-C开发板上使用HDMI OUT接口的SONY索尼8530机芯的YUV模式录像

20240808在飞凌OK3588-C开发板上使用HDMI OUT接口的SONY索尼8530机芯的YUV模式录像 2024/8/8 15:26 v4l2-ctl --list-devices v4l2-ctl --list-formats-ext -d /dev/video8 v4l2-ctl -V -d /dev/video8 根据规格书《FCB-CR8550_8530_TM_20190730.pdf》,很容易知道8…

【秋招突围】2024届校招-拼多多笔试题-第一套

🍭 大家好这里是 大厂笔试突围,一起备战秋招笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 编程一对一辅导 ✨ 本系列打算持续跟新 秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 🌻 听说本周PDD的笔…

elasticSearch和ik分词插件安装和使用

elasticSearch 特点:分布式搜索和分析引擎,可以用http以json的方式进行数据索引。 由来:ES全称Elastic Stack(ELK Stack),是由三个产品elasticSearch,logstack(数据收集&#xff0…

【新手必备】5分钟学会Transformer算法的核心要点

Transformer 是近年来在自然语言处理(NLP)领域取得显著成果的一种深度学习模型,最初由 Vaswani et al. 在 2017 年提出。 与传统的序列模型(如 RNN 和 LSTM)相比,Transformer 的主要优势在于其能够更好地处…

零基础5分钟上手亚马逊云科技AWS核心云架构知识-用S3桶托管静态网页

简介: 小李哥从今天开始将开启全新亚马逊云科技AWS云计算知识学习系列,适用于任何无云计算或者亚马逊云科技技术背景的开发者,让大家0基础5分钟通过这篇文章就能完全学会亚马逊云科技一个经典的服务开发架构。 我将每天介绍一个基于亚马逊云…

go之protobuf和grpc

一、Protobuf Protobuf是接口规范的描述语言,可以通过工具生成代码,将结构化数据序列化。 二、grpc gRPC 是 Google 公司基于 Protobuf 开发的跨语言的开源 RPC 框架。 三、使用教程 3.1 student.proto syntax "proto3"; import "go…

软件测试---接口测试

一、接口及接口测试概念 (1)接口的类型 (2)接口测试的概念 (3)接口测试的原理 (4)接口测试的特点 (5)接口测试的实现方式 二、HTTP协议 (1&#…

【人工智能】AI时代程序员----是缔造AI程序员,还是AI缔造程序员?

是缔造AI程序员,还是AI缔造程序员? 前言 随着AIGC(如ChatGPT、MidJourney、Claude等)大语言模型的涌现,AI辅助编程工具日益普及,程序员的工作方式正在发生深刻变革。 ​ ChatGPT ​ Midjourney ​ Claude …

【免费测试】人脸身份证比对接口如何用Java对接?(一)

一、什么是人脸身份证比对? 人脸身份证比对又称人证比对,实人比对,人像比对,输入姓名、身份证号码和头像照片,与公安库身份证头像进行权威比对,返回分值作为判断依据。 二、人脸身份证比对接口适用哪些场…

Processing之函数

一.函数基础 函数是processing程序中最基本的结构。经常使用的函数有draw()、line()、size()等。计算机每次运行程序的一行。当一个函数运行时,计算机跳到函数定义的位置,运行到哪里的代码,然后在跳回它离开的位置。 1.1掷骰子 案例代码如图…

离线安装windows应用商店中的应用

以windows notepad为例 1.百度windows应用商店,notepad 进入https://apps.microsoft.com/detail/9msmlrh6lzf3?hlen-aq&glAQ 是一个名为windows notepad的应用,复制地址栏里面detail后面的字符9msmlrh6lzf3 有很多notepad类似的应用,wi…

2024年新能源汽车充电桩建设驶入快车道

2024年新能源汽车市场大爆发:渗透率飙升,保有量创新高,充电桩建设驶入快车道 随着2024年新能源汽车市场的持续繁荣,一场前所未有的绿色革命正在全球范围内加速推进。这一年,新能源汽车的渗透率不仅实现了质的飞跃&…

CSS 实现两边固定宽,中间自适应

0. **Flexbox 实现**&#xff1a; css复制代码.container { display: flex; } ​ .fixed { width: 200px; /* 两边固定宽度 */ } ​ .flexible { flex: 1; /* 中间自适应 */ } html复制代码<div class…

指纹失效,忘记iPhone屏幕解锁密码怎么应对?

为保证手机的安全及隐私&#xff0c;我们会给手机设置屏幕锁屏密码&#xff0c;通过输入设置密码来解锁手机屏幕锁&#xff0c;但为了给大家提供快速便捷的解锁方式&#xff0c;苹果公司提供了指纹解锁&#xff0c;不仅解锁更便捷了还极大地增强了设备的安全性。但有时我们手指…

springboot在线图库网站-计算机毕业设计源码38597

基于SpringbootVue的在线图库网站的设计与实现 摘 要 本文基于Spring Boot作为后端框架&#xff0c;Vue作为前端框架&#xff0c;设计并实现了一个功能丰富的在线图库网站。该网站提供了注册、登录、普通用户功能和管理员功能等一系列功能&#xff0c;为用户提供了方便的浏览摄…