Python基础二

一、变量

        在编程中,变量是用来存储数据值的名称。在 Python 中,变量是动态类型的,这意味着你可以将任何类型的数据分配给一个变量,而不需要提前声明变量的类型。

        1、全局变量

               在函数外部定义的变量是全局变量,可以在程序的任何地方被访问。全局变量在整个程序执行过程中都是可见的。

        示例:

x = 10  # 全局变量

def my_func():
    print(x)  # 可以访问全局变量 x

my_func()  # 输出 10
print(x)  # 输出 10

        2、局部变量

                在函数内部定义的变量是局部变量,只能在函数内部访问。局部变量的作用域仅限于定义它们的函数内部,函数执行结束时局部变量会被销毁。

        示例:

def my_func():
    y = 20  # 局部变量
    print(y)  # 可以访问局部变量 y

my_func()  # 输出 20

# print(y)  # 这里会报错,因为 y 是局部变量,超出了其作用域

        3、全局变量和局部变量的关系

                当在函数内部使用同名变量时,Python 会优先使用局部变量,如果函数内部没有定义同名变量,则会使用全局变量。

                如果需要在函数内部修改全局变量,可以使用 global 关键字声明变量为全局变量。

           示例:

z = 3  # 全局变量

def my_func():
    global z
    z = 4  # 修改全局变量 z
    print(z)

my_func()  # 输出 4
print(z)  # 输出 4

二、函数

        函数是一种可重复使用的代码块,用于执行特定任务或计算。通过定义函数,你可以将代码组织成更小的模块,提高代码的可读性、可维护性和重用性。

        1、定义函数

                在 Python 中,使用 def 关键字来定义函数

def 函数名(形参列表):
    # 函数体,包含函数要执行的代码
    return result  # 可自定义返回值

       示例:

def myAdd(x, y):
    return x+y

        2、调用函数

                定义函数后,你可以通过函数名加括号的方式来调用函数,并传递参数(如果有的话):

result = 函数名(形参) # 调用函数并接收返回值

        示例:

res = myAdd(213, 312)
print("res= ", res)

        结果

        3、函数参数

        函数可以接受多个参数,参数可以是必需的(positional arguments)或关键字参数(keyword arguments)。

        你还可以给参数设置默认值,这样在调用函数时可以不传递这些参数。

        Python 还支持接收不定数量的参数,这样你可以在函数定义时指定一个参数接收所有额外的位置参数或关键字参数。

        4、函数返回值

        函数可以使用 return 语句返回结果,如果没有指定返回值,则函数会返回 None

        在函数体中可以返回单个值、多个值(以元组、列表等形式),甚至可以返回其他函数。

        5、Lambda 匿名函数

        除了普通函数外,Python 还支持匿名函数(lambda 函数),其语法更为简洁,适合一次性使用的小函数。

"""
匿名函数:lambda表达式
语法规则:
    lambda arg1, arg2: expression


注意:
    1,arg1,arg2:表示原函数的形参列表
    2,expression:表示原函数返回值的表达式
    3, 整个lambda执行的结果 就是expression的结果

"""

def Add(x, y):
    return x+y


print(Add(23, 42))
#lambda表达式的应用   (lambda x, y: x+y)(a, b)
print((lambda x, y: x+y)(12, 3))

print((lambda x : x**2)(3)) #求平方

pingfang = (lambda x : x**2)
print(pingfang(5))

三、累加

        1)range()函数  左闭右开

                #range(n) 产生0~(n-1)的数列

                 #range(start, stop) 产生[start, stop)之间的数列

                 #range(start, stop, step) 产生[start, stop)之间步长为step的数列

        示例

        求1到50的累加和:

res = 0
for i in range(1, 51):
    res += i
print(res)

res = 0
n =50
while n>0:
    res += n
    n-= 1
print(res)

求100以内的奇数的和:

#100以内奇数的和
res = 0
for i in range(1, 101,2):
    res += i
print("100内奇数和为:", res)

四、列表的排序

        1、成员函数 sort()

                list.sort(key=key, reverse=reverse)

      key(可选): 用于指定排序的关键函数,例如 key=len 按元素的长度排序。

      reverse(可选): 设置为 True 时按降序排序,默认为升序排序  True:降序 False:升序

                示例

l1 = [11,23,42,32,5,20,12,]
#成员函数 sort, reverse:决定升序还是降序    True:降序  False:升序
l1.sort(reverse=False)
print(l1)

        2、内置函数sorted()

                sorted_list = sorted(iterable, key=key, reverse=reverse)

               iterable: 要排序的可迭代对象,如列表、元组。

        key(可选): 用于指定排序的关键函数,例如 key=len 按元素的长度排序。

        reverse(可选): 设置为 True 时按降序排序,默认为升序排序 True:降序 False:升序

                示例

l1 = [11,23,42,32,5,20,12,]
#内置函数 sorted 默认升序排列
l1 = sorted(l1, reverse=True)
print(l1)

l2 = [("a", 5), ("d", 3), ("c", 4), ("e", 2), ("b", 1)]
l2 = sorted(l2, key = lambda x : x[1], reverse=True) # 按照元组第二个元素数值大小排序 True为降序
print(l2)

五、九九乘法表

for i in range(1, 10):
    for j in range(1, 1+i):
        print(j, '*', i, '=', i * j, end='\t')
    print()

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

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

相关文章

cesium-天际线

主要是两个着色器 let postProccessStage new Cesium.PostProcessStage({//unform着色器对象 textureScalefragmentShader:// 声明一个纹理采样器 colorTexture 用于读取纹理颜色uniform sampler2D colorTexture; // 声明一个纹理采样器 depthTexture 用于读取深度纹理unifor…

Python接口自动化之Token详解及应用

以下介绍Token原理及在自动化中的应用。 一、Token基本概念及原理 1.Token作用 为了验证用户登录情况以及减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。 2.什么是Token Token是服务端生成的一串字符串,以作客户端进行请求的…

《焦点访谈》上的星火大模型:AI生成春天散文,共绘美好春天

发布 | 大力财经 在今年的全国“两会”上,全国人大代表、科大讯飞董事长刘庆峰提出了关于制定国家《通用人工智能发展规划》的建议,推动我国通用人工智能的发展,以应对全球AI领域的激烈竞争。 刘庆峰在3月6日晚间的《焦点访谈》中表示&#…

简单整理vue-router,路由知识

1.项目中引入 1.1 安装注册 1.2 封装抽离 在main.js中 书写,会造成单个js文件过于臃肿的情况,需要将路由配置部分抽离出来,在src下新建router文件夹,新建index.js文件 import Vue from vue import VueRouter from vue-router import HomeView from ../views/HomeView.vue im…

Elasticsearch:dense vector 数据类型及标量量化

密集向量(dense_vector)字段类型存储数值的密集向量。 密集向量场主要用于 k 最近邻 (kNN) 搜索。 dense_vector 类型不支持聚合或排序。 默认情况下,你可以基于 element_type 添加一个 dend_vector 字段作为 float 数值数组: …

【中间件】docker的安装

📝个人主页:五敷有你 🔥系列专栏:中间件 ⛺️稳中求进,晒太阳 .卸载旧版 首先如果系统中已经存在旧的Docker,则先卸载: yum remove docker \docker-client \docker-client-latest \doc…

Web自动化测试学习方向(Selenium)

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

chrome插件webRequest拦截请求并获取post请求体requestBody数据raw内容,解决中文乱码问题

详细使用说明可以看官方文档:https://developer.chrome.com/docs/extensions/reference/api/webRequest?hlzh-cn 拦截操作 想要通过浏览器插件拦截请求的话,需要在manifest.json里面添加webRequet权限: 拦截请求代码放在background.js里面…

Web服务器

Web服务器 1. 阻塞/非阻塞、同步/异步(网络IO)2. Unix/Linux 上的五种IO模型2.1 阻塞 blocking2.2 非阻塞 non-blocking (NIO)2.3 IO复用(IO multiplexing)2.4 信号驱动(signal-driven)2.5 异步&#xff08…

【项目实践04】【RocketMQ消息收发拦截器】

文章目录 一、前言二、项目背景三、实现方案1. 关键接口2. 消息发送方3. 消息消费方4. 配置引入类5. 使用示例 四、思路扩展1. 消费流程简介 一、前言 本系列用来记录一些在实际项目中的小东西,并记录在过程中想到一些小东西,因为是随笔记录&#xff0c…

【Web】浅聊JDBC的SPI机制是怎么实现的——DriverManager

目录 前言 分析 前言 【Web】浅浅地聊JDBC java.sql.Driver的SPI后门-CSDN博客 上篇文章我们做到了知其然,知道了JDBC有SPI机制,并且可以利用其Driver后门 这篇文章希望可以做到知其所以然,对JDBC的SPI机制的来源做到心里有数 分析 先是…

如何实现数据中心布线变更管理?

前言 随着科技的不断发展,数据中心作为企业的核心基础设施之一,承载着大量重要的业务数据。在数据中心运维过程中,变更管理流程变得尤为重要,它是确保数据中心基础设施稳定运行和保障数据安全的关键环节。变更管理的定义是指在维…

电商效果图云渲染优势是什么?

电商效果图云渲染指的是利用云计算技术,将电商所需的效果图渲染任务转移至云服务器进行处理。这些云服务器凭借其卓越的计算能力与庞大的存储空间,能够迅速完成复杂的渲染任务,从而释放本地电脑资源,提升工作效率。 电商效果图云…

常见四种限流算法详解(附:javaDemo)

限流简介 现代互联网很多业务场景,比如秒杀、下单、查询商品详情,最大特点就是高并发,而往往我们的系统不能承受这么大的流量,继而产生了很多的应对措施:CDN、消息队列、多级缓存、异地多活。 但是无论如何优化&…

今日学习总结2024.3.2

最近的学习状态比较好,感觉非常享受知识进入脑子的过程,有点上头。 实验室一个星期唯一一天的假期周六,也就是今天,也完全不想放假出去玩啊,在实验室泡了一天。 很后悔之前胆小,没有提前投简历找实习&…

基于毕奥-萨伐尔定律的交流电机的4极旋转磁场matlab模拟与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于毕奥-萨伐尔定律的交流电机的4极旋转磁场,对比不同定子半径,对比2级旋转磁场。 2.系统仿真结果 3.核心程序与模型 版本:MATLAB2022a…

UE5数字孪生系列笔记(一)

智慧城市数字孪生系统 虚幻引擎连接数据库 将自己的mysql版本的libmysql.dll替换掉插件里面的libmysql.dll 然后将这个插件目录复制到虚幻项目目录下 然后添加这个插件即可 新建一个UMG,添加一个按钮试试,数据库是否连接 将UI添加到视口 打印是否连接…

ChaosBlade故障注入工具--cpu,内存,磁盘占用\IO,网络注入等

前言: 本文介绍一款开源的故障注入工具chaosblade,该工具原本由阿里研发,现已开源;工具特点:功能强大,使用简单。 该工具故障注入包含:cpu,内存,磁盘io,磁盘…

第一讲 计算机组成与结构(初稿)

计算机组成与结构 计算机指令常见CPU寄存器类型有哪些?存储器分类?内存?存储器基本组成: 控制器的基本组成主机完成指令的过程以取数指令为例以存数指令为例ax^2bxc程序的运行过程 机器字长存储容量小试牛刀(答案及解析…

Chapter20-Ideal gases-CIE课本要点摘录、总结(编辑中)

20.1 Particles of a gas Brownian motion Fast modules 速率的数值大概了解下: average speed of the molecules:400m/s speed of sound:approximately 330m/s at STP(standard temperature and pressure) Standard Temperature and Pres…