Python的基础

news2024/11/20 14:37:36

        这是我自己学习Python的三个星期的小总结,内容包含了规范、数据类型、函数、类和捕捉异常,做了一个简单的梳理,希望可以帮助到和我一样开始学习Python的小伙伴,也希望多多支持,相互进步,下面步入正题。

基础规范

Python-Python编码规范(PEP8)

PEP8操作规范

变量和简单数据类型

Python的基本变量类型包括五大类:字符串、数字、列表、元组、字典

字符串的操作:字符串操作

数字的操作:数字处理操作 和 数字基本类型

数字在这里分为整数、浮点数、复数、布尔

逻辑运算符:或与非,and、or、not

数据类型转换:除了强制转换,里面还有一些内置函数

条件分支与循环

if循环:

if True:
    print(1232)
elif True:
    print(1212)
else:
    print(1234)

while循环:

i = 1;
while i<2:
   print(i)
   i += 1

for循环,variable接收sequence集合中获取的成员对象,循环一次接收一次。

  • for<variable> in <sequence>:
        子代码模块1
    else:
       子代码模块2

rang函数,格式为range(start,stop[,step])

循环控制语句:break,continue

复杂条件及其处理:

  • 成员运算符:

    • in:在指定的序列里面找到值,返回true

    • not in:在指定的序列里面找到值,返回true

  • 身份运算符:

    • is:判断两个标识符是不是引用自一个对象,是,返回True

    • is not:判断两个标识符是不是引用自一个对象,不是,返回True

列表

列表是内置有序、可变序列,列表的所有元素放在一对中括号“[]”中,并使用逗号分隔开。

列表的解释

列表的使用

列表的使用2

对于列表来说,主要的特点在于它的存储不需要考虑数据的类型,什么都可以存进去。对于下标访问的方式可以注意一下。

元组

元组与列表不同的点:元组不能对其元素进行变动

这里的不可变,包括不能增加元素、变换元素位置、修改元素、删除元素的操作

元组的操作

字典

可存储任意类型对象。如字符串、数字、元组等其他容器模型。因为字典是无序的所以不支持索引和切片。字典属于一对一映射关系的数据类型。

注意:元组可以做为字典的key值,但是列表不可以作为key值,这是由于 dict 要求 key 必须是不可变类型,但列表是可变类型,因此列表不能作为元组的 key

  • 键的设置要求:唯一性 不可变性

  • 值的设置要求:可以是Python支持的任何对象

字典的使用1

字典的使用2

函数

  • 代码简练

  • 提高代码编写效率和质量

  • 代码功能可以共享

需要注意的点:

  • 先定义,再调用

  • 在定义函数的时候,应使用函数文档

  • 建立一个函数模块和学会如何调用

  • 传递元组、列表、字典值:若在函数内部对她们的元素进行变动,则会同步影响函数外部传递前的变量的元素,可以通过复制方式来传递

函数与变量作用域

global的作用:让全局变量的值,在函数里面可以被修改

闭包:有一种函数里面还有内嵌函数的意思。闭包变量位置在外函数与内部嵌套函数之间

匿名函数:匿名函数的定义与使用

递归函数:递归一次,在内存中开辟一个新的地址空间,记录递归过程状态,一直递归分解到最小范围,最后得出要么找到对应的值,要么返回找不到的结果。

面向对象是一种对现实世界理解和抽象的方法

类:把具有相同特性的行为的对象抽象为类

一个类

  1. class关键字,class 类名():

  2. 类文档说明

  3. 类函数

  4. 保留构造函数_init_()和self关键字

self关键字,在实例使用时,用于传输实例对象(其实传递的是实例对象在内存中的一个地址)

实例

实例是把类通过等号(=)赋值给一个变量的过程,就是实例化过程,这个变量就是实例。实例的核心是由属性和方法组成。

实例的属性和方法

  1. 属性:实例名.属性名。属性定义以及属性名确定在_init_初始化实现。

  2. 方法:实例名.方法名()。所定义的方法必须必须提供self参数

属性

浅谈Python的属性和方法 里面有私有属性这些的介绍

私有属性 主要介绍私有属性

属性是通过_init_函数定义,并通过self传递给实例的一种数据类型。

属性值修改:

  1. 直接对属性值修改。实例对象的属性,具有读、写值功能

  2. 通过方法对属性值进行修改

  3. 把类赋给属性

方法

Python的类方法、静态方法和实例方法的使用

对方法的一个总结

继承和多态

 

继承,就是在继承原有类功能的基础上,增加新的功能,形成新的子类,被继承的叫父类。

 

Python类的继承和多态

Python类的继承和多态-2

静态类

不支持实例的静态类的特点:

  • 内部没有self关键字,所以不能实例化

  • 静态类不能通过类名传递参数

  • 静态类不支持_init()_初始化函数

  • 静态类可以理解成带结构的数据类型

异常

隐性错误主要指代码编写存在逻辑错误或缺陷,当程序满足特定数据处理条件时,报错或给出错误答案。

try:
    代码模块1
except:
    代码模块2

如果在代码模块一中运行错误,则会执行代码模块二,否则忽略代码模块二。

还有一个情况是无论程序是否报错,都需要处理的一些代码功能,比如说读取一个文件,最后需要关闭的步骤是需要执行的,需要用到finally

try:
    代码模块1
except:
    代码模块2
finally:
    代码模块3

我们还可以使用raise关键字来抛出自己想说的异常

我们还可以捕捉特定的异常信息

异常的处理方法

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

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

相关文章

记一次 .NET某医疗器械清洗系统 卡死分析

一&#xff1a;背景 1. 讲故事 前段时间协助训练营里的一位朋友分析了一个程序卡死的问题&#xff0c;回过头来看这个案例比较经典&#xff0c;这篇稍微整理一下供后来者少踩坑吧。 二&#xff1a;WinDbg 分析 1. 为什么会卡死 因为是窗体程序&#xff0c;理所当然就是看主…

MySQL全局锁、表级锁、行级锁介绍演示(详细)

目录 介绍 分类 1、全局锁 1.1介绍 1.2场景 1.3语法 1.4演示 2、表级锁 2.1介绍 2.2分类 2.3语法 2.4演示 3、行级锁 3.1介绍 3.2分类 3.3场景 介绍 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中&#xff0c;除传统的计算资源&#xff08;…

linux下搭建Hbase分布式数据库

文章目录Hbase概念1.安装Hbase1.jdk的配置2.安装hbase2.启动和操作1.启动服务2 **web-ui访问地址:http://node01:16010/master-status**3.简单的操作1.连接 HBase2.帮助命令3.创建一张表 create a table4.使用查看表是否存在5.describe 查看表描述6.put命令插入数据到表7. scan…

jmeter插件的安装

前言 jmeter常用的插件有很多&#xff0c;本身安装的jmeter是没有安装插件的工具&#xff0c;需要下载一个jar包&#xff0c;通过插件安装工具去安装jmeter插件plugins-manager.jar这个jar包就是用来安装jmeter插件的jar把这个jar包下载后放到jmeter的lib/ext目录下重启jmeter…

C++语法(16)---- 多态

https://blog.csdn.net/m0_63488627/article/details/130106690?spm1001.2014.3001.5501https://blog.csdn.net/m0_63488627/article/details/130106690?spm1001.2014.3001.5501 目录 1. 多态的概念 2.多态的实现 1.虚函数 2.多态条件 得到的多态条件 特殊条件 3.虚函…

Socks5代理和IP代理

Socks5代理和IP代理是常用的网络代理服务&#xff0c;它们为用户提供了匿名访问和保护隐私的功能。在本文中&#xff0c;我们将介绍这两种代理的基本概念和工作原理&#xff0c;并展示如何编写一个简单的代理服务器。 一、什么是Socks5代理和IP代理&#xff1f; Socks5代理…

[操作系统安全]SetUID与Capability权能

问题一、解释“passwd”, “sudo” , “ping”等命令为什么需要 setuid位&#xff0c;去掉s位试运行&#xff0c;添加权能试运行。 1、为什么需要setuid位&#xff1a; 首先明确setuid的作用是&#xff1a;执行该设置后&#xff0c;文件执行时将以文件拥有者的身份执行&#xf…

C++【栈队列(3种)反向迭代器】

文章目录一、容器适配器二、栈&#xff08;一&#xff09;栈定义&#xff08;二&#xff09;栈使用接口&#xff08;三&#xff09;栈模拟实现(1) 栈模拟实现解析(2) 栈模拟实现代码(3) 栈模拟结果三、队列&#xff08;一&#xff09;普通队列&#xff08;1&#xff09;普通队列…

4、浅谈Makefile文件及其简单的使用知识

文章目录1、什么是Makefile&#xff1f;&#xff08;1&#xff09;makefile关系到了整个工程的编译规则。&#xff08;2&#xff09;makefile带来的好处就是——“自动化编译”&#xff08;3&#xff09;make是一个命令工具&#xff0c;是一个解释makefile中指令的命令工具2、为…

[FREERTOS]队列

1.什么是队列 队列也称消息队列&#xff0c;是一种常用于任务间通信的数据结构&#xff0c;队列可以在任务之间&#xff0c;中断和任务之间传递信息 2.传递信息为什么不用全局变量呢&#xff1f; 确实全局变量依然可以传递信息&#xff0c;但是如果全局变量改变的很频繁&#x…

网工必知—什么是堡垒机?-CCIE

什么是堡垒机&#xff1f; 网络工程师一定听过或用过所谓的“堡垒机”&#xff0c;那么堡垒机到底是什么呢&#xff1f; 堡垒机是一种跳板机制&#xff08;Jump Server&#xff09;&#xff0c;在一个特定的网络环境下&#xff0c;为了保障网络和数据不受来自外部和内部用户的…

flink 1.16 在centos安装 部署踩的坑

报错: 1 RESOURCES_DOWNLOAD_DIR : 这个错误是修改了 conf目录下 的 master 或 workers 等信息造成的. 2 修改了这个信息可能会造成输入密码的问题. 3 Could not connect to BlobServer at address localhost/127.0.0.1:39203 这个端口还会变化,这种问题可能是因为conf下的…

Python将Word文件中的内容写入Excel文件

在日常办公中我们经常需要将word文件中的数据写入Excel中&#xff0c;如果是手动一个一个进行复制粘贴&#xff0c;那将会非常的耗时且繁琐&#xff01; 遇到这种问题我们首先想到就是利用编程解决&#xff0c;今天我分享一个word转excel的小方法&#xff01; 首先我有一个wo…

常见漏洞扫描工具AWVS、AppScan、Nessus的使用

HVV笔记——常见漏洞扫描工具AWVS、AppScan、Nessus的使用1 AWVS1.1 安装部署1.2 激活1.3 登录1.4 扫描web应用程序1.4.1 需要账户密码登录的扫描1.4.2 利用录制登录序列脚本扫描1.4.3 利用定制cookie扫描1.5 扫描报告分析1.5.1 AWVS报告类型1.5.2 最常用的报告类型&#xff1a…

Microchip的10M以太网解决方案

&#xff08;以下所有图片均来源于Microchip官网&#xff09; 一 为什么需要10M车载以太网 目前车载百兆以太网&#xff08;100Base-T1&#xff09;和千兆以太网&#xff08;1000Base-T1&#xff09;技术较为成熟&#xff0c;但如果直接用100Base-T1/1000Base-T1来替代目前被广…

anaconda 创建虚拟环境 基本命令操作

下载好之后直接打开 anaconda prpmpt : 此时直接输入 &#xff1a;activate 不加环境名是直接进入到base环境中的 必须先进入到base环境中再使用后边的命令 &#xff1a; activate 直接进入base环境&#xff1a;如图&#xff1a;conda create -n 名字 python3.7 创建虚拟…

善用Embedding,我们来给文本分分类

你好&#xff0c;我是徐文浩。 上一讲里我们看到大模型的确有效。在进行情感分析的时候&#xff0c;我们通过OpenAI的API拿到的Embedding&#xff0c;比T5-base这样单机可以运行的小模型&#xff0c;效果还是好很多的。 不过&#xff0c;我们之前选用的问题的确有点太简单了。…

springboot服务端接口外网远程调试,并实现HTTP服务监听 - 内网穿透

文章目录前言1. 本地环境搭建1.1 环境参数1.2 搭建springboot服务项目2. 内网穿透2.1 安装配置cpolar内网穿透2.1.1 windows系统2.1.2 linux系统2.2 创建隧道映射本地端口2.3 测试公网地址3. 固定公网地址3.1 保留一个二级子域名3.2 配置二级子域名3.2 测试使用固定公网地址4. …

segment anything paper笔记

demo主页&#xff08;包含paper, demo, dataset&#xff09; 通过demo可以看到一个酷炫的效果&#xff0c;鼠标放在任何物体上都能实时分割出来。 segment anything宣传的是一个类似BERT的基础类模型&#xff0c;可以在下游任务中不需要再训练&#xff0c;直接用的效果。 而且…

增强领域的知识图谱

以下是一些近两年基于知识图谱做知识增强的顶会论文&#xff1a; "knowledge-enhanced hierarchical graph convolutional networks for intent detection" (acl 2021) "kg-bert: bert for knowledge graph completion" (emnlp 2019) "k-adapter: i…