Python Forum
How do I know when I know enough python to get a job?
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How do I know when I know enough python to get a job?
#1
What kind of libraries should I know? Im also planning on learning other programming languages, so I want to be really good in python first. Another thing, but similar, what should I be able to do with python before I get a job. And what all is python used for in the real world and what libraries do those fields use.
Reply
#2
First all datatypes:
  • int
  • float
  • complex
  • str
  • bytes
  • bytearray
  • list
  • tuple
  • set
  • frozenset
  • dict

Bult-In Functions:
  • map
  • zip
  • hasattr
  • delattr
  • setattr
  • isinstance
  • issubclass
  • lambda expression
  • List Comprehension, Dict Comprehension, Set Comprehension, Generator Expression

Functions and classes you should know:
  • Everything in math
  • os, sys, shlex, Popen, shutil
  • pathlib.Path
  • collections.deque
  • collections.defaultdict
  • csv
  • datetime
  • binascii
  • struct
  • urllib.request / requests is easier, but not in stdlib
  • itertools.islice
  • itertools.product
  • itertools.zip_longest
  • decimal.Decimal
  • socket # very low level socket library
  • contextlib.contextmanager | this is a decorator for a context manager
  • asyncio | learn this not yet. Very complex
  • threading, multiprocessing | also very complex, learn to use queues, try not to use locks

I think this is for the beginning enough to learn. Usually no one knows everything.
It depends on the tasks you have to do.
Almost dead, but too lazy to die: https://sourceserver.info
All humans together. We don't need politicians!
Reply
#3
Thanks! Very useful, but what kind of projects should I be able to complete? What type of projects should I make to show employers what I can do?
Reply
#4
(Apr-23-2019, 05:07 PM)2skywalkers Wrote: What type of projects should I make to show employers what I can do?
That's the wrong question. The question is what you want to do, then you would search for a job in that domain. Python is versatile and has application in different areas. e.g. do you want to do web development, data science/machine learning, natural language processing, computer vision, networking, specific implementation in a particular area of science (e.g. bioinfomatics) and that is just to name a few... After learning the basics you would delve in more specific packages...
If you can't explain it to a six year old, you don't understand it yourself, Albert Einstein
How to Ask Questions The Smart Way: link and another link
Create MCV example
Debug small programs

Reply
#5
I would like to do it with cyber security, work with penetration testing. I know one library is socket, but what else? Thanks for your help.
Reply
#6
try writing some clever programs that do networking. one of them piled onto my plate of things is a program to forward UDP datagrams. but i need it to do more than that. i need one that splits the UDP datagrams so that some are sent to one address,port an the others are sent to another address,port. and it needs to act as a load balancer. so if the path to one of the addresses gets slower, more are sent to the other. what has to be clever about this is that the other end is this same program. both ends will be using 2 ISPs and the addresses are selected so that each end goes through both ISP. traffic will be going both ways. so what happens if path B through ISP 2 on each end looks like it is slower. well, this program will send less that way. but that's not necessarily a good thing. if both ends are intentionally sending slower over path B how will hey know when B improves and take a heavier load, again? what if one of the ISPs goes down? how will you know when it comes back up? BTW, the big plan for this is to forward UDP datagrams for OpenVPN.

being a good programmer is about more than just knowing how to code in some favored language. it's also about problem solving in the domain to program in. really good programmers can problem solve in a wider range of ares ... a larger domain. that makes you more attractive to employers because you will be more versatile.

find an open source project or two to work on. or start your own. that can show your overall skills to potential employers.
Tradition is peer pressure from dead people

What do you call someone who speaks three languages? Trilingual. Two languages? Bilingual. One language? American.
Reply


Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020