Python基础2

news2024/11/15 17:33:52

1. python函数定义

函数定义语法:

def 函数名(传入参数):

        函数体

        return 返回值

——————————————

  1. 参数如果不需要,可以省略
  2. 返回值如果不需要,可以省略
  3. 函数必须先定义在使用

注意:当无返回值是,python实际上返回了一个参数:None。

2. global关键字

使用global关键字可以在函数内部声明变量为全局变量,如下所示:

 3. python数据容器

数据容器根据特点不同,如:

  • 是否支持重复元素
  • 是否可以修改
  • 是否有序

分为了五类,分别是:列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict)。

3.1 数据容器:list(列表)

3.1.1 列表的定义

变量名称 = [元素一,元素二,元素三,元素四,。。。]

定义空列表:

变量名称 = []

变量名称 = list()

列表内的每一个数据,称之为元素

  • 以【】作为标识
  • 列表内每一个元素之间用“,”逗号隔开

 3.1.2 列表的下标索引

 如图,列表中的每一个元素都有其位置上的下标索引,从前向后,从0开始依次递增。

或者也可以反向索引,也就是从后向前,从-1开始依次递减(-1,-2,-3,。。。)

 如果列表是嵌套列表,同样可以进行下标索引:

例子如下:

3.1.3 列表的常用操作

常用操作有:

  1. 插入元素
  2. 删除元素
  3. 清空元素
  4. 修改元素
  5. 统计元素个数
  • 列表的查询

查找某元素的下标

功能:查找指定元素在列表的下标,如果找不到,报错ValueError

语法:列表.index(元素)

  • 列表的修改

修改特定位置(索引)的元素值:

语法:列表【下标】= 值

  • 列表插入元素

语法:列表.insert(下标,元素),在指定的下标位置,插入指定的元素。

  •  列表元素的追加

语法:列表.append(元素),将指定元素追加到列表的尾部。

另外,列表除了能追加单个元素,还可以追加一批元素:

语法:列表.extend(其他数据容器),将其他数据容器的内容取出,依次追加到列表尾部。

  •  列表元素删除

语法1:del 列表【下标】

语法2:列表.pop(下标)

此外,python还可以删除某元素在列表中的第一个匹配项

语法:列表.remove(元素)

  • 清空列表内容

语法:列表.clear()

  • 统计某一个元素在列表中的数量

语法:列表.count(元素)

  • 列表长度

语法:len(列表)

——————————————————

3.2 数据容器:tuple(元组)

由于列表可以修改,当我们需要不可修改的数据容器是,元组就出现了。

元组一旦定义完成,就不可修改。

元组定义:定义元组使用小括号,且使用逗号隔开各个数据,数据可以是不用的数据类型。

定义:tuple = (元素1,元素2,元素3,元素4,。。。)

注意:当元组只有一个数据,这个数据后面要添加逗号

3.2.1 下标查找

语法:元组.index()

3.2.2 统计某元素个数

语法:count()

3.2.3 统计长度len()

语法:len()

特例:我们知道元组的内容不可修改,但如果在元组内嵌套了list,那么list内的内容就可以修改。

3.3 数据容器:str(字符串)

字符串是字符的容器,一个字符串可以存放任意量的字符。

同时,字符串也支持下标,每一个字符都占有一个下标索引。

同元组一样,字符串也是一个不可修改的数据容器。所以:

  • 修改指定下标的字符
  • 移除指定下标的字符
  • 追加字符

以上操作均无法完成,如果必须要修改,只能在创建一个新的字符串。

  • 查找特定字符串的下标索引值

语法:字符串.index(字符串)

  • 字符串的替换

语法:字符串.replace(字符串1,字符串2)

功能:将字符串1内的全部替换为字符串2。

注意:不是修改字符串本身,而是得到一个新的字符串。

  • 字符串的分割

语法:字符串.split(分隔符字符串)

功能:按照指定的分隔符字符串,将字符串用逗号划分为多个字符串,并存入列表对象中。

注意:字符串本身不变,而是得到了一个列表对象。

  • 字符串去除前后空格

语法:字符串.strip()

  • 字符串去除前后指定字符串

语法:字符串.strip(字符串)

  • 统计字符串某字符串出现次数

语法:字符串.count(字符串)

  • 统计字符串长度

语法:len(字符串)

3.4 数据容器的切片

序列:序列是指内容连续有序,可使用下标索引的一类数据容器。

切片:从一个序列中,取出一个子序列。

语法:序列【起始下标:结束下标:步长】

表示从序列中,从指定位置开始,依次取出元素,到指定位置结束,得到一个新序列。

起始下标表示从何处开始,可以留空,留空表示从头开始

结束下标(不包含)表示从何处结束,可以留空,留空表示取到结尾

步长表示,依次取出元素的间隔:

  • 步长1表示:一个一个取元素
  • 步长2表示:每次跳过1个元素
  • 步长n表示:每次跳过n-1个元素
  • 步长为负数表示:反向取(注意,起始下标和结束下标也要反向标记)

注意:此操作不会影响序列本身,而是得到一个新的序列

3.5 数据容器:set(集合)

前面说的列表、元组、字符串的局限性在于:他们都支持重复元素。

如果实际情况需要对内容进行去重处理,就需要用集合了。

集合:不支持元素的重复(自带去重功能),并且内容无序。集合使用{}

定义:集合 = {元素,元素,元素,。。。}

3.5.1 集合修改

由于集合是无序的,所以集合不支持下标索引访问数据。

但是集合和列表一样,是允许修改的。

  • 添加新元素

语法:集合.add(元素)

  •  移除元素

语法:集合.remove(元素)

  •  随机取出元素

语法:集合.pop()

结果:会得到一个元素的结果,同时集合被修改,元素被移除。

  • 清空集合

语法:集合.clear()

  • 取出两个集合差集

语法:集合1.difference(集合2)

功能:取出集合1有而集合二没有的元素,得到一个新集合

  • 消除两个集合的差集

语法:集合1.difference_update(集合2)

功能:在集合1内,删除和集合2相同的元素。集合1被修改,集合2不变。

  • 两个集合合并

语法:集合1.union(集合2)

功能:将集合1和集合2组合成新集合,得到一个新集合,集合1和集合2不变。

  •  len()

统计集合元素数量。

——————————————————

集合不支持下标索引,所以不能用while循环,可以用for循环。

3.6 数据容器:dict(字典)

3.6.1 字典的定义

python中的字典:key->value

字典的定义:同集合一样使用{},存储的元素是键值对。

字典 = {key:value,key:value,。。。}

同时,字典的key不可重复。如果重复,程序存储最后一个key。

  • 字典取数据

字典同样可以嵌套。

3.6.2 字典的常用操作

  • 新增元素

语法:字典【key】 = value。

  • 更新元素

语法:字典【key】 = value。

  • 删除元素

语法:字典.pop(key)。

  • 清空字典

语法:字典.clear()

  • 获取全部key

语法:字典.keys()

  • 遍历字典

语法:字典同样不可用while循环,可用for循环:for key in 字典.keys()

  • 计算字典内全部元素(键值对)数量

语法:len(字典)

3.7 数据容器对比

 3.8 数据容器通用操作

  • len(容器):求元素个数
  • max(容器):求最大元素
  • min(容器):求最小元素
  • list(容器):将指定容器转换为列表
  • str(容器):将指定容器转换为字符串
  • tuple(容器):将指定容器转换为元组
  • set(容器):将指定容器转换为集合
  • sorted(容器,【erverse = True】):将指定容器进行排序,排序后都会得到一个list对象。

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

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

相关文章

UIE微调:autoML平台实践(一)

参考:uie模型微调个人总结 github:https://github.com/PaddlePaddle/PaddleNLP/tree/develop/model_zoo/uie 1、显存问题 之前是在实验室的服务器上跑(2080ti,12G显存),频频出现以下报错: 原…

python 刷题时常见的函数

collections.OrderedDict 1. move_to_end() move_to_end() 函数可以将指定的键值对移动到最前面或者最后面,即最左边或最右边 。 2. popitem() popitem()可以完成元素的删除操作,有一个可选参数last(默认为True),…

微软?还是Linux?

导读本周,微软宣布它成为了 Linux 基金会的白金成员,这距其前 CEO 巴尔默将 Linux 称之为“癌症”才 15 年。虽然此举对微软来说意义重大,但是并不是开源界的每个人都认为这对于 Linux 来说是好的变化,特别是这家位于雷德蒙的软件…

kafka-3-kafka应用的核心要点和内外网访问

kafka实战教程(python操作kafka),kafka配置文件详解 Kafka内外网访问的设置 1 kafka简介 根据官网的介绍,ApacheKafka是一个分布式流媒体平台,它主要有3种功能: (1)发布和订阅消息流,这个功能类似于消息队列&#x…

宁波大学2023年MBA招生考试初试成绩查询的通知

根据往年的情况,2023宁波大学MBA考试初试成绩可能将于2月21日公布,最早于20号出来,为了广大考生可以及时查询到自己的分数,杭州达立易考教育为大家汇总了信息。 宁波大学2023年全国硕士研究生招生考试初试成绩将于2月21日公…

Java Type类

文章目录Type简介Type分类1. 原始类型(Class)2. 参数化类型(ParameterizedType)3. 类型变量(TypeVariable)4. 通配符类型(WildcardType)5. 泛型数组类型(GenericArrayType)Type简介 Type是Java编程语言中所有类型的公共高级接口。它们包括原始类型、参数化类型、数组类型、类型…

Java数据结构-栈、队列常用类(Stack、ArrayDeque、LinkedLList)

数据结构的三要素包括:逻辑结构、存储结构、数据的运算。逻辑结构描述的是数据之间的逻辑关系,分为线性结构(线性表(数组、链表)、栈、队列)和非线性结构(图、树、集合)。物理结构也…

服务器是干什么用的?

首先,什么是服务器?服务器是提供计算服务器和网络服务的设备。服务器和计算机由CPU、硬盘、内存、系统总线等组成。比如我们访问一个网站,点击这个网站会发出访问请求,服务器会响应服务请求,进行相应的处理&#xff0c…

在windows中使用tomcat搭建Jenkins

1、 准备环境:JDK JDK官网下载:https://download.oracle.com/java/19/latest/jdk-19_windows-x64_bin.msi 2、 tomcat包 tocat官网下载:https://tomcat.apache.org/download-90.cgi 3、 Jenkins.war包 Jenkins官网下载:https://mi…

GEE学习笔记 七十六:【GEE之Python版教程十】字典

python中万物皆对象,字典在其他的语言中也有称之为对象,无论怎么称呼它其实就是 {key:value} 这种格式。 依然是运行代码前先注册GEE import ee ee.Initialize() 1、字典的API 首先看一下GEE的python版API(Welcome to GEE-Python-API’s d…

曾经的月薪3K,现在的月薪25K,我的测试经验值得你的借鉴

成功不能复制,但经验却可以借鉴!从曾经的月薪3K,到现在的月薪25K,我觉得我的涨薪之路的的确确可以给很多人一些参考。授人以鱼不如授人以渔,所以,今天我也想把我的经验分享给大家,希望可以帮助一…

Unity New Input System

安装 Input System是新的输入系统,用来取代旧的Input Manager,方便接收不同的输入设备 在Package Manager里安装 安装后可以选择只使用新的Input System,或选Both两者都使用,考虑很多插件还在使用旧的Input Manager&#xff0c…

nacos discovery和config

微服务和nacos版本都在2.x及之后。1、discovery用于服务注册,将想要注册的服务注册到nacos中,被naocs发现。pom引入的依赖是:yml配置文件中:2、config用于获取nacos配置管理->配置列表下配置文件中的内容pom引入的依赖是&#…

Android问题解决方案(一):Android 打空包后提示没有”android:exported“的属性设置

Android 打空包后提示没有”android:exported“的属性设置Android 打空包后提示没有”android:exported“的属性设置1、问题:2、文档3、参考链接:4、解决方案:Android 打空包后提示没有”android:exported“的属性设置 1、问题: …

SpringMVC——基础知识

基本概念 SpringMVC是基于servlet api构造的原始web框架,全称是Spring Web MVC 而MVC的全称是Model View Controller,翻译成中文分别是“模型”,“视图”,“控制器”,这是一种软件的架构模式 Model:用来…

JavaScript:简单理解防抖和节流,如何定义防抖和节流函数?

防抖 防抖函数,就是防止抖动,避免事件重复触发。比如监听输入框的输入,不应该在用户每输入一个字符就触发监听,而是在用户输入结束后再来监听。 流程为: 1、事件触发; 2、开启定时器; 3、当事…

致远OAA6版安装

准备工作,操作系统winserver2019,sqlserver2019。致远OA安装包0.SeeyonInstall.zip相关下载:winserver2019下载地址:cn_windows_server_2019_updated_july_2020_x64_dvd_2c9b67da.iso magnet:?xturn:btih:22A410DEA1B0886354A34D…

实用版ChatBing论文阅读助手教程+新测评

实用版ChatBing论文阅读助手新测评 AI进化(更新)的速度太快了!距离我上次的【Chat嘴硬!基于NewBing的论文调研评测报告】,才四天,它已经进化到快能用的地步了! 这次是我刷B站看到热门推荐&…

美团 PK 抖音,内容与商业化之间的较量谁能赢?

□ 最近事件:根据Tech星球报道,近期美团升级短视频、直播等内容建设;并且宣称调整战略,发力短视频和直播 1、美团外卖APP商家信息流中,会出现约30秒的短视频内容,视频偏向于种草,主要是向消费者…

明美新能在创业板IPO过会:计划募资4.5亿元,2022年营收约39亿元

2月17日,深圳证券交易所披露的信息显示,广州明美新能源股份有限公司(下称“明美新能”)获得上市委会议审议通过。本次冲刺上市,明美新能计划募资4.50亿元,德邦证券为其保荐机构。 据介绍,明美新…