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.hqwc.cn/news/674658.html

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

相关文章

选择了软件测试,你后悔吗?

记得在求职的时候&#xff0c;面试官经常问我&#xff1a;“为什么要选择软件测试工作?”而我也会经常说一堆自己有的没的优势去应付。 工作这么久了&#xff0c;也不再浮躁&#xff0c;静下心来回忆当初选择软件测试工作的历程&#xff0c;也是对自己职业生涯的一次回顾。 下…

数据结构-二叉树结尾+排序

一、二叉树结尾 1、如何判断一棵树是完全二叉树。 我们可以使用层序遍历的思路&#xff0c;利用一个队列&#xff0c;去完成层序遍历&#xff0c;但是这里会有些许的不同&#xff0c;我们需要让空也进队列。如果队列里到最后只剩下空那么这棵树就是完全二叉树。具体的实现如下…

.双链表.

题目&#xff1a; 实现一个双链表&#xff0c;双链表初始为空&#xff0c;支持 55 种操作&#xff1a; 在最左侧插入一个数&#xff1b;在最右侧插入一个数&#xff1b;将第 k&#x1d458; 个插入的数删除&#xff1b;在第 k&#x1d458; 个插入的数左侧插入一个数&#xf…

Ansible自动化运维工具 - playbook 剧本编写

一. inventory 主机清单 Inventory 支持对主机进行分组&#xff0c;每个组内可以定义多个主机&#xff0c;每个主机都可以定义在任何一个或多个主机组内。 1.1 inventory 中的变量含义 Inventory 变量名 含义ansible_hostansible连接节点时的IP地址ansible_port连接对方…

Linux进程通信-信号

信号概念 信号是 Linux 进程间通信的最古老的方式之一&#xff0c;是事件发生时对进程的通知机制&#xff0c;有时也称之为软件中断&#xff0c;它是在软件层次上对中断机制的一种模拟&#xff0c;是一种异步通信的方式。信号 可以导致一个正在运行的进程被另一个正在运行的异…

初识C++ · 类和对象(下)

目录 1 再谈构造函数 2 类中的隐式类型转换 3 Static成员 4 友元和内部类 5 匿名对象 6 编译器的一些优化 1 再谈构造函数 先看一段代码&#xff1a; class Date { public :Date(int year, int month, int day){_year year;_month month;_day day;} private:int _ye…

java--GUI

目录 GUI&#xff08;Graphical User Interface&#xff09; swing 窗口(JFrame) 面板(JPanel) 流水布局(FlowLayout) 边界布局(BorderLayout) ​编辑 网格布局(GridLayout) 按钮(JButton) 标签组件&#xff0c;用来设置文字(JLabel) 单行文本框组件(JTextField) 多…

基于51单片机的自动售货机系统

一、项目概述 本文设计了一款以AT89C51单片机为核心的自动售货机系统&#xff0c;并且着重详细地介绍了自动售货机的整体系统设计方案、硬件选择基础、软件使用方法及技巧。 以AT89C51作为CPU处理单元连接各个功能模块&#xff1b;以44矩阵键盘作为输入控制模块对货物进行种类…

红海云OA存在任意文件上传漏洞【附poc】

漏洞复现 1、fofa poc见文末 body"RedseaPlatform" 打开burp进行抓包发送到repeater&#xff0c;如下图所示&#xff1a; 打入poc&#xff08;文末获取&#xff09;&#xff0c;成功上传。 「你即将失去如下所有学习变强机会」 学习效率低&#xff0c;学不到实战内…

《Python编程从入门到实践》day21

# 昨日知识点回顾 设置背景颜色 在屏幕中央绘制飞船 # 今日知识点学习 12.5 重构&#xff1a;方法_check_events()和_update_screen() 12.5.1 方法_check_events() import sys import pygame from Settings import Settings from Ship import Shipclass AlienInvasion:"…

Autosar NvM配置-手动配置Nvblock及使用-基于ETAS软件

文章目录 前言NvDataInterfaceNvBlockNvM配置SWC配置RTE Mapping使用生成的接口操作NVM总结前言 NVM作为存储协议栈中最顶层的模块,是必须要掌握的。目前项目基本使用MCU带的Dflash模块,使用Fee模拟eeprom。在项目前期阶段,应该充分讨论需要存储的内容,包括应用数据,诊断…

大模型改变了哪些工作方式?

大模型的崛起深刻改变了我们的工作方式。如今&#xff0c;许多行业已广泛应用大型机器学习模型&#xff0c;实现了自动化数据处理、智能决策和高效分析。这一变革不仅释放了大量人力资源&#xff0c;使得人们能够专注于更具创造性的任务&#xff0c;还大幅提升了工作效率和准确…