if python
a = 1
b = 2
c = a if a > b else b
以下 Python 代码片段的输出是什么
def extendList(val, list=[]):
list.append(val)
return list
list1 = extendList(10)
list2 = extendList(123,[])
list3 = extendList('a')
print "list1 = %s" % list1
print "list2 = %s" % list2
print "list3 = %s" % list3
上述 Python 代码片段的结果是:
list1 = [10, 'a']
list2 = [123]
list3 = [10, 'a']
Shell
可能错误地认为 list1
等于 [10]
并且 list3
与 [‘a’] 匹配,认为每次调用 extendList
时列表参数都会初始化为其默认值 []
。
但是,流程就像在定义函数后创建了一个新列表。 每当有人在没有列表参数的情况下调用 extendList
方法时,都会使用相同的方法。 它的工作原理是这样的,因为表达式的计算(在默认参数中)发生在函数定义时,而不是在调用期间。
因此 list1 和 list3 在同一个默认列表上运行,而 list2 在它自己创建的单独对象上运行(通过传递一个空列表作为 list 参数的值)。extendList
函数的定义可以通过以下方式进行更改。
def extendList(val, list=None):
if list is None:
list = []
list.append(val)
return list
Python
通过这个修改后的实现,输出将是:
list1 = [10]
list2 = [123]
list3 = ['a']
安装Python
“工欲善其事,必先利其器”
既然要用Python做数据分析,那就要先将Python相关的软件安装好。
事实上Anaconda 和 Jupyter notebook已成为数据分析的标准环境。
简单来说,Anaconda是包管理器和环境管理器,Jupyter notebook 可以将数据分析的代码、图像和文档全部组合到一个web文档中。
注释
Python中单行注释以 # 开头,多行注释用三个单引号 ''' 或者三个双引号 """ 将注释括起来
变量之多个变量赋值
Python允许同时为多个变量赋值。例如:a = b = c = 1;也可以为多个对象指定多个变量。例如:a, b, c = 1, 2, "runoob"(以上实例,分别是创建一个整型对象,值为 1,从后向前赋值,三个变量被赋予相同的数值;两个整型对象 1 和 2 的分配给变量 a 和 b,字符串对象 "runoob" 分配给变量 c)