我需要学习Python来完成一些数据操作。当我阅读这些文件时,那里的文件写得非常好,所以我对一些隐藏的信息感到非常沮丧。例如:Python文档中的隐藏规则是什么?
- 在Python官方文档
:
random.sample(population, k)
什么是人口?它是什么类型的?根据以下内容,它似乎是一个列表?那么,这是函数接收的唯一有效类型吗?
官方numpy的文件:
numpy.random.random_sample
标题是
numpy.random.random_sample(size=None)
和下段说,size: int or tuple of ints, optional
Output shape. If the given shape is, e.g., (m, n, k), then m * n * k samples are drawn.
是什么意思?所以,实际上有两个参数,第一个是尺寸,第二个是形状,它是可选的?所以如果我想通过2个参数,我应该写
random.random_sample(5,[m,n,k])
还是random.random_sample(5, m, n k)
?
这些文件非常简短,作者似乎很害羞地演示该库的用法。他们似乎总是试图隐藏我们的某些东西。我想知道是否有一些我应该学会理解所有这些魔法的Python习俗?
Python是动态类型的,所以有几种类型(例如'list','tuple',...),可以是一个'population' - 正如文档所说的,*“sequence or set”*。在你的第二个例子中,你需要'((m,n,k))',否则你显然传递的不止是单个记录的参数。它是*“int **或**整数”*。我认为这主要是一个阅读理解问题,而不是隐藏的规则或魔法。 – jonrsharpe
杰恩说。通常,好的Python程序员编写的函数将接受任何有意义的类型。所以'random.sample'将接受_population_任何序列类型,或者实际上任何具有明确定义长度的迭代。所以你可以传递它一个列表,元组,甚至是一个集合。或者你自己的自定义对象可以像一个定义明确的长度的迭代器那样工作。 –
请不要沮丧。取而代之的是Jupyter/IPython笔记本!使用内部帮助并尝试一些事情。 –