Python基础二

一、变量

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

        1、全局变量

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

        示例:

x = 10  # 全局变量def my_func():print(x)  # 可以访问全局变量 xmy_func()  # 输出 10
print(x)  # 输出 10

        2、局部变量

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

        示例:

def my_func():y = 20  # 局部变量print(y)  # 可以访问局部变量 ymy_func()  # 输出 20# print(y)  # 这里会报错,因为 y 是局部变量,超出了其作用域

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

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

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

           示例:

z = 3  # 全局变量def my_func():global zz = 4  # 修改全局变量 zprint(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+yprint(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 += nn-= 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()

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

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

相关文章

boost 编译

参考博客:vs2019 boost 入坑指南 boost下载 官方网站:https://www.boost.org/ 下面以boost_1_73_0为例: boost编译 解压boost_1_73_0.zip运行bootstrap.bat(此时目录下会生成b2.exe)编译boost b2 install --build…

【vue2项目总结】——动态渲染

文章目录 主页渲染封装接口页面调用传到子组件 搜索列表渲染根据关键字搜索分类id搜索 主页渲染 封装接口 封装准备接口 api/home.js import request from /utils/request// 获取首页数据 export const getHomeData () > {return request.get(/page/detail, {params: {p…

springboot3.x集成SpringDoc Swagger3

近期将springboox2.x升级到了3.x&#xff0c;索性将swagger2也同步升级到swagger3&#xff0c;具体过程如下。 一、添加maven依赖 <dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>…

用户角色的重要性:确保财务数据安全的最佳方式

在企业的财务管理业务中&#xff0c;一个人几乎不可能完成所有的财务记账任务&#xff0c;例如设定预算、发票审批等等&#xff0c;至少不能有效地执行。最为明智的方式&#xff0c;是将这些任务分派给特定的人员&#xff0c;比如部门经理、财务经理或者销售、市场人员等等。 但…

C++读取NC数据的结果与真实数值不一致的解决方法

本文介绍基于C 语言的netCDF库读取.nc格式的栅格文件时&#xff0c;代码读取到的数据与栅格文件的实际数据不一致的解决方法。 最近&#xff0c;由于需要读取ERA5气象数据&#xff0c;因此使用C 语言中的netCDF库读取.nc格式文件。其中&#xff0c;偶然发现在Visual Studio的代…

CC攻击的特征和防护措施

随着互联网的快速发展&#xff0c;网络攻击日益频繁。在目前的各种网络攻击中&#xff0c;CC攻击是一种常见的网络攻击手段之一。CC攻击&#xff08;也称为DDoS攻击&#xff09;是指通过大量请求或恶意流量向目标网站或服务器发送请求&#xff0c;以使其服务不可用。可能大家都…

Error:java:JDK isn‘t specified for module “模块名称“

可能是创建模块后不小心删掉了.idea.或.idea出错 只要删除.idea&#xff0c;close project出去&#xff0c;重新进让idea自动下载

VS2022打包C#安装包(最新、最全)

开发c#的一个小工具到打包环境碰壁了&#xff0c;在网上找了很多资料耶踩了很多坑&#xff0c;耗时1hour才打包完毕&#xff0c;避免以后碰到类似的问题再次记录&#xff0c;自认为步骤比较全面&#xff0c;如果有帮助麻烦点个赞呗&#xff01;&#xff01;&#xff01; 一、Mi…

网易家居315特别策划 | MLILY梦百合荣获2024年度家居行业服务榜样

3月,网易家居“寻找家居服务榜样”315特别策划如期而至,重磅奖项“2024年度家居行业服务榜样”揭晓,该奖项授予在家居服务方面做出突出贡献、起到示范引领作用的先进企业。其中,MLILY梦百合荣获“2024年度家居行业服务榜样”重磅奖项。 伴随市场需求演变、企业发展驱动、产业升…

echarts使用总结

最近项目大量的曲线图,柱状图,饼图...总结一下使用过程中的小问题及解决方法 . 1.当x轴太拥挤,x轴数据不能全部展示怎么办? 这时候就只需要在xAxis的axisLabel对象中添加属性 interval : 0 就可以显示全部数据 , interval 属性是用来调整x轴数据的间距的 , 数值越大间距越大…

Linux基础命令[11]-find

文章目录 1. find 命令说明2. find 命令语法3. find 命令示例3.1 不加参数3.2 按照时间3.3 -empty&#xff08;空白文件或目录&#xff09;3.4 -name&#xff08;名称查找&#xff09;3.5 -size&#xff08;大小查找&#xff09;3.6 -type&#xff08;类型查找&#xff09;3.7 …

砝码称重 蓝桥杯

在C中&#xff0c;fabs()和abs()都用于计算数字的绝对值&#xff0c;但它们之间有一些区别。 fabs(double x)&#xff1a;计算浮点数x的绝对值&#xff0c;返回一个double类型的结果。 abs(int x)&#xff1a;计算整数x的绝对值&#xff0c;返回一个int类型的结果。 数组的默…

1w字带你快速入门Docker

1. 什么是容器 容器是一种轻量级的、可移植的、自包含的软件单元&#xff0c;它包含运行应用程序所需的所有内容&#xff0c;包括代码、运行时、系统工具、系统库和设置。容器与虚拟机类似&#xff0c;但它们更加轻量级&#xff0c;并且依赖于宿主内核。容器可以使用 Docker 等…

太阳能光伏电池的simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 光伏电池的基本结构 4.2 光伏电池的工作原理 5.完整工程文件 1.课题概述 太阳能光伏电池的simulink建模与仿真.分析不同光照温度&#xff0c;光照强度下的光伏电池的U-I特性曲线以及P-V特性曲线。 …

java VR全景商城 saas商城 b2b2c商城 o2o商城 积分商城 秒杀商城 拼团商城 分销商城 短视频商城 小程序商城搭建

1. 涉及平台 平台管理、商家端&#xff08;PC端、手机端&#xff09;、买家平台&#xff08;H5/公众号、小程序、APP端&#xff08;IOS/Android&#xff09;、微服务平台&#xff08;业务服务&#xff09; 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis 3. 前端框架…

php安装kafka

我的开发环境是php7.3 ,先来部署两个php扩展&#xff0c;php7.3目录下放librdkafka.dll,ext/php_rdkafka.dll&#xff0c;php.ini增加,[rdkafka] extension php_rdkafka.dll php7.3对应的扩展包链接&#xff1a;PECL :: Package :: rdkafka 看自己php版本对应在这里找PECL :: …

OpenAI-Sora学习手册

通过Sora看2024红利&#xff1a;文生视频&#xff0c;虽然AI不一定是风口&#xff0c;但一定是未来深入到生活工作&#xff0c;乃至思考的必备工具。 目录 Sora介绍 Sora基础介绍 Sora官方网址 Sora的价值 1.物理世界的交互 2.创意世界的绽放 3.多角色、更精准、更细节…

Vue时间轴

之前有这样子的需求没有用第三方插件于是自己写一个简单的时间轴 时间轴滚动条并左右切换滚动条位置相对应移动 <div class"time-scrollbar"><div v-if"timeLineData.length>0" class"scrollbar-content"><div class"ar…

SAP PP学习笔记07 - 简单BOM,派生BOM,多重BOM,批量修改工具 CEWB

上一章讲了BOM的操作。 SAP PP学习笔记06 - BOM操作&#xff08;BOM 展开&#xff0c;BOM 使用先一览&#xff0c;BOM比较&#xff0c;批量更改BOM&#xff09;-CSDN博客 本章延续上一章&#xff0c;继续讲BOM操作。 主要讲 派生BOM&#xff0c;多重BOM&#xff0c;以及BOM批…

收费的Excel,不收费的国产WPS、Ever这4款加强版,谁口碑更好?

国产软件存在的问题不在少数&#xff0c;诸如“流氓捆绑”、“广告弹屏”、“APP乱象”、“大数据杀熟”等弊端&#xff0c;让许多人对其嗤之以鼻。 尽管国内软件往往免费&#xff0c;而国外软件需要付费&#xff0c;大家还是更愿意选择付费使用国外软件&#xff0c;并且许多国…