十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
好像很难实现对变量X的任何改变都调用函数f(),调用的过程通常发生在对变量X的赋值和读取之时;如果变量赋值为某种结构类型,例如list,对list内元素的处理,无法引发调用
成都创新互联公司主营东胜网站建设的网络公司,主营网站建设方案,成都App制作,东胜h5小程序设计搭建,东胜网站营销推广欢迎东胜等地区企业咨询
1、可以使用class的property属性实现
2、可以考虑使用yield语法实现
File file2.py:
import file1
x = file1.joinf()
x.X = 90 或者 m = x.X时都可以执行不同的程序
========================================
File file1.py:
def ART(func):
return property(**func())
class joinf():
def __init__(self):
self.__X = None #真实保存变量的地方,不可直接访问
@ART
def X():
def fget(self): #执行m=x.X时调用的函数
pass #可以在此执行任何指令和函数 - 可以在此调用函数f()
return self.__X #不一定非要返回原值,此处返回什么,m得到的就是什么
def fset(self, value): #执行x.X=90 操作时执行的函数,value就是90
pass #可以在此执行任何指令和函数 - 可以在此调用函数f()
self.__X = value #不一定把原值付给self.__X的,可以对value进行处理后再赋值给value
return locals()
python提供了常用的数据结构,其中之一就是set,python中的set是不支持索引的、值不能重复、无需插入的容器。
简单记录下set常用的操作函数:
1.新建一个set:
set("Hello"),这样会转成单个字符的值进行插入,结果是'H','e','l','o','l'因为重复只能插入一次。
2.增加一个元素:
add()用于增加一个元素值,
update([]),用于增加多个元素值,参数为list,注意如果用add增加多个值,会报参数类型错误。
3.删除一个元素:
remove()用于删除一个set中的元素,这个值在set中必须存在,如果不存在的话,会引发KeyError错误。
discard()用于删除一个set中的元素,这个值不必一定存在,不存在的情况下删除也不会触发错误。
4.随机删除函数:
set提供了一个pop()函数,这个函数随机返回一个元素值,然后把这个值删除,如果set为空,调用这个函数会返回Key错误。
5.清空函数:
clear(),将set全部清空。
6.测试单个元素在集合内是否存在:
in 或者 not in 如果需要判断一个值在集合内是否存在,in就能满足要求,例如2 in set_num 如果存在则返回True,否则返回False。
7.测试两个集合是否包含,子集操作:
issubset和issuperset,
s1.issubset(s2) :测试是否 s1 中的每一个元素都在 s2 中,运算符操作为 s1=s2;
s2.issuperset(s1) :测试是否 s1 中的每一个元素都在 s2 中,运算符操作为 s1=s2;//注意是s2调用,参数为s1.
8.集合的并集:
union s1.union(s2) :返回一个新集合,新集合包含s1,s2的所有元素,等价的运算符为 | 。
9.集合的交集:
intersection,s1.intersection(s2),返回s1和s2中相同部分
10.其他操作:
s1.difference(s2):包含s1中有,但是s2没有的元素的集合。
s1symmetric_difference(s2):包含s1和s2中不相同的元素的集合。
以上只是一部分操作的描述,如果有错误,敬请指正。
python中set()函数的用法如下:
工具/原料:台式电脑、Win10、Python3.6.5。
1、首先按下“Win+R”组合键,打开运行窗口,如下图所示。
2、在打开文本框输入“cmd”,点击确定,如下图所示。
3、在打开的cmd窗口中,输入:“python”,点击Enter键,如下图所示。
4、在Python环境中,输入:“x = set(('hi', 'hello', 'world'))”,点击Enter键,如下图所示。
5、在Python环境中,输入:“print(x)”,如下图所示。
6、点击Enter键,即可使用Python内置的set()函数创建一个集合对象,并打印出来,如下图所示。