New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve docstring for str.index #73735
Comments
The docstring for str.index() needs to be synced with the main documentation rather than presuming knowledge of str.find(). Currently it reads: >>> help(str.index)
Help on method_descriptor: index(...)
S.index(sub[, start[, end]]) -> int
Like S.find() but raise ValueError when the substring is not found. And it should read more like str.find: help(str.find)
Help on method_descriptor:
find(...)
S.find(sub[, start[, end]]) -> int
Return the lowest index in S where substring sub is found,
such that sub is contained within S[start:end]. Optional
arguments start and end are interpreted as in slice notation.
Return -1 on failure. Lisa, it would be great if you could draft-up a patch. |
Good call. Additionally, it's weird to me that the docstring for str.find() says "Return -1 on failure." because the string not being found is not a "failure". Like the docs (https://docs.python.org/3.5/library/stdtypes.html#str.find) say, the str.find() docstring should say "Return -1 if sub is not found." |
str.index() still is not converted to Argument Clinic (this is not easy). The docstring needs to be rewritten when convert it to Argument Clinic in any case. It would be nice to make it Argument Clinic compatible right now. The first line line should be short description, following paragraph(s) can describe more details, the description shouldn't refer to the metavariable S. Docstrings for str, bytes and bytearray methods should be synchronised. Look also at docstrings for the index() method in other sequence types (list, tuple, deque, array, Sequence). |
I tried to have a go at making the str.index Argument Clinic compatible, Serhiy can you take a look at my commits and let me know if this is the correct way of doing it: If it looks good I will make a pull request. Thanks! |
No need to add Argument Clinic code. Just make docstrings in the style of of Argument Clinic descriptions. |
CuriousLearner, I see that you have PRs against this issue. Please choose an issue that is not currently assigned to anyone. If an issue is assigned, please ask first before working on it. Thank you. |
Mariatta, I apologize for this. I completely missed to see that this was already assigned to someone else. I've withdrawn my PR. Thanks. |
Serhiy, I'm not sure what you're referring to by "Just make docstrings in the style of of Argument Clinic descriptions". For the time being, I would like the docstring to match that of str.find(). The point of the patch is to decouple the two. AC issues and migrations can wait. At this point, AC adoption has been more disruptive that helpful in a number of cases. |
Lisa, could you make a PR? It could let more developers see your patch. |
Please everyone. Ease up. This is a very simple patch. Copy what is done in str.find to str.index. It doesn't need infinite discussion and debate. I assigned this to Lisa to give her practice. It wasn't intended to have five developers jump in and shove it back and forth. Let's let simple things be simple and not waste the time of new contributors. |
I mean that this work is useless since it will be lost when convert str.index to Argument Clinic. Well, even when don't use Argument Clinic, but make str.index() be supported by inspect.signature(), the docstring should be significantly rewritten. I think there are many other easy documentation issues for practicing. And all proposed PRs change only the docstring of str.index. They don't touch docstrings of str.rindex, bytes.index, bytes.rindex, bytearray.index and bytearray.rindex. I can't approve such changes. |
I'll just go ahead and make my PR, let me know what else needs to be done. Serhiy, if you could point me in the direction of how to write the docstring so that it is in the Argument Clinic style I would be happy to take a look. |
Thanks for the PR, Lisa. Serhiy, Raymond, could you both review this? Thanks. Also,should this be applied to 3.5 too? |
Write docstrings in following style: "index($self, sub, start=0, end=sys.maxsize, /)\n" Extract the summary line. Don't use the metavariable "S" since it no longer defined in the signature. |
Thanks Lisa. |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: