Python基础详解二

一,函数

函数是组织好的,可重复使用的,用来实现某个功能的代码段

def myMethod(data):print("数据长度为",len(data))myMethod("dsdsdsds")

函数的定义:

def 函数名(传入参数):函数体return 返回值
def myMethod(data):print("数据长度为",len(data))return len(data)len =myMethod("dsdsdsds")
print(len)

 如果函数没有返回值,则默认返回None

None是空的,无实际意义的意思

None值等同于 False

二,局部变量和全局变量

局部变量是定义在函数体内部的变量,即只在函数体内部生效

def test():numa =100print(numa)
test()print(numa)

 

全局变量是在函数体内和体外都能生效的变量

numa =100
def test():print(numa)
test()print(numa)

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

numa = 100
def test():global numanuma = 200print(numa)
test()print(numa)

 三,数据容器

3.1 列表

list1 =["袁震1",2,"袁震3",4,"袁震5",6]for i in list1:print(i)

 列表中可以存储不同类型的数据

列表的嵌套:

list1 =["袁震1",2,"袁震3",4,"袁震5",6]
list2 =[list1,"2"]
print(list2[0][4])

 列表的倒序取出

list1 =["袁震1",2,"袁震3",4,"袁震5",6]
list2 =[list1,"2"]
print(list2[0][4])print(list1[-2])

方法和函数的区别:方法是定义在class内部的 

查找某元素下标:

list1 =["袁震1",2,"袁震3",4,"袁震5",6]print(list1.index("袁震1"))

0

修改特定位置的元素值

list1 =["袁震1",2,"袁震3",4,"袁震5",6]
list1[0] ="袁震"
print(list1)

['袁震', 2, '袁震3', 4, '袁震5', 6]

插入元素:

list1 =["袁震1",2,"袁震3",4,"袁震5",6]
list1[0] ="袁震"
list1.insert(1,"袁震2")
print(list1)

['袁震', '袁震2', 2, '袁震3', 4, '袁震5', 6]

追加元素:

list1 =["袁震1",2,"袁震3",4,"袁震5",6]
list1.append("袁震6")
print(list1)

['袁震1', 2, '袁震3', 4, '袁震5', 6, '袁震6']

追加一批元素:

list1 =["袁震1",2,"袁震3",4,"袁震5",6]
list2 =[1,2,3,4,5,6]
list1.extend(list2)
print(list1)

['袁震1', 2, '袁震3', 4, '袁震5', 6, 1, 2, 3, 4, 5, 6]

删除:

list1 =["袁震1",2,"袁震3",4,"袁震5",6]
del list1[0]
print(list1)

[2, '袁震3', 4, '袁震5', 6]

删除2:

list1 =["袁震1",2,"袁震3",4,"袁震5",6]
list1.pop(0)
print(list1)

[2, '袁震3', 4, '袁震5', 6]

删除指定内容元素:

list1 =["袁震1",2,"袁震3",4,"袁震5",6]
list1.remove("袁震1")
print(list1)

[2, '袁震3', 4, '袁震5', 6]

清空列表:

list1 =["袁震1",2,"袁震3",4,"袁震5",6]
list1.clear()
print(list1)

[]

统计某元素在列表内的数量

list1 =["袁震1",2,"袁震1",4,"袁震1",6]
count =list1.count("袁震1")
print(count)

3

统计列表内有多少元素

list1 =["袁震1",2,"袁震1",4,"袁震1",6]
count = len(list1)
print(count)

6

列表的遍历while:

def method1(myList:list):index =0while index<len(myList):element =myList[index]print(element)index +=1list1 =["袁震1",2,"袁震1",4,"袁震1",6]
method1(list1)

袁震1
2
袁震1
4
袁震1
6

列表的遍历for:

def method2(myList:list):for element in myList:print(element)list1 =["袁震1",2,"袁震1",4,"袁震1",6]
method2(list1)

袁震1
2
袁震1
4
袁震1
6

3.2 元组

元组同列表一样,都i是可以封装多个,不同类型的元素在内,但是,元组一旦定义完成,就不可修改。

元组的定义:
(元素,元素,元素)
t1=(1,2,3,4,"5",6)
t2=()
t3=tuple()
print(f"t1:{t1} t2:{t2} t3:{t3}")

t1:(1, 2, 3, 4, '5', 6) t2:() t3:()

如果定义的元组只有一个元素时,后面需要添加,

 查找某个元素:

t1=(1,2,3,4,"5",6)
print(t1.index(2))

1

统计元组元素数量:

t1=(1,2,3,4,"5",6)
print(len(t1))

6

统计某个 元素的数量:

t1=(1,1,1,1,"5",6)
print(t1.count(1))

4

不可修改元组内容,但是可以修改元组内部list的内容

3.3 字符串

取字符串某个元素

myStr ="yuan zhen"
print(myStr[2])

a

字符串不支持修改

index:

myStr ="yuan zhen"
print(myStr.index("u"))

1

replace:

myStr ="yuan zhen"
print(myStr.replace(" "," and "))

yuan and zhen

split:

myStr ="yuan zhen"
print(myStr.split(" "))

['yuan', 'zhen']

strip: 去除前后空格

myStr =" yuan zhen "
print(myStr.strip())

yuan zhen

myStr ="12yuan zhen21"
print(myStr.strip("12"))

yuan zhen

count:

myStr ="12yuan zhen21"
print(myStr.count("1"))

2

len:

myStr ="12yuan zhen21"
print(len(myStr))

13

3.4 序列

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

列表,元组,字符串均可视为序列

序列的切片

list=[1,2,3,4,5,6]
print(list[1:4:1])
print(list[:])
print(list[::2])
print(list[::-1])
print(list[3:1:-1])

[2, 3, 4]
[1, 2, 3, 4, 5, 6]
[1, 3, 5]
[6, 5, 4, 3, 2, 1]
[4, 3]

3.5 集合

集合不支持元素重复,无序

集合的定义:
{元素,元素,元素,元素}变量名称=set()
mySet ={1,2,3,2,3,4,6,443,313,1,3}
print(mySet)

{1, 2, 3, 4, 6, 313, 443}

添加元素:

mySet ={1,2,3,2,3,4,6,443,313,1,3}
mySet.add("袁震")
print(mySet)

{1, 2, 3, 4, 6, 313, 443, '袁震'}

移除元素:

mySet ={1,2,3,2,3,4,6,443,313,1,3}
mySet.remove(1)
print(mySet)

随机取出元素:

mySet ={1,2,3,2,3,4,6,443,313,1,3}print(mySet.pop())

1

清空集合

mySet ={1,2,3,2,3,4,6,443,313,1,3}print(mySet.clear())

None

取两个集合的差集:

mySet ={1,2,3}
mySet2={1,5,6}print(mySet.difference(mySet2))

{2, 3}

合并:

mySet ={1,2,3}
mySet2={1,2,5,6}
result =mySet.union(mySet2)
print(result)

{1, 2, 3, 5, 6}

 3.6 字典

字典的定义:

{key:value,key:value,key:value,key:value}mydict=dict()
myDict ={"袁震":100,"张三":0}
print(myDict)

{'袁震': 100, '张三': 0}

通过key获取value:

myDict ={"袁震":100,"张三":0}
print(myDict["袁震"])

100
新增元素:

myDict ={"袁震":100,"张三":0}
myDict["李四"]=90
print(myDict)

{'袁震': 100, '张三': 0, '李四': 90}

删除元素:

myDict ={"袁震":100,"张三":0}
myDict.pop("张三")
print(myDict)

{'袁震': 100}

清空元素:

myDict ={"袁震":100,"张三":0}
myDict.clear()
print(myDict)

{}

获取全部key:

myDict ={"袁震":100,"张三":0}
print(myDict.keys())

dict_keys(['袁震', '张三'])

遍历:

myDict ={"袁震":100,"张三":0}
keys=myDict.keys()
print(myDict.keys())
for key in keys:print(myDict[key])

获取最大元素:

print(max(myDict))

获取最小元素:

print(min(myDict))

转列表:

print(list(myDict))

['袁震', '张三']

转元组:

print(tuple(myDict))

转字符串:

print(str(myDict))

转集合:

print(set(myDict))

排序:排序结果都变为了列表

mySet ={1,2,3}
mySet2={1,2,5,6}result =mySet.union(mySet2)
print(sorted(result))

[1, 2, 3, 5, 6]

反向排序:

mySet ={1,2,3}
mySet2={1,2,5,6}result =mySet.union(mySet2)
print(sorted(result,reverse=True))

[6, 5, 3, 2, 1]

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

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

相关文章

10_Linux中的计划任务

10_Linux中的计划任务 常见计划任务 Linux系统中默认在执行的计划任务 日志文件的轮询:logrotate日志文件分析logwatch任务建立locate数据库建立manpage查询数据库RPM软件日志文件删除缓存与网络有关的分析 仅执行一次的计划任务 atd和at [rootnode4 ~]# systemctl start…

关系型数据库MySQL开发要点之多表设计案例详解代码实现

什么是多表设计 项目开发中 在进行数据库表结构设计时 根据数据模型和业务关系 会根据业务需求和业务模块之间的关系分析设计表结构 由于业务之间互相关联 所以表结构之间也存在着各种联系 主要分为以下三种 一对多 每个部门下是有多个员工的 但是一个员工只能归属一个部…

CMakeLists.txt语法规则:foreach 循环基本用法

一. 简介 cmake 中除了 if 条件判断之外&#xff0c;还支持循环语句&#xff0c;包括 foreach()循环、while()循环。 本文学习 CMakeLists.txt语法中的循环语句。 CMakeLists.txt语法中 有两种 循环实现方式&#xff1a;foreach循环与 while循环。 二. CMakeLists.txt语法规则…

设计列表结构

实现1.1&#xff0c;1.2的有序列表 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style>ol{list-style: none;}li:before{color:#f00;font-family:Times New Roman;}li{counter-increment:a 1;}li…

免费https证书申请

HTTPS证书&#xff0c;也称为SSL证书&#xff08;Secure Sockets Layer&#xff09;或TLS证书&#xff08;Transport Layer Security&#xff09;&#xff0c;是一种数字证书&#xff0c;用于在互联网通信中确保数据传输的安全性、完整性和真实性。它是基于公钥基础设施&#x…

RISCV 外部GCC 工具链安装@FreeBSD15

在交叉编译的时候&#xff0c;可以使用FreeBSD15默认的工具链&#xff1a;LLVM 也可以使用GCC工具链&#xff0c;GCC可以使用现成pkg包安装&#xff0c;也可以编译安装。 LLVM的特点是高移植性和高效&#xff0c;但学习成本高。GCC的特点是成熟稳定&#xff0c;但优化能力有限…

Qt之摄像头操作

简单的摄像头测试类 头文件camerawidget.h #ifndef CAMERAWIDGET_H #define CAMERAWIDGET_H#include <QWidget> #include <QList> #include <QCamera> #include <QCameraInfo> #include <QCameraViewfinder> #include <QCameraImageCapture…

基于FPGA的数字电子钟VHDL代码Quartus仿真

名称&#xff1a;基于FPGA的数字电子钟VHDL代码Quartus仿真&#xff08;文末获取&#xff09; 软件&#xff1a;Quartus 语言&#xff1a;VHDL 代码功能&#xff1a; 数字电子钟 1)设计一个能显示秒、分、时的24小时数字钟 2)用数码管显示出时&#xff0c;分&#xff0c;…

OpenSBI 固件代码分析合集-泰晓社区

泰晓社区&#xff1a;https://tinylab.org/ OpenSBI 固件代码分析&#xff08;一&#xff09;&#xff1a;启动流程OpenSBI 固件代码分析&#xff08;二&#xff09;&#xff1a;fw_base.S 源码分析OpenSBI 固件代码分析&#xff08;三&#xff09;: sbi_init.cOpenSBI 固件代…

JDK生成https配置

keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:\https证书\weChat.keystore -validity 36500 -keypass 250250 keytool -importkeystore -srcstoretype JKS -srckeystore D:\https证书\weChat.keystore -srcstorepass 250250 -srcalias tomcat -srckeypass 25025…

Unity射击游戏开发教程:(10)创建主界面

主界面开发 玩游戏时,主菜单是事后才想到要做的。实际上几乎每个游戏都有一个主界面。如果你点击打开游戏并立即开始游戏,你会感到非常惊讶。本文将讨论如何创建带有启动新游戏的交互式按钮的主界面/主菜单。 主菜单将是一个全新的场景。我们将添加一个 UI 图像元素,并在图像…

NLP(13)--文本分类任务

前言 仅记录学习过程&#xff0c;有问题欢迎讨论 情感分析&#xff0c;违规检测&#xff0c;商品评论打分 贝叶斯算法&#xff1a; P(B1) 结果为奇数 P(B2) 结果为偶数 P(A) 结果为5 P(A) P(B1) * P(A|B1) P(B2) * P(A|B2) 1/2 1/3 1/20 支持向量机&#xff1a;les…

java中的变量、数据类型、人机交互

变量 变量要素 1、类型&#xff1b;每一个变量都需要定义类型&#xff08;强类型&#xff09;其它语言有弱类型&#xff08;js&#xff09; 2、变量名&#xff1b; 3、存储的值&#xff1b; 声明方式&#xff1a; 数据类型 变量名 变量值&#xff1b; public static vo…

Java之抽象类和接口

一、抽象类 1.抽象类概念 如果一个类中没有包含足够的信息来描绘一个具体的对象&#xff0c;这样的类就是抽象类&#xff0c; 比如动物类。没有实际工作的方法 , 我们可以把它设计成一个 抽象方法&#xff0c; 包含抽象方法的类我们称为 抽象类。 2.抽象类语法 在Java中&am…

网络基础——校验

网络基础——校验 网络通信的层次化模型&#xff08;如OSI七层模型或TCP/IP四层模型&#xff09;中&#xff0c;每一层都有其特定的校验机制来确保数据传输的正确性和完整性。 物理层 校验方式 不直接涉及校验和&#xff0c;但会采用信号编码技术&#xff08;如曼彻斯特编码…

Linux磁盘IO、网络IO、零拷贝详解

一、什么是I/O&#xff1f; 在计算机操作系统中&#xff0c;所谓的I/O就是输入&#xff08;input&#xff09;和输出&#xff08;output&#xff09;,也可以理解为读&#xff08;read&#xff09;和写&#xff08;write&#xff09;,针对不同的对象&#xff0c;I/O模式可以划分…

什么是接口和类?Java中的集合框架有哪些主要接口和类?

Java中的集合框架有哪些主要接口和类&#xff1f; Java中的集合框架&#xff08;Java Collections Framework&#xff09;提供了一套丰富的接口和类&#xff0c;用于存储和操作对象的集合。以下是Java集合框架中的主要接口和类&#xff1a; 主要接口 Collection&#xff1a; 这…

【busybox记录】【shell指令】comm

目录 内容来源&#xff1a; 【GUN】【comm】指令介绍 【busybox】【comm】指令介绍 【linux】【comm】指令介绍 使用示例&#xff1a; 逐行比较两个排序后的文件 - 默认输出 逐行比较两个排序后的文件 - 如果一个文件的排序有问题&#xff0c;那么反错&#xff08;默认&…

在 Linux 系统中,有多种方法可以查看系统信息

uname&#xff1a; 显示内核信息&#xff0c;如内核版本和机器类型&#xff08;架构&#xff09;。 uname -a hostname&#xff1a; 显示当前系统的主机名。 hostname lsb_release&#xff1a; 显示 Linux 发行版信息&#xff0c;如代号和描述。 lsb_release -a cat /etc/*rele…

泰迪智能科技中职大数据实验室建设(职业院校大数据实验室建设指南)

职校大数据实验室是职校校园文化建设的重要部分&#xff0c;大数据实训室的建设方案应涵盖多个方面&#xff0c;包括硬件设施的配备、软件环境的搭建、课程资源的开发、师资力量的培养以及实践教学体系的完善等。 打造特色&#xff0c;对接生产 社会经济与产业的…