一个函数,一个变量,整懵逼了

2019-12-05 11:40:41 +08:00
 css3
>>> import time
>>> def my_time():
... 	return time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
>>>
>>> my_time()
'2019-12-05 11:29:47'
>>> my_time()
'2019-12-05 11:29:50'
>>> b = "a"+my_time()
>>> b
'a2019-12-05 11:30:32'
>>> b
'a2019-12-05 11:30:32'
>>> b
'a2019-12-05 11:30:32'


>>> print("a"+my_time())
a2019-12-05 11:38:02
>>> print("a"+my_time())
a2019-12-05 11:38:03
>>> print("a"+my_time())
a2019-12-05 11:38:05



>>> b = "a" + time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
>>> b
'a2019-12-05 11:39:27'
>>> b
'a2019-12-05 11:39:27'
>>> b
'a2019-12-05 11:39:27'
>>> 


>>> "a" + time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
'a2019-12-05 11:41:58'
>>> "a" + time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
'a2019-12-05 11:41:59'
>>> "a" + time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
'a2019-12-05 11:42:00'
>>> "a" + time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
'a2019-12-05 11:42:00'
>>> "a" + time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
'a2019-12-05 11:42:01'
>>> "a" + time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
'a2019-12-05 11:42:02'
>>> 
13670 次点击
所在节点    Python
116 条回复
raistlin916
2019-12-05 14:01:59 +08:00
问题出在中文歧义上,字面上看,『变量』其实是可变量,执行函数是『变某量』,所以容易混淆。
MinQ
2019-12-05 14:04:37 +08:00
唉,要不还是转行吧
KaynW
2019-12-05 14:08:45 +08:00
已学者往往理解不了初学者为什么会提出这种问题.是个啥理论还是悖论来着,忘了.多点宽容多点爱
simenet
2019-12-05 14:10:17 +08:00
唉,要不还是转行吧
唉,要不还是转行吧
唉,要不还是转行吧
唉,要不还是转行吧
cppgohan
2019-12-05 14:17:48 +08:00
楼主是要钓鱼赚波金币?
yinjy
2019-12-05 14:20:18 +08:00
为什么要嘲讽楼主,其实这个问题还是挺有意思的
Vindroid
2019-12-05 14:25:03 +08:00
没有基本功?耐下性子从最基本的学起吧,你这样学容易走火入魔啊
yeze322
2019-12-05 14:32:33 +08:00
楼上都太欢乐了
j0hnj
2019-12-05 14:40:05 +08:00
楼主,非常对不起,一时没忍住,嘴欠了一下,做了个坏一楼,确实太 mean 了。
能对初学者讲明白最基础的问题,才是真正的大佬,引以为戒。
williamszz
2019-12-05 14:41:02 +08:00
唉,要不还是转行吧
jon
2019-12-05 14:43:00 +08:00
唉,要不还是转行吧
hallwoodzhang
2019-12-05 14:46:12 +08:00
>>> import time
>>> def my_time():
... return time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
...
>>> b = lambda : 'a' + my_time()
>>> b
<function <lambda> at 0x7fdc8494f840>
>>>
>>> b()
'a2019-12-05 14:43:58'
>>> b()
'a2019-12-05 14:44:01'
>>> b()
'a2019-12-05 14:44:04'
>>>
hallwoodzhang
2019-12-05 14:48:30 +08:00
我猜你想要这种效果
azcvcza
2019-12-05 14:50:54 +08:00
不知道是钓鱼还是被钓
Tokin
2019-12-05 15:07:51 +08:00
我滴妈呀,这个不应该入门就应该懂的吗?钓鱼贴?
Phishion
2019-12-05 15:14:56 +08:00
上面列队劝人家转行的,有几个能非常深入的从底层讲解透这个问题的?当复读机能显得你们特别高明?我觉得吧,如果不会说话,可以不要说嘛,别回来往深了问一个个哑火了,挤兑别人倒有一手。
ermao
2019-12-05 15:18:01 +08:00
string b = "a" + my_time();

加上 string 你明白了吗?它把赋值那一刻的 my_time() 存了起来。所以你无论输出多少次,它都不会变呀。
imklay
2019-12-05 15:21:28 +08:00
我觉得还挺可爱的。。
crella
2019-12-05 15:24:43 +08:00
玩玩 ruby 的 eval、instance_eval、class_eval,玩得让我头痛欲裂
leadersnowy
2019-12-05 15:25:48 +08:00
唉,要不还是转行吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/626157

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX