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

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'
>>> 
13671 次点击
所在节点    Python
116 条回复
crella
2019-12-05 15:30:36 +08:00
还有提醒楼主,在绝大多数语言中,数组 a = 数组 b,这个操作是引用传递,就是当后续更改了数组 b 的某个元素的值后,数组 a 也会发生对应的变化。在你使用的语言中,一定要先查查语言的深拷贝(deepcopy 方法)
mara1
2019-12-05 15:31:25 +08:00
楼主别听他们的,谁都是一点点学的,慢慢来,自己不要气馁。

基于你初学者的身份,建议你先谷歌,或找同事问,效率更高,如果还解决不了,再去网上问。
VShawn
2019-12-05 15:35:45 +08:00
我猜测楼主是想用闭包?

要不还是转行吧
Nugine0
2019-12-05 15:53:32 +08:00
```
$ cat a.py
import time

def get_time():
return time.strftime(
'%Y-%m-%d %H:%M:%S',
time.localtime(time.time()))

class TimeStr(str):
def __str__(self):
return get_time()
def __repr__(self):
return get_time()

b = TimeStr()
for i in range(5):
print(f"{i+1}: {b}")
time.sleep(1)

$ python a.py
1: 2019-12-05 15:50:57
2: 2019-12-05 15:50:58
3: 2019-12-05 15:50:59
4: 2019-12-05 15:51:00
5: 2019-12-05 15:51:01
$
```
Ainndy
2019-12-05 16:00:36 +08:00
唉,要不还是转行吧
HanShan63
2019-12-05 16:03:16 +08:00
唉,要不还是转行吧
blackccc
2019-12-05 16:03:23 +08:00
变量就是 72 变,想怎么变就怎么变
zixiaoguan
2019-12-05 16:10:39 +08:00
代码是一行一行执行的,b 在赋值的时候已经执行了那段代码,以后就不会执行了。每次需要反复执行的代码,那种代码叫做函数。
neroxps
2019-12-05 16:15:58 +08:00
楼主标题写的很好,什么是变量,什么是函数,楼主搞清楚就是了。

正如 bash

```bash
time(){
echo date
}

echo "a $(time)"

# 和 echo "a $(date)" 是一个意思啊。

```

函数每次调用都会执行,而变量只是存在一个内存空间的东西,变量在不被别人修改的时候是不会变化的。函数是动态的,调用就执行一次。

函数是动词,变量是形容词。
neroxps
2019-12-05 16:17:03 +08:00
@neroxps #69 手残连 bash 都敲错

```bash
time(){
echo $(date)
}

echo "a $(time)"

# 和 echo "a $(date)" 是一个意思啊。

```
pb941129
2019-12-05 16:32:28 +08:00
?我开始怀疑这个论坛的专业性...
HonoSV
2019-12-05 16:56:00 +08:00
别学 python,来学 java 吧,好懂很多
CosimoZi
2019-12-05 17:00:48 +08:00
楼主很适合学习函数式编程
solgh
2019-12-05 17:02:09 +08:00
唉,要不还是转行吧
madmen
2019-12-05 17:08:55 +08:00
是不是买了朋友圈推送的,1 天学会 python ?
这个是计算机基础知识,先去恶补一下基础知识会比较好。
Erroad
2019-12-05 18:11:37 +08:00
楼主要不去玩玩人力资源机器?
HolmLoh
2019-12-05 18:13:32 +08:00
他们都只是调侃而已,不比挂在心上
建议去看一些关于计算机书和 Python 的基本语法,应该会对你大有帮助

这里主要是两个点
一个是 my_time(),每次使用“my_time()”的时候,则会调用一次“my_time()”这个函数,而函数的每次调用都会执行一次函数对象的代码,所以每次调用就相当于生成一个新的值
第二是 b = ,这个是定义一个遍历 b,并赋值,使用“=”赋值之后,只要变量“b”不被再次使用“=”覆盖掉原值,他的数据就不会变

通俗的讲就是,你有一个文具袋( my_time ()),你从箱子里面拿出一支笔(调用函数),随后放到你的桌子上(赋值给 b ),随后你就可以看到桌子上的笔了(打印 b ),在你从文具袋里拿去物品(调用函数)并且放到桌子上,你桌子上永远都会是那支笔

我水平有限,解释的不好见谅
Mistwave
2019-12-05 18:20:29 +08:00
b = "a"+my_time()
这里是 call by value,而不是 call by name
leeleelee
2019-12-05 18:24:00 +08:00
@KaynW 知识的诅咒
xuyl
2019-12-05 18:33:21 +08:00
要不转行吧

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

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

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

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

© 2021 V2EX