Python基础详解二

2024-05-08 03:52
文章标签 python 基础 详解

本文主要是介绍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]

这篇关于Python基础详解二的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/969230

相关文章

HTML5的input标签的`type`属性值详解和代码示例

《HTML5的input标签的`type`属性值详解和代码示例》HTML5的`input`标签提供了多种`type`属性值,用于创建不同类型的输入控件,满足用户输入的多样化需求,从文本输入、密码输入、... 目录一、引言二、文本类输入类型2.1 text2.2 password2.3 textarea(严格

Python数据验证神器Pydantic库的使用和实践中的避坑指南

《Python数据验证神器Pydantic库的使用和实践中的避坑指南》Pydantic是一个用于数据验证和设置的库,可以显著简化API接口开发,文章通过一个实际案例,展示了Pydantic如何在生产环... 目录1️⃣ 崩溃时刻:当你的API接口又双叒崩了!2️⃣ 神兵天降:3行代码解决验证难题3️⃣ 深度

C++ move 的作用详解及陷阱最佳实践

《C++move的作用详解及陷阱最佳实践》文章详细介绍了C++中的`std::move`函数的作用,包括为什么需要它、它的本质、典型使用场景、以及一些常见陷阱和最佳实践,感兴趣的朋友跟随小编一起看... 目录C++ move 的作用详解一、一句话总结二、为什么需要 move?C++98/03 的痛点⚡C++

Python+FFmpeg实现视频自动化处理的完整指南

《Python+FFmpeg实现视频自动化处理的完整指南》本文总结了一套在Python中使用subprocess.run调用FFmpeg进行视频自动化处理的解决方案,涵盖了跨平台硬件加速、中间素材处理... 目录一、 跨平台硬件加速:统一接口设计1. 核心映射逻辑2. python 实现代码二、 中间素材处

MySQL中between and的基本用法、范围查询示例详解

《MySQL中betweenand的基本用法、范围查询示例详解》BETWEENAND操作符在MySQL中用于选择在两个值之间的数据,包括边界值,它支持数值和日期类型,示例展示了如何使用BETWEEN... 目录一、between and语法二、使用示例2.1、betwphpeen and数值查询2.2、be

python中的flask_sqlalchemy的使用及示例详解

《python中的flask_sqlalchemy的使用及示例详解》文章主要介绍了在使用SQLAlchemy创建模型实例时,通过元类动态创建实例的方式,并说明了如何在实例化时执行__init__方法,... 目录@orm.reconstructorSQLAlchemy的回滚关联其他模型数据库基本操作将数据添

Java中ArrayList与顺序表示例详解

《Java中ArrayList与顺序表示例详解》顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构,:本文主要介绍Java中ArrayList与... 目录前言一、Java集合框架核心接口与分类ArrayList二、顺序表数据结构中的顺序表三、常用代码手动

Python实现快速扫描目标主机的开放端口和服务

《Python实现快速扫描目标主机的开放端口和服务》这篇文章主要为大家详细介绍了如何使用Python编写一个功能强大的端口扫描器脚本,实现快速扫描目标主机的开放端口和服务,感兴趣的小伙伴可以了解下... 目录功能介绍场景应用1. 网络安全审计2. 系统管理维护3. 网络故障排查4. 合规性检查报错处理1.

JAVA线程的周期及调度机制详解

《JAVA线程的周期及调度机制详解》Java线程的生命周期包括NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING和TERMINATED,线程调度依赖操作系统,采用抢占... 目录Java线程的生命周期线程状态转换示例代码JAVA线程调度机制优先级设置示例注意事项JAVA线程

Python轻松实现Word到Markdown的转换

《Python轻松实现Word到Markdown的转换》在文档管理、内容发布等场景中,将Word转换为Markdown格式是常见需求,本文将介绍如何使用FreeSpire.DocforPython实现... 目录一、工具简介二、核心转换实现1. 基础单文件转换2. 批量转换Word文件三、工具特性分析优点局