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 =100
    print(numa)
test()

print(numa)

 

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

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

print(numa)

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

numa = 100
def test():
    global numa
    numa = 200
    print(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 =0
    while index<len(myList):
        element =myList[index]
        print(element)
        index +=1

list1 =["袁震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]

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

DS高阶:图论算法经典应用

一、最小生成树&#xff08;无向图&#xff09; 在了解最小生成树算法之前&#xff0c;我们首先要先了解以下的准则&#xff1a; 连通图中的每一棵生成树&#xff0c;都是原图的一个极大无环子图&#xff0c;即&#xff1a;从其中删去任何一条边&#xff0c;生成树就不在连通&a…

3D相机及应用

无论是2D相机和3D相机&#xff0c;在工业应用中都有着不可或缺的作用。3D相机与2D相机的最大区别在于&#xff0c;3D相机可以获取真实世界尺度下的3D信息&#xff0c;而2D相机只能获取像素尺度下的2D平面图像信息。通过3D相机得到的数据&#xff0c;我们可以还原出被测量物体的…

1-2 ARM单片机GPIO

def&#xff1a;通用输入输出口 GPIO输出模式原理讲解 1&#xff1a;推挽输出 2&#xff1a;复用推挽输出 电流最大是20mA&#xff0c;对于单片机来说总体的输出是由范围的 开漏/复用开漏输出 外部接上拉电阻的开漏输出 线与的概念 注&#xff1a; 与的概念&#xff1a;全1为1&…

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

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

k8s ReplicaSet

ReplicaSet 是替代 ReplicationController 的&#xff0c;ReplicaSet 的行为与 ReplicationController 完全相同&#xff0c; 但pod 选择器的表达能力更强。 ReplicaSet 和 ReplicationController 的区别&#xff1a; ReplicationController 的标签选择器只允许包含某个标签的…

MahApps.Metro的MVVM模式介绍(一)

MahApps.Metro是一个开源的WPF (Windows Presentation Foundation) UI 控件库。它的特点有现代化设计、主题定制、响应式布局、内置控件。 而Mvvm模式的核心思想是将用户界面&#xff08;View&#xff09;与应用程序逻辑&#xff08;ViewModel&#xff09;分离&#xff0c;以实…

55. 【Android教程】位图:Bitmap

在上一节学习 Drawable 图像资源的时候我们在很多地方用到了 bitmap&#xff0c;bitmap 其实就是真实图片在 Android 中最直接的表现形式&#xff0c;这一节我们来仔细学习一下 Bitmap 的使用。 1. 什么是 Bitmap Bitmap 在 Android 中对应一张图片文件&#xff0c;它是一个二…

使用IIS部署Vue项目

前提 使用IIS部署Vue项目&#xff0c;后端必须跨域&#xff0c;不要在Vue中用proxy跨域&#xff0c;那个只在dev环境中有用&#xff01; IIS安装&#xff0c;不用全部打勾&#xff0c;有些他默认就是方块 ■ 选择性安装的&#xff0c;就维持原样就可以。 添加网站配置 右键…

nginx模型设计和进程讲解

一. Nginx进程模型解析 1. master主进程 和 worker工作进程 [rootlocalhost sbin]# ps -ef|grep nginx root 15411 1 0 21:08 ? 00:00:00 nginx: master process ./nginx nobody 15412 15411 0 21:08 ? 00:00:00 nginx: worker process root…

通过颜色学习css

文章目录 1.生成html2.添加css链接3.将h1标签text-align元素4.添加div标签4.1、为类marker添加元素4.2、添加两个新的div标签4.3、修改div标签的类型并修改css元素4.4、为类container添加元素4.5、以数字形式添加颜色4.5、container添加padding属性4.6、组合css中的颜色属性4.7…

python abs函数怎么用

abs()函数是Python的数字函数&#xff0c;用以返回数字的绝对值。 语法 以下是 abs() 方法的语法&#xff1a; abs( x ) 参数 x -- 数值表达式&#xff0c;可以是整数&#xff0c;浮点数&#xff0c;复数。 返回值 函数返回 x&#xff08;数字&#xff09;的绝对值&#x…

【自然语言处理】seq2seq模型——机器翻译

seq2seq模型——机器翻译 1 任务目标 1.1 案例简介 seq2seq是神经机器翻译的主流框架&#xff0c;如今的商用机器翻译系统大多都基于其构建&#xff0c;在本案例中&#xff0c;我们将使用由NIST提供的中英文本数据训练一个简单的中英翻译系统&#xff0c;在实践中学习seq2se…

uniapp文本框上下滚动问题

一个基本需求&#xff0c;textarea标签没有办法通过手拖动的方式进行滚动&#xff0c;当文字超出其容量后&#xff0c;想要编辑上面被遮挡部分的文字这边难以点到&#xff0c;电脑可以鼠标滚轮&#xff0c;但手机需要拖动但无效&#xff1a; 下面提供了我的解决思路&#xff1a…

list的模拟实现

目录 1.默认成员函数模拟实现 1.1 构造函数&#xff08;头节点&#xff09; 1.2 析构函数 1.3 拷贝构造函数 1.4 赋值重载函数 2.增删查改模拟实现 2.1 insert 2.2 erase 2.3 push_back、pop 3.前置、--、后置、-- 3.1前置&#xff1a; 3.2后置&#xff1a; 3.3 …

STC89C52驱动XPT2046AD转换

目录 简介封装接线&#xff08;单端&#xff09;时序以及命令字SPI时序命令字 程序XPT2046.CXPT2046.hmain.c测试 简介 XPT2046是一款4线电阻式触摸屏控制器&#xff0c;采用12位125 kHz采样SAR类型A / D转换器。XPT2046工作电压低至2.2V&#xff0c;支持1.5V至VCC的数字I/O接…

休斯《公共管理导论》第5版/考研真题解析/章节题库

第一部分 考研真题精选 一、概念题二、简答题三、论述题四、案例分析题第二部分 章节题库 第1章 一个变革的时代第2章 政府的角色第3章 传统的公共行政模式第4章 公共管理第5章 公共政策第6章 治 理第7章 问 责第8章 利害关系人和外部环境第9章 管制、外包和公共企…

jenkins目录下的vue3项目——pnpm install后运行报错——奇葩问题解决

昨天到今天&#xff0c;同事那边遇到一个问题&#xff0c;就是关于vue3vite的项目&#xff0c;在执行了自动打包后&#xff0c;运行代码会提示报错的问题。 报错信息如下&#xff1a; 具体错误信息如下&#xff1a; ERROR 11:28:14 [vite] Pre-transform error: Cannot find …

Xshell连接提示“SSH服务器拒绝了密码”

原因1&#xff1a;数字锁没有打开 没有打开NumLock&#xff08;数字小键盘上面有一个【Num】按键&#xff09;&#xff0c;需要按键开启。 注意要检查NumLock灯是否亮起。 或者改成用字母键上面的数字键输入就好了。 原因2&#xff1a;root密码设置错误&#xff08;这个是比较常…

frp内网穿透服务搭建与使用

frp内网穿透服务搭建与使用 1、frp简介 frp 是一个专注于内网穿透的高性能的反向代理应用&#xff0c;支持 TCP、UDP、HTTP、HTTPS 等多种协议。 可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。frp工作原理 服务端运行&#xff0c;监听一个主端口…

深入Django:用户认证与权限控制实战指南

title: 深入Django&#xff1a;用户认证与权限控制实战指南 date: 2024/5/7 18:50:33 updated: 2024/5/7 18:50:33 categories: 后端开发 tags: AuthDecoratorsPermissionsGuardianRESTAuthSessionMgmtMFA 第1章&#xff1a;入门Django与设置 1.1 Django安装与环境配置 在…