Python文档方法参数符号含义及相关技术问题咨询
问题1:center方法参数中的
/代表什么含义?/是Python的参数分隔符,用来标记仅限位置参数的边界。在/之前的参数(比如self、width)只能通过位置传递,不能用关键字参数的形式传值;/之后的参数(比如fillchar)则支持位置或关键字两种传参方式。问题2:count方法参数中的
[和]代表什么含义?
方括号[]包裹的内容是可选参数。比如[start[, end]]表示:start是可选参数,而end是依赖start的可选参数——调用时可以只传sub,也可以传sub + start,还可以传sub + start + end,三种写法都合法。问题3:
sub是单个参数,还是sub[, start[, end]]整体为单个参数?即, start[, end]是否是sub的可选附属部分?sub是独立的必传参数,start和end是独立的可选参数,并非sub的附属部分。调用count时必须传入sub,start和end是可选的额外参数,用来限定统计的起始和结束索引位置。问题4:为何center方法中有的参数仅写
width,有的参数如fillchar=' '带有等号?
带=的参数是拥有默认值的可选参数,调用时如果不传入该参数,就会使用等号后的默认值(这里fillchar默认是空格);不带等号的是无默认值的必传参数,调用时必须手动传入对应的值,比如width必须指定,否则会触发参数缺失的报错。问题5:为何count方法的参数中未写
self?
因为文档里用了S.count(...)的实例调用写法,S代表字符串实例。而self作为实例方法的第一个参数,在这种简化的文档展示形式中会被省略——实际定义该方法时self是存在的,只是文档用实例调用的视角来呈现,所以不需要写出self。
内容的提问来源于stack exchange,提问作者TheMaskedTitan

