set函数python作用_Python入门第三课--set、函数

setdict在Python之间建立一个映射关系是一组键和一组值,以及dict的钥匙不能重复。有时候,我们只希望dict的关键,不在乎值对应的关键。目的是确保这个集合的元素将不重读。此时,设置方便。一组包含一系列元素,这非常类似于一个列表,但一组的元素不能重复和无序。这非常类似于关键的dict: s =组([a, B ' C '])打印sset ([' a ', ' C ', ' B '])请注意,上面的打印格式类似于列表,但它不是一个列表。如果你仔细观察,你可以发现打印订单原始列表是一样的订单可能会不同,因为元素存储在一组无序。当使用len()方法设置的大小,设置将自动删除重复元素。Python的访问将访问集合中的一个元素实际上是判断一个元素是否在集合。

Python的特性集的内部结构集对dict非常相似。唯一的区别是,它不存储值。因此,快速确定一个元素的集合。元素存储在设置类似于dict,必须不可变对象的键。因此,任何不能放在一组可变对象。最后,存储在集合的元素是无序的。假设我们让用户输入一天从星期一到星期天,如何判断用户的输入是有效的?您可以使用if语句来判断,但这是非常麻烦:x = ' ? ? ?\u201C#用户输入字符串如果x !=\u201C我\u201D和x !=\u201C星期二\u201D和x !=\u201C结婚\u201D\u2026\u2026和x !=\u201C太阳\u201D:打印'input错误'else:打印'input ok\u201D注:\u2026\u2026如果声明意味着其他没有列出名称。

如果提前创建一组,它包含单一的~\u201C太阳\u201D:工作日=((\u201C我\u201D、\u201C星期二\u201D,\u201C结婚\u201D、\u201C清华\u201D、\u201C星期五\u201D,\u201C坐\u201D,\u201C太阳\u201D))来判断输入是否有效,您只需要判断字符串是否设置:x = ' ? ? ?\u201C#用户输入字符串在工作日如果x:打印'input好'else:打印'input错误\u201D这样,代码简单得多。Python的遍历集合也是一个集合,所以方便和便利列表类似,并且都可以通过for循环来实现。直接使用for循环遍历集合的元素:s =设置((\u201C亚当\u201D,\u201C丽莎\u201D,\u201C巴特\u201D])的名字:\u2026\u2026打印的名字\u2026\u2026LisaAdamBart注意:观察,for循环遍历一组,元素的顺序和列表的顺序可能不同,而且在不同的机器上运行的结果也可能不同。

第二,从组中删除现有元素。当添加元素,使用add()方法的集合s =集合([1,2,3])(4)打印sset([1、2、3、4])如果添加已经存在的元素集,添加()没有错误的报道,但是它将不会被添加。s =集([1,2,3])(3)打印sset([1, 2, 3])当删除元素集,使用remove()方法设置:s =组([1、2、3、4])(4)打印sset([1, 2, 3])如果不存在删除元素设置,删除()将报告一个错误。所以你可以把它直接与add(),你需要判断之前删除()。在Python中,函数是什么?一个函数是最基本的代码抽象的方式。Python调用abs函数的调用函数:abs (100) 100 abs (-20) 20 abs () cmp (1、2) 1 cmp (2, 1) 1 cmp(3,3) 0普通函数建立在Python中还包括数据类型转换函数例如,int()函数可以将其他数据类型转换为整数:int (\u201C123\u201D) 123 int() 12个str str()函数将其他类型:str(123) 123年'str ()\u201CPython函数在Python中,您需要使用def声明定义一个函数。

然后,在缩进块写函数体,函数的返回值返回返回语句。让我们来定制my_abs函数绝对值作为一个例子:def my_abs (x):返回xelse:返回- x注意:当执行函数体内部的声明时,一旦返回执行,执行的函数,并返回结果。因此,可以实现非常复杂的逻辑通过内部条件判断和循环内部的函数。如果没有返回语句,函数执行后返回的结果将是,但结果是没有。还没有一个可以缩写为Python函数返回多个返回值。例如,在一个游戏中,常常需要从一个点到另一个地方。给定的坐标,位移和角度,新坐标可以计算:计算包提供sin ()、cos()函数,我们使用进口参考它首先:进口mathdef移动(x, y,一步,角):nx = x +一步*(角)纽约= y-step *(角)返回nx,纽约你可以在同一时间返回值:x, y =移动(100、100、60 \/ 6)打印x, y,但实际上这只是一个错觉,Python函数仍然返回单个值:r =移动(100、100、60 \/ 6)打印rs =组([1,2,3])组([1,2,3])当删除元素集,使用remove()方法设置:设置([1,2,3])如果不存在删除元素设置,删除()将报告一个错误。

# Python之功能是什么?Python的调用函数调用abs功能:10020 - 110年Python的内置常用功能还包括数据类型转换函数,如int()函数可以将其他数据类型转换为整数:12312 str()函数将其他类型编写的函数str:\u201C123\u201D在Python中,我们用一个自定义my_abs函数绝对值作为一个例子:def my_abs (x):返回xelse:返回- x注意:声明在函数体内部将执行到达返回时执行一次,执行函数并返回结果。因此,可以实现非常复杂的逻辑通过内部条件判断和循环内部的函数。如果没有返回语句,函数执行后返回的结果将是,但结果是没有。返回所有可以缩写为返回Python函数返回多个值。

给定的坐标,位移和角度,新坐标可以计算:#数学包提供sin()和cos()函数,我们首先使用导入参考:进口mathdef移动(x, y,一步,角):nx = x +一步*(角)纽约= y-step *(角)nx返回纽约,这样我们可以在同一时间返回值:但事实上这只是一个错觉,Python函数仍然返回单个值:(,)打印与打印返回结果,原始的返回值是一个元组!语法,可以省略括号时返回一个元组,和多个变量可以同时接受一个元组,并支付相应的价值根据位置。因此,朋友Python函数返回多个值实际上是返回一个元组,但它是更方便写作。Python的递归函数是函数内,可以调用其他函数。如果一个函数调用本身内部,函数是递归的。

理论上,所有的递归函数可以写成循环,但是循环的逻辑明显不如递归。使用递归函数,需要把堆栈溢出。在计算机中,函数调用实现通过堆栈的数据结构(栈)。每当进入一个函数调用时,堆栈将添加一个堆栈帧,当函数返回时,堆栈将减去一个堆栈帧。因为堆栈的大小不是无限的,太多的基地内阁称将导致堆栈溢出。当定义缺省参数在Python中,您还可以在定义一个函数有默认参数。默认参数的函数是简化的调用,您只需要通过必要的参数。但在需要时,额外的参数可以通过覆盖默认的参数值。由于函数的参数匹配顺序从左到右,后定义的缺省参数只能所需的参数:\/ \/ OK: def fn1 (a, b = 1, c = 2):通过\/ \/错误:def fn2 (a = 1, b):变量的定义参数passPython如果我们想要一个函数接受任意数量的参数,我们可以定义一个变量参数:def fn (* args):打印参数可变参数的名称前加*,我们可以通过在0,1,或多个参数变量参数:fn () () fn (a) (a), fn (\u201Ca\u201D、\u201Cb\u201D) (\u201Ca\u201D、\u201Cb\u201D) fn (a, b, c) (a, b, c)为变量参数,Python解释器将传入一组参数组合成一个元组并将其传递给变量参数。

封装是面向对象编程中的一个重要概念,它主要是指将数据和行为封装在一起,形成一个类,并对外提供接口,隐藏实现细节,保证数据安全性和代码可维护性。 Python中的封装主要通过访问权限控制实现。在Python中,属性和方法都有其对应的访问权限,主要有公有、私有和受保护三种。 公有属性和方法可以被类内部和外部访问,私有属性和方法只能在类内部访问,受保护属性和方法也只能在类内部和子类中访问。 下面通过一个例子来说明Python中如何进行封装。 ```python class Person: def __init__(self, name, age): self.__name = name # 私有属性 self.__age = age # 私有属性 def say_hello(self): print("Hello, my name is %s, and I'm %d years old." % (self.__name, self.__age)) def set_age(self, age): if age < 0 or age > 150: print("Invalid age!") else: self.__age = age # 修改私有属性 p = Person("Tom", 20) p.say_hello() # 输出:Hello, my name is Tom, and I'm 20 years old. p.__name # 报错:AttributeError: 'Person' object has no attribute '__name' p.set_age(200) # 输出:Invalid age! ``` 在上面的例子中,我们定义了一个Person类,其中包含了两个私有属性__name和__age,以及一个公有方法say_hello和一个受保护方法set_age。这样,外部就无法直接访问__name和__age属性,只能通过调用say_hello方法来输出实例的信息。同时,set_age方法可以修改私有属性__age,但是它会对输入的年龄进行检查,保证数据的合法性。 可以看出,Python中的封装通过访问权限控制实现,可以保证数据的安全性和代码的可维护性。在实际开发中,我们应该尽量使用封装来保护数据,防止出现意外错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值