I am a Java developer and today I started with Python (v3.7, using PyCharm). I tried to create a "hello world" application with a single package (boto3):
import boto3
client = boto3.resource('ec2', region_name='eu-central-1')
client. # unlike java, no suggestion (method or attribute of client object) from the IDE
I read PyCharm code completion not giving recommendations and I understand that due to the dynamic typing PyCharm is unable to determine the type of client and consequently it can not make any suggestion (e.g. methods or attributes of the object).
Hence, during debugging I was forced to look up the documentation to identify the attributes and methods of returned objects. This was error-prone and effort-full (e.g. typos or I assumed a different type of object resulting in attribute not found errors during execution).
Then, I was executing my code in the debug mode: I tried to identify attributes and methods of the returned objects in the evaluation box which is inconvenient too.
How do you handle such situations in Python? Do you have a good reference?