Python学习笔记
前言:又从仓库翻出来了一些以前总结的文档,以下内容是我初学Python时网上找的或是图书馆借书抄写的笔记,现在再看有点零散不成体系,但是也还是纪念一下子吧。
Python学习笔记
对于初学编程的人来说,Python可以缩短编程语言的时间和降低学习编程的难度。
1.Python的基本常识
字典:用dict创建,用大括号表示的,python中唯一的映射结构就是字典对象。键必须不可变,只能由数、字符串和元组充当,不能用列表。
序列:包括字符串、列表和元组
字符串:用str创建,不可变对象类型。单引号和双引号都可以创建。
列表:用list创建,使用矩阵[]表示,相当于matlab里面的矩阵,列表中的数据前包含后不包含;不同于矩阵的一点是:列表的项不需要具有相同的类型,访问列表的索引操作要用矩阵[]。列表嵌套可以构建矩阵,[[]],行号以及列标的位置都是从0开始的。
元组:用tuple创建元组,使用小括号()表示,元组中的数据不可以被改变,相当于matlab里面的元胞数组,主要功能是存储数据,元组相当于只读列表。元组可以在字典中被用作“键”,但是列表不行。元组中的元素值是不允许删除的,但是可以使用del删除整个元组。不能将元组的值赋给其他的变量。
集合:用set创建,用大括号{}表示。集合里面的元素是不重复的数。集合中的元素是无序排列的,所以集合不能通过数字进行索引。集合不能嵌套集合。
注释使用符号:单行使用#,多行注释使用三个单引号
Zip函数相当于合并两个矩阵
定义函数:matlab中使用funcion,python中使用def
Python中存在各种各样的数据库可以直接调用用于数据处理,调用各个数据库中的函数用于程序编写。Python编程的特点是可以一边编辑一边执行语句,可以记录每一步程序的输出结果,而不像matlab一样需要完整的程序代码才能得到最后的结果。
序列对象:字符串和元组,不能修改指定索引位置的值
Python的交互环境(shell)相当于matlab的命令行窗口,在交互环境下编码有利于检验每一段代码的正确性,因为能够及时观察到输出结果。
2.函数
Lambda被称为匿名函数,是一种以表达式形式生成函数的方法。def常用来设计功能复杂的一般性函数,而Lambda用于简单的函数,以适应更灵活的应用,也被称为函数功能速写。Lambda定义的函数没有函数名,生成的是一个表达式形式的无名函数,表达式的结果是Lambda的返回值。Lambda函数可以赋值给一个变量,或者作为列表常量,还可以作为参数的形式出现在一般函数调用中。Lambda还经常与map、filter和reduce等内置函数联合使用。
3.模块(module)
Python程序的顶层结构是模块。模块是程序组织的高级单位,用于实现数据和代码的封装。一个Python文件就可以视作一个模块,模块提供了将独立文件连接构建更大和更复杂程序的架构及方式。这种模块化的架构提高了代码的重用性,方便实现数据共享。
要获得对一个模块中变量、方法(函数)的访问权,第一步是导入模块。在一个模块中导入其他模块的语句有mport和from两条。
创建模块文件等同于编辑一个python程序。程序的设计目的是运行,而模块的设计目的是由其他程序导入并使用。
4.包
模块的集合:包。包是一个目录,其中包含一组模块和一个_int_.py文件(记录该目录中的所有.py文件)。
Python作为一个开源软件,除了标准库外,网上还有很多第三方模块包。例如,在科学和工程计算方面,第三方包NumPy提供了高效的n维数组,基本的线性代数函数和傅里叶变换函数等;SciPy包提供了用于统计学计算,信号与图像处理,遗传算法等领域运算的函数和工具。这两个包都可以从www.scipy.org处获取。此外,如wxPython—Python语言的一种优秀的GUI图形库。
5.类
面向对象程序设计(OPP)的基本思想是将一组对象的公共属性和方法封装为类。类是包括函数和变量相互作用的一个整体。
类名的首字母一般要大写。类方法包括了特殊的self参数,是对实例自身的引言。Python支持3种方法,即实例方法、类方法和静态方法。实例方法属于给定类的实例,通过实例或self调用;类方法需要将类本身作为操作对象才能调用;静态方法相当于类中的一个普通函数,也只能通过类来调用。
一个好的封装应该尽量让实例内部的属性不被外部访问。如果希望实例属性不被外部访问,可以把属性的名称前面加上两个下划线_ 。在Python中,实例的变量名如果以 _开头,就变成了一个私有变量(private),只有内部成员可以访问,外部不能访问。
Python以类的方式管理数据。
6.数据结构与算法
程序设计包括以下几个部分:(1)问题分析;(2)算法设计;(3)程序编写;(4)对源程序进行编辑、编译和连接;(5)运行程序,分析结果;(6)文档编写。
著名计算机科学家沃思提出一个公式:程序=数据结构+算法。其中,算法解决“如何操作数据”的问题。数据结构解决“如何描述数据”的问题,指定数据的类型和数据的组织形式。数据结构在计算机学科中具有核心地位。
算法是通过对一定规范的输入进行处理,在有限时间内获得所要求的输出的整个过程。算法与具体的程序语音无关。
Python语言的学习大致分为以下两个方面:
(1)Python语言本身的语法以及编程环境的掌握;
(2)算法的学习。
面向过程(OP):按照事件发展过程进行,把解决问题的步骤列出,然后一步步执行。
面向对象(OO):把与问题相关的数据提取出来,将具有相同属性的事物抽象为“类”,设计出“类”的方法,程序执行时,将“类”实例化为“对象”,调用“类”的方法解决问题。
SQL:结构化查询语言,是操作数据库的工业标准语言,作为通用的、专门操作数据库的语言,SQL可以确切指定想要检索的记录以及按什么顺序检索。
MySQL:是当今最流行的关系型数据库管理系统,作为开源软件,MySQL体积小,采用关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,具有较快的存取速度和较高的灵活性。
计算思维:运用计算机科学的基础概念进行问题求解、系统设计,以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。
程序设计:给出解决待定问题程序的过程,是设计、编制、调试程序的方法和过程。程序设计通常分为问题分析、算法设计、程序编写、程序运行、结果分析和文档编写等阶段。
算法效率的三种分析方法:(1)最坏的情况。(2)最好情况。(3)平均情况。
在面向对象的方法中,类是一组具有共同特性的所有对象成员的抽象描述。
6.1算法
算法的核心是创建问题抽象的模型和明确求解目标,之后可以根据具体问题选择不同的模式和方法完成算法的设计。
计算机算法是程序的灵魂。先有算法,再有程序。当一个算法使用计算机程序语言描述时就是程序。
三种基本控制机构:顺序、选择和重复
算法是编程的核心,就像一台计算机的CPU,算法的好坏决定了一个系统的效率高低。
相关文章:

Python学习笔记
前言:又从仓库翻出来了一些以前总结的文档,以下内容是我初学Python时网上找的或是图书馆借书抄写的笔记,现在再看有点零散不成体系,但是也还是纪念一下子吧。 Python学习笔记 对于初学编程的人来说,Python可以缩短编…...

最适合入门的100个深度学习实战项目
🚨注意🚨:最近经粉丝反馈,发现有些订阅者将此专栏内容进行二次售卖,特在此声明,本专栏内容仅供学习,不得以任何方式进行售卖,未经作者许可不得对本专栏内容行使发表权、署名权、修改…...

AssertionError: 618 columns passed, passed data had 508 columns【已解决】
问题描述 程序中断,报错如下AssertionError: 618 columns passed, passed data had 508 columns Exception has occurred: ValueError 618 columns passed, passed data had 508 columns AssertionError: 618 columns passed, passed data had 508 columnsThe abo…...

166_技巧_Power BI 窗口函数处理连续发生业务问题
166_技巧_Power BI 窗口函数处理连续发生业务问题 一、背景 在生产经营的数据监控中,会有一类指标需要监控是否连续发生,从而根据其在设定区间中的连续频次来评价业务。 例如: 员工连续迟到天数。销售金额连续上升或者下降。用户连续登陆…...

电子科技大学人工智能期末复习笔记(五):机器学习
目录 前言 监督学习 vs 无监督学习 回归 vs 分类 Regression vs Classification 训练集 vs 测试集 vs 验证集 泛化和过拟合 Generalization & Overfitting 线性分类器 Linear Classifiers 激活函数 - 概率决策 ⚠线性回归 决策树 Decision Trees 决策树构建递归…...

使用DDD指导业务设计的总结思考
领域驱动设计(DDD) 是 Eric Evans 提出的一种软件设计方法和思想,主要解决业务系统的设计和建模。DDD 有大量难以理解的概念,尤其是翻译的原因,某些词汇非常生涩,例如:模型、限界上下文、聚合、…...

面试官问:如何确保缓存和数据库的一致性?
如果你对这个问题有过研究,应该可以发现这个问题其实很好回答,如果第一次听到或者第一次遇到这个问题,估计会有点懵,今天我们来聊聊这个话题。 1、问题分析 首先我们来看看为什么会有这个问题! 我们在日常开发中&am…...
16.数据库Redis
一、基本概念 Redis(Remote Dictionary Server)译为“远程字典服务”,它是一款基于内存实现的键值型 NoSQL 数据库, 通常也被称为数据结构服务器,这是因为它可以存储多种数据类型,比如 string(字…...

【Redis高级-集群分片】
单机安装Redis首先需要安装Redis所需要的依赖:yum install -y gcc tclRedis安装包上传到虚拟机的任意目录:我放到了/tmp目录:解压缩:tar -zxvf /tmp/redis-6.2.4.tar.gz -C /tmp解压后:进入redis目录:cd /t…...
CSDN - CSDN27题解
文章目录幸运数字题目描述解题思路AC代码投篮题目描述解题思路AC代码通货膨胀-x国货币题目描述解题思路AC代码最后一位题目描述解题思路AC代码CSDN编程竞赛报名地址:https://edu.csdn.net/contest/detail/41 这次题目描述刚开始好像有些问题,之后被修正了…...
docker拉取mysql
搜索mysql版本docker search mysql搜索获赞数(星星数量) 大于 1000 的镜像docker search --filterstars1000 mysql搜索官方发布的版本docker search --filter is-officialtrue mysql搜索版本号docker search mysql57拉取docker pull devbeta/mysql57查看下载镜像docker images启…...
在Linux上安装Python3
记录:373场景:在CentOS 7.9操作系统上,安装Python-3.8.9环境。版本:JDK 1.8 Python-3.8.9官网地址:https://www.python.org下载地址:https://www.python.org/ftp/python/1.安装基础依赖1.1安装gcc(1)安装命…...
23 种设计模式的通俗解释,看完秒懂
01 工厂方法 追 MM 少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是 MM 爱吃的东西,虽然口味有所不同,但不管你带 MM 去麦当劳或肯德基,只管向服务员说「来四个鸡翅」就行了。麦当劳和肯德基就是生产鸡翅的 Factory 工厂模式&…...

如何做好需求管理?经验方法、模型、工具
需求管理能力是衡量产品经理能力的一个重要指标。因为需求是产品的基石,只有选取恰当的方法进行需求分析及管理,才能更好的构建产品方案,从而输出精准的产品定义。结合本人学习和自身经验,打算将需求管理分”需求挖掘”、”需求分…...
怎么用期货做风险对冲(如何利用期货对冲风险)
不同期货市场的同一期货品种的对冲交易怎么做 不同 期货市场 的同一期货品种的 对冲交易 。 因为地域和 制度环境 不同,同一种期货品种在不同市场的同一时间的价格很可能是不一样的,并且也是在不断变化的。 这样在一个市场做多头买进࿰…...
C++标准模板库type_traits源码剖析
一、type_traits源码介绍 1、type_traits是C11提供的模板元基础库。 2、type_traits可实现在编译期计算。包括添加修饰、萃取、判断查询、类型推导等等功能。 3、type_traits提供了编译期的true和false。 二、type_traits的作用 1、根据不同类型,模板匹配不同版本…...

Python获取公众号(pc客户端)数据,使用Fiddler抓包工具
前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 今天来教大家如何使用Fiddler抓包工具,获取公众号(PC客户端)的数据。 Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,…...

Maven进阶
这里写目录标题1.分模块开发1.1 模块更新后,会造成的影响2.依赖管理2.1 依赖传递2.2 可选依赖(隐藏自己的依赖,不让别人用)2.3 排除依赖(用别人的资源,把不用的去了)3.聚合与继承3.1 为什么要使用聚合工程?3.2 聚合工程开发2.1 聚合工程三级目录1.分模块开发 我们之前做的项目…...

AXI实战(一)-为AXI总线搭建简单的仿真测试环境
AXI实战(一)-搭建简单仿真环境 看完在本文后,你将可能拥有: 一个可以仿真AXI/AXI_Lite总线的完美主端(Master)或从端(Slave)一个使用SystemVerilog仿真模块的船信体验小何的AXI实战系列开更了,以下是初定的大纲安排: 欢迎感兴趣的朋友关注并支持,以下为正文部分 文章目录…...

数据库管理-第五十六期 监控(20230210)
数据库管理 2023-02-10第五十六期 监控1 怎么监控2 直观3 历史分析4 另一个BUG总结第五十六期 监控 春节后的7天班过后就来到了2月份,本周对之前发现X8M上的那个bug进行补丁修复和协助从12.2迁移了一套PDB到这个一体机上面,2次割接。这周还和原厂老大哥…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...

云原生安全实战:API网关Kong的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...
多模态图像修复系统:基于深度学习的图片修复实现
多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...