当前位置: 首页 > news >正文

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 工厂模式&…...

如何做好需求管理?经验方法、模型、工具

需求管理能力是衡量产品经理能力的一个重要指标。因为需求是产品的基石,只有选取恰当的方法进行需求分析及管理,才能更好的构建产品方案,从而输出精准的产品定义。结合本人学习和自身经验,打算将需求管理分”需求挖掘”、”需求分…...

怎么用期货做风险对冲(如何利用期货对冲风险)

不同期货市场的同一期货品种的对冲交易怎么做 不同 期货市场 的同一期货品种的 对冲交易 。 因为地域和 制度环境 不同,同一种期货品种在不同市场的同一时间的价格很可能是不一样的,并且也是在不断变化的。 这样在一个市场做多头买进&#xff0…...

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次割接。这周还和原厂老大哥…...

测试开发,测试架构师为什么能拿50 60k呢需要掌握哪些技能呢

这篇文章是软件工程系列知识总结的第五篇,同样我会以自己的理解来阐述软件工程中关于架构设计相关的知识。相比于我们常见的研发架构师,测试架构师是近几年才出现的一个岗位,当然岗位title其实没有特殊的含义,在我看来测试架构师其…...

Miniblink 入门

miniblink官网:入门之前强烈建议将Miniblink介绍仔细看一遍。 MB内核组件标准版接口文档:这里列举了所有的api以及简单的说明,但是本人建议还是看wke.h更方便,里面都是宏实现的,直接搜相关函数即可。 mb demo下载和参…...

[python入门㊷] - python存储数据

目录 ❤ json.dump()存储数据 ❤ json.laod()读取数据 ❤ 保存和读取用户生成的数据 ❤ 重构 JSON(JavaScript Object Notation)格式最初是为JavaScript开发的,但随后成了一种常见格式,被包括Python在内的众多语言采用 ❤ json.dump()存储数据…...

Little Fighter:旺角——NFT 系列来袭!

《小朋友齐打交 2 (LF2) 》是一款流行的格斗游戏,由 Marti Wong 和 Starsky Wong 于 1999 年创作。这是一款非常容易上瘾的游戏,具有多种游戏模式、横向卷轴格斗系统以及 24 个具有复杂动作和连击的不同角色。这款游戏在世界范围内非常受欢迎&#xff0c…...

基础篇:01-微服务概述

1.单体应用与微服务架构区别 如上图左侧为单体应用架构。在传统单体应用中,所有功能模块都在一个工程中编码、部署,即使是集群部署,也只是单体应用的水平复制。 如上图右侧为微服务架构。在微服务架构的项目中,每个应用会按照领域…...

TC358775XBG替代方案|完美替代 TC358775XBG替代方案|低BOM成本DSI转LVDS方案CS5518

TC358775XBG替代方案|完美替代 TC358775XBG替代方案|低BOM成本DSI转LVDS方案CS5518 TC358775XBG芯片的主要功能是DSI到LVDS桥,通过DSI链路实现视频流输出,以驱动LVDS兼容的显示面板。该芯片支持单链路LVDS高达1366768 24位像素分辨率,双链路L…...

Android开发

前言:因为这学期选了手机APP开发这门课,所以还是写个博客记录一下学习过程,包括安卓开发和ios开发。用到的资料包括课程PPT,和我在网上找的一些视频和资料。 1.Andriod入门 XML:描绘应用界面 (决定APP长什…...

virtualbox虚拟机导入到vmware esxi虚拟机

virtualbox导出的ova文件转换为ovf文件导入到vmware esxi虚拟机 1、下载安装程序 链接:https://pan.baidu.com/s/1pRP8MQswDSDecMB5eJGNYA?pwdmv2q 提取码:mv2q 双击VMware-ovftool-3.0.1-801290-win.x86_64.msi默认安装 2、在cmd中进入到Vware OVF…...

如何使用命名空间管理C++代码

在编写 C 代码时,管理代码组织和消除名称冲突是一个重要问题。 为了解决这个问题,C 提供了一种叫做命名空间的机制。命名空间可以将代码组织在一起,并防止不同模块间的名称冲突。 定义命名空间 首先,你需要在代码中声明命名空间…...

海思3559:BT656调试笔记

前言 海思3559a的sdk例子是没有提供BT1120和BT656视频接入的,但实际上硬件是可以支持接入的。不过前提是只支持逐行方式输入,不支持隔行视频,如果想输入PAL制式的隔行视频,请先用芯片转成逐行再接入。不知道是官方手册有意无意的忽…...

4秒网站建设/腾讯企点怎么注册

使用帮助在任何命令模式下,只需输入“?”,即显示该命令模式下所有可用到的命令及其用途。另外,还可以在一个命令和参数后面加“?”,以寻求相关的帮助。例如,我们想看一下在Privileged Exec模式下哪些命令可…...

php可以做网站布局吗/我要登录百度

作者:指针不指南吗 专栏:蓝桥杯倒计时冲刺 🐾马上就要蓝桥杯了,最后的这几天尤为重要,不可懈怠哦🐾 文章目录1.Floyd求最短路2.Dijkstra求最短路(堆优化版)1.Floyd求最短路 题目 链接…...

做微信封面的网站/怎么创建网站链接

介绍jwt 1、JWT官网: https://jwt.io/ JWT(Java版)的github地址:https://github.com/jwtk/jjwt 2、什么是jwt Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).定义了一种简洁的&#xff0…...

嘉兴网站建设嘉兴/十堰seo排名公司

试验平台:Digi MF开发板 (图MF071028001.jpg) 与IO相关的部分如下: (3)拨码开关SW1 (4)拨码开关SW2 (11)GPIO灯—output (10)GPIO—in…...

中国设计师联盟官网/美国seo薪酬

移植了下HAL,发现编译出现如下错误 error: LOGE was not declared in this scope 比较了一下android4.1的 system/core/include/cutils/log.h和android4.0的对应文件, 发现在4.1当中已经将所有的LOG宏前面加了一个字母A 。所以出现上述编译错误。 修改HA…...

手机端网站模板/湖南百度seo排名点击软件

近期,全球知名的市场研究公司Forrester,通过对包括阿里云在内的全球领先区块链企业进行调研,发布了区块链技术和市场分析报告,为企业如何基于区块链构建分布式信任体系、打造和增强数字化生态系统提供了一系列前瞻性和实用型的建议…...