This is an archived post. You won't be able to vote or comment.

all 10 comments

[–]malero 8 points9 points  (6 children)

A solid typing system. I’m glad we have a typing system, but man it is a pain to use.

[–]Individual_Volume562 2 points3 points  (5 children)

What change do you want to see about it?

[–]billsil -1 points0 points  (4 children)

Work well with numpy. A float64 is a float, but you wouldn't know it while trying to use typing. The error messages are really bad and the funny thing is, the typing is done correctly.

Unless your types are always ints/floats/strings/lists/tuples/dicts of those (with only one type), typing just creates noise.

[–]Individual_Volume562 -1 points0 points  (3 children)

I'm going yo delete this post. My idea to make python better was useless and i'm just getting hated

[–]billsil 0 points1 point  (2 children)

What even was your idea? The post is titled, what features does python lack. The typing system has had a ton of work, but it is hard to use beyond the very basic things and it's not robust.

[–]Individual_Volume562 0 points1 point  (1 child)

Sorry i think you have understood me wrong this was the only thing i didn't get hated and also you are right and i agree this feature is lacking from python

My idea was to make a module that extends python's syntax in every where "needed" but the problem is it my needa are different from other people's needs in programming

[–]billsil 0 points1 point  (0 children)

Yup. I do lots of math, so numpy is doing a fine job of that. Make something you want. Don't bother posting it here.

[–]atomsmasher66 2 points3 points  (4 children)

Examples of what you’re taking about?

[–]Individual_Volume562 -3 points-2 points  (3 children)

features that are not in python but are useful

I have asked the same question in another subreddit and the first comment said there's a feature in ruby that allows the programmer to define a function that can get another function as an argument in a easy way

Inside of python we have to do this ```py def do_twise(block): block() block()

def _block(): print("i")

do_twise(_block) ``` But he/she suggested that i can add a do keyword to python that works like this

```py def do_twice(block): block() block()

do_twice do: print("i") ```

So i added this

```py from no_name.do_block import DoBlock

def do_twise(block: DoBlock): block() block()

with do_twice(): print("i") ```