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://xiahunao.cn/news/3016641.html

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

相关文章

C++笔记-makefile添加第三方.h和.cpp及添加.h和lib库模板

目文件结构如下所示时&#xff1a; project/├── main.cpp├── test.cpp├── DIRA/│ ├── A.cpp│ └── A.h├── DIRBLIB/│ └── libB.so└── include/└── B.h Makefile如下所示&#xff1a; # 编译器设置 CXX g CXXFLAGS -stdc11 -Wall# 目录…

Linux 进程间通信之共享内存

&#x1f493;博主CSDN主页:麻辣韭菜&#x1f493;   ⏩专栏分类&#xff1a;Linux知识分享⏪   &#x1f69a;代码仓库:Linux代码练习&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习更多Linux知识   &#x1f51d; ​ 目录 ​编辑​ 前言 共享内存直接原理…

C语言栈的含义与栈数据操作代码详解!

引言&#xff1a;在本篇博客中&#xff0c;我们将学到数据结构——栈&#xff0c;讲到栈的含义与关于栈的数据操作代码。栈可以在顺序表、双向链表以及单链表的基础上实现&#xff0c;而于本篇博客中&#xff0c;我们选择在顺序表的基础上实现栈。 更多有关C语言和数据结构知识…

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

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

CANdela/Diva系列1--CANdela Studio的基本介绍

大家好&#xff0c;这个系列主要给大家介绍跟诊断相关的Vector 工具CANdela和Diva&#xff0c;首先介绍CANdela。 目录 1.CANdela的简介&#xff1a; 2.如何打开CANdela 工程&#xff1a; 3.CANdela工程的详细介绍&#xff1a; 3.1 工具栏的介绍&#xff1a; 3.2 工作树的…

2024-05-07 商业分析-赚钱之前怎么预估风险-记录

摘要: 2024-05-07 商业分析-赚钱之前怎么预估风险-记录 赚钱之前怎么预估风险 好&#xff0c;大家好&#xff0c;今天我们来讲的是叫什么赚钱之前怎么评估风险啊&#xff0c;这个问题啊提的很好啊&#xff0c;我们待会儿来讲啊。呃&#xff0c;首先呢今天这个主题呢来自于昨天…

Python实现txt转Excel(坐标)

import pandas as pddef txt_to_excel(txt_file, excel_file):# 读取 txt 文件with open(txt_file, r) as f:lines f.readlines()# 将每行数据分割成多个单元格data []for line in lines:row line.strip().split( )data.append(row)# 将数据保存到 Excel 文件df pd.DataFra…

剧本杀小程序,为商家带来更多收益

剧本杀作为一种社交类游戏&#xff0c;关注度越来越高&#xff0c;目前&#xff0c;市场上剧本杀依然呈现上升发展趋势。 不过当下&#xff0c;在剧本杀市场中&#xff0c;大部分商家都开始使用小程序管理运营剧本杀。相对于线下剧本杀&#xff0c;线上剧本杀小程序便于商家管…

一起深度学习

CIFAR-10 卷积神经网络 下载数据集构建网络运行测试 下载数据集 batchsz 32cifar_train datasets.CIFAR10(data,trainTrue,transformtorchvision.transforms.Compose([torchvision.transforms.Resize((32,32)),torchvision.transforms.ToTensor()]),downloadTrue)cifar_train …

基于FPGA的DDS波形发生器VHDL代码Quartus仿真

名称&#xff1a;基于FPGA的DDS波形发生器VHDL代码Quartus仿真&#xff08;文末获取&#xff09; 软件&#xff1a;Quartus 语言&#xff1a;VHDL 代码功能&#xff1a; DDS波形发生器VHDL 1、可以输出正弦波、方波、三角波 2、可以控制输出波形的频率 DDS波形发生器原理…

什么是光伏发电?什么是分布式光伏系统?

一、光伏发电 光伏发电&#xff0c;作为一种可再生能源利用技术&#xff0c;其核心原理基于半导体的光生伏特效应。简而言之&#xff0c;光伏发电就是将太阳能直接转换为电能的过程。它由三个主要部分组成&#xff1a;太阳电池板&#xff08;组件&#xff09;、控制器和逆变器…

word:三线表的绘制【攻略】

word&#xff1a;三线表的绘制【攻略】 前言版权推荐word&#xff1a;三线表的绘制效果简单方法另外的方法 最后 前言 2024-5-7 18:25:08 以下内容源自《【攻略】》 仅供学习交流使用 版权 禁止其他平台发布时删除以下此话 本文首次发布于CSDN平台 作者是CSDN日星月云 博客…

经典面试题之滑动窗口专题

class Solution { public:int minSubArrayLen(int target, vector<int>& nums) {// 长度最小的子数组 // 大于等于 targetint min_len INT32_MAX;// 总和int sum 0;int start 0; // 起点for(int i 0; i< nums.size(); i) {sum nums[i];while(sum > targe…

有了这么多套件,为什么还需要APaaS

文/明道云创始人任向晖 在明道云的业务活动中&#xff0c;比较常见的一个问题是和套件应用的关系。一个有具体应用需求的客户为什么不从市场上购买现成的套件应用&#xff0c;而要选择APaaS来构建呢&#xff1f;反过来说似乎也成立&#xff0c;既然一个平台什么应用都能搭建&a…

产品需求文档怎么写?超详细的产品需求文档PRD模板来了!

产品需求文档怎么写&#xff1f;如何写一份简洁明了、外行人看了就能秒懂的产品需求文档呢&#xff1f;今天这篇文章&#xff0c;就来和大家分享如何编写一份高质量的产品需求文档 PRD&#xff01; 下图是来自 boardmix 模板社区的「产品需求文档」模板&#xff0c;它给出了一…

【教学类-50-14】20240505“数一数”图片样式12:数一数(12个“人物”图案)

作品展示 背景需求&#xff1a; 前文做了“”材料”图片的数一数学具&#xff0c;效果不错&#xff0c; https://blog.csdn.net/reasonsummer/article/details/138466325https://blog.csdn.net/reasonsummer/article/details/138466325 为了让图案内容更丰富&#xff0c;我又…

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

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

2024.1.1 IntelliJ IDEA 使用记录

2024.1.1 IntelliJ IDEA 使用记录 下载设置文件编码maven 配置 插件可以中文语言包安装lombok 插件Smart Tomcat ( 根据需要安装)Smart Tomcat 配置 项目导入java 设置maven 配置 项目运行SpringBoot 项目运行tomcat 运行 (根据需要)相关依赖添加运行配置 下载 IntelliJ IDEA …

Buuctf-Misc题目练习

打开后是一个gif动图&#xff0c;可以使用stegsolve工具进行逐帧看。 File Format:文件格式 Data Extract:数据提取 Steregram Solve:立体试图 可以左右控制偏移 Frame Browser:帧浏览器 Image Combiner:拼图&#xff0c;图片拼接 所以可以知道我们要选这个Frame Browser …

Petalinux的使用——定制Linux系统

文章目录 配置petalinux运行环境petalinux设计流程 配置petalinux运行环境 Petalinux的安装在文章Ubuntu镜像源的更改及其Petalinux的安装中已经介绍&#xff0c;下面介绍petalinux运行环境的配置过程。 进入到petalinux的安装路径下&#xff0c;使用下面的命令对petalinux的运…