Python----lambda函数(显示定义全局变量)、函数参数的传递类型及规则、函数的返回值规则及用法、datetime库(与日期和时间有关)

发布于:2022-11-08 ⋅ 阅读:(873) ⋅ 点赞:(0)

lambda函数

        Python的有33个保留字,其中一个是lambda,该保留字用于定义 一种特殊的函数——匿名函数,又称lambda函数。

         匿名函数并非没有名字,而是将函数名作为函数结果返回,如下:

        <函数名>  = lambda <参数列表>:<表达式>

        lambda函数与正常函数一样,等价于下面形式:

                def <函数名> (<参数列表>):

                        return <表达式>

 可选参数和可变数量参数

        在定义函数时,有些参数可以存在默认值

 

 在函数定义时,可以设计可变数量参数,通过参数前增加 星号(*)实现(可以实现接收多个参数,tuple是元组类型)

 

 参数的位置和名称传递

        Python提供了按照形参名称输入实参的方式,调用如下:

        result = func(x2=4, y2=5, z2=6, x1=1, y1=2, z1=3) 由于调用函数时指定了参数名称,所以参数之间的顺序可以任意调整。

注:

        函数调用时输入的参数会覆盖,在定义函数时形参所赋给的值

 

变量的返回值

        • return语句用来退出函数并将程序返回到函数被调用的位置继续执行。

        • return语句同时可以将0个、1个多个函数运算完的结果 返回给函数被调用处的变量,例如:

         函数可以没有return,此时函数并不返回值,如微实例 5.1的happy()函数。函数也可以用return返回多个值,多 个值以元组类型保存,例如:

 函数对变量的作用

        一个程序中的变量包括两类:全局变量局部变量

        •全局变量指在函数之外定义的变量,一般没有缩进,在 程序执行全过程有效。

        •局部变量指在函数内部使用的变量,仅在函数内部有效 ,当函数退出时变量将不存在。

        当函数执行完退出后,其内部变量将被释放的例子(c是局部变量,c没有定义,无法返回):

         定义全局变量n,函数func()内部使用了变量n,并且将变量参数b赋值给变量n,而全局变量n值没有改变。(在函数内部新生成了局部变量,不是全局变量)

global显示声明变量

        如果希望让func()函数将n当作全局变量,需要在变量n使用global前显式声明该变量为全局变量,代码如下:

 变量的返回值

        Python函数对变量的作用遵守如下原则:

         •简单数据类型变量无论是否与全局变量重名,仅在函数内部创 建和使用,函数退出后变量被释放;

        •简单数据类型变量在用global保留字声明后,作为全局变量;

         •对于组合数据类型的全局变量,如果在函数内部没有被真实创 建的同名变量,则函数内部可直接使用并修改全局变量的值;

         •如果函数内部真实创建了组合数据类型变量,无论是否有同名 全局变量,函数仅对局部变量进行操作。

datetime库概述:

        是一个类库不是函数方法,与时间和日期有关

        以不同格式显示日期和时间是程序中最常用到的功能。 Python提供了一个处理时间的标准函数库datetime,它提供 了一系列由简单到复杂的时间处理方法。datetime库可以从 系统中获得时间,并以用户选择的格式输出。 

        datetime库以类的方式提供多种日期和时间表达方式:

                 datetime.date:日期表示类,可以表示年、月、日等

                 datetime.time:时间表示类,可以表示小时、分钟、秒、毫秒等

                 datetime.datetime:日期和时间表示的类,功能覆盖date和time类

                 datetime.timedelta:时间间隔有关的类

                 datetime.tzinfo:与时区有关的信息表示类 

 注:需要导入库datetime

        使用datetime.now()获得当前日期和时间对象,使用方法如下:

                datetime.now() //这个是方法名,定义调用时需要在方法名前加上类名

        作用:返回一个datetime类型表示当前的日期和时 间,精确到微秒。 

import datetime
today = datetime.datetime.now()
print("{}".format(today))

         使用datetime.utcnow()获得当前日期和时间对应的UTC (世界标准时间)时间对象,使用方法如下:

         datetime.utcnow()

        作用:返回datetime类型,表示当前日期和时间的UTC表示,精确到微秒。

import datetime
today = datetime.datetime.utcnow()
print("{}".format(today))

        可以直接使用datetime()构造一个日期和时间对象,使用方法如下:

        datetime(year, month, day, hour=0, minute=0,second=0, microsecond=0)

        作用:返回一个datetime类型,表示指定的日期和时间, 可以精确到微秒。

 datetime库解析

 datetime对象有3个常用的时间格式化方法,如表所示

 

 isoformat()和isoweekday()方法的使用如下:

 例子:

        2021年10月1日是星期几(星期五):

import datetime
today = datetime.datetime(2021,10,1,0,0,0,0)
a=today.isoweekday()
print("{}\n星期{}".format(today,a))


网站公告

今日签到

点亮在社区的每一天
去签到