当前位置: 移动技术网 > IT编程>脚本编程>Python > python小技巧

python小技巧

2018年09月05日  | 移动技术网IT编程  | 我要评论

zoneclim.dll,雄狮堵路不抱不走,生化宅男

平时开发中,一些使用的技巧,记录一下,持续更新…………

示例代码1:

def ddd(a,b=[]):
    b.append(a)
    return b

print(ddd(1))
print(ddd(2,['a','b','c']))
print(ddd(3))

输出结果:

[1]  
['a','b','c',2]   
[1,3]  

 

你对此,可能有些疑问,不对呀,看上去第3个输出,应该输出[3]呢,为什么是[1,3]呢????

这个问题问得很好,这涉及到python对象作为参数时,每次调用并不会创建一个新的对象。就这么简单。

那么你可能又问啦,那为什么第2个,不输出[1,2]这是因为第二个调用函数的时候,传的参数是一个对象,将原来的对象改变了。

下面我们看一下,参数变化过程,内存id变化,很明显第一次和第三次b参数内存地址是同一个。

这说明函数调用,是不会创建新对象的。除非外在改变,也就是第二个调用

d:\python27\python.exe d:/untitled1/temp5.py
49089672
[1]
49089480
['a', 'b', 'c', 2]
49089672
[1, 3]

 

 

 

字符串转成列表元素,以及列表转成字符串:

a = 'helloworld'
print(list(a)) #字符串转成,列表
print(''.join(list(a))) #列表转成字符串

输出结果:

['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']
helloworld

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网