range()

在Python中,函数参数的默认值通常需要放在参数列表的最后。这是因为函数调用时,可以省略具有默认值的参数,从而使用其默认值。如果有多个参数具有默认值,并且其中一个放在了非默认参数之前,就会导致在函数调用时产生歧义,不清楚参数值应该赋给哪个参数。
然而,对于内置函数 range() 来说,它是一个特殊的情况。它的设计考虑到了常见的使用场景,其中最常见的是迭代整数的范围。因此,为了提供简洁性和直观性,range() 函数将起始值作为第一个参数,而步长(step)和结束值作为后续参数。
这种设计决策是为了方便使用 range() 函数,使得常见的用法更加简单明了。而对于自定义函数,如果要实现类似的功能,你可以通过使用关键字参数来指定默认值,并将带有默认值的参数放在参数列表的最后。
总结起来,range() 函数的参数顺序是一个特殊情况,是为了提供简洁性和直观性,并与常见的用法相匹配。在自定义函数中,通常需要将具有默认值的参数放在参数列表的最后,以避免产生歧义。
def my_range(start, stop=None, step=1):
if stop is None:
stop = start
start = 0
result = []
i = start
while i < stop:
result.append(i)
i += step
return resultcode:

推薦hahow線上學習python: https://igrape.net/30afN


![Python: 自定義函數計算計程車車資(先typing,再用預設值), 巢狀字典以及typing.Union[ ], assert 斷言 Python: 自定義函數計算計程車車資(先typing,再用預設值), 巢狀字典以及typing.Union[ ], assert 斷言](https://i0.wp.com/savingking.com.tw/wp-content/uploads/2022/09/20220923222039_57.png?quality=90&zoom=2&ssl=1&resize=350%2C233)
![Python 如何做excel的樞紐分析? pandas.pivot_table() 或 pandas.DataFrame .groupby() ; 如何指定欄位順序? DataFrame.reindex() ; .sortlevel() ; DataFrame[[col1, col2, col3 ]] ; df.columns.map() ; 如何顯示所有欄? pandas.set_option (“display.max_columns”, None) Python 如何做excel的樞紐分析? pandas.pivot_table() 或 pandas.DataFrame .groupby() ; 如何指定欄位順序? DataFrame.reindex() ; .sortlevel() ; DataFrame[[col1, col2, col3 ]] ; df.columns.map() ; 如何顯示所有欄? pandas.set_option (“display.max_columns”, None)](https://i0.wp.com/savingking.com.tw/wp-content/uploads/2023/03/20230323101848_80.png?quality=90&zoom=2&ssl=1&resize=350%2C233)



![Python: 如何用numpy.ndarray的reshape 將3D array轉為2D array,再轉為pandas.DataFrame? arr.reshape( arr.shape[0] * arr.shape[1] , -1) Python: 如何用numpy.ndarray的reshape 將3D array轉為2D array,再轉為pandas.DataFrame? arr.reshape( arr.shape[0] * arr.shape[1] , -1)](https://i1.wp.com/savingking.com.tw/wp-content/uploads/2023/03/20230320082325_85.png?quality=90&zoom=2&ssl=1&resize=350%2C233)


近期留言