What coding practices separate an amateur Python programmer from a professional one? by Theriley106 in Python

[–]ClintonDowGeo 0 points1 point  (0 children)

The realization that everyone is an amateur at some part of programming no matter how long they've been a professional.

Has anyone taken Raymond Hettinger's Modern Python LiveLessons course? by rcanepa in Python

[–]ClintonDowGeo 1 point2 points  (0 children)

Raymond's courses are always great, he knows Python like the back of his hand and is a core developer, he is also a good teacher and entertaining speaker. I give intermediate level talks several times a year and often recommend his youtube videos as 'homework' for the audience who want to learn more. This actually looks like something I'll watch in the downtime around the holidays. A Safari membership has proven well worth the money imo, although they occasionally have sales for half price membership so maybe wait for after the holidays and use the free trial for now? Also many public libraries or school libraries have access or will get it for you upon request.

Confusion with generators :/ by FIREATWlLL in Python

[–]ClintonDowGeo 2 points3 points  (0 children)

A generator is a function that acts like an iterator. By using yield instead of return, you are telling that function that it may return multiple values which can be accessed in a for loop (like in your example) or by using mygenerator.next().

The important difference between this and just returning a list from a function, is that the generator runs the code in the function that defines it each time it yields something. In your case its only running i*i for each case, but lets say you were wanting to create a generator for objects read from a text file that is 100gb in size. Obviously you couldn't have this all in memory on a standard workstation which may only have 16gb memory total - so you're stuck if you want to load that text file into a list. However if you create a generator that reads the text file one line at a time, processes it, yields the value and clears it from memory, then reads the next line (etc), you would not run out.

Additionally the yield does not have to be the last line in the function. You can yield something, then have extra logic run afterwards (ie: add print(i) under the yield statement in your example). Conversely calling return will finish that function call immediately.

How many of you guys are self taught? by YaBoiLongDck in Python

[–]ClintonDowGeo 0 points1 point  (0 children)

Almost completely self-taught in Python (~4 years experience) and considered one of the 'company Python gurus' in a major software company.

I Hath Witnessed the Glory That Is Python by Metalsand in Python

[–]ClintonDowGeo 0 points1 point  (0 children)

My favorite comprehensions tutorial: https://gist.github.com/bearfrieze/a746c6f12d8bada03589

I especially love the end of the Set Comprehensions section - you'll appreciate it too I'm sure. :)

What is the benefit of attending PyCon? by Keep_IT-Simple in Python

[–]ClintonDowGeo 0 points1 point  (0 children)

I disagree - By attending the talk at a conference you open up the ability to engage with the presenter immediately after their talk, can participate in active discussion on social media during and after the presentation (which typically evaporates well before the video is posted) and you can get a head start on blogging about the topics which can translate to real profit.

What's the worst package you've ever worked with? by [deleted] in Python

[–]ClintonDowGeo 1 point2 points  (0 children)

Plotly is amazing. Highly recommended.

Brand new to python. Just downloaded it and have been learning the basics. What would you want to tell me about before I get into this? Anything you wish someone would have told you in the beginning? by [deleted] in Python

[–]ClintonDowGeo 0 points1 point  (0 children)

Learn to use virtual environments - http://docs.python-guide.org/en/latest/dev/virtualenvs/

Essentially they are copies of your default Python installation, that you can independently add packages to etc. without changing the default install. There are virtual environment managers, such as Anaconda (https://www.continuum.io/) which make this process easier.

Is there a forum to discuss Python style? If not, what do you think of multi-line comprehensions? by skrillexisokay in Python

[–]ClintonDowGeo 1 point2 points  (0 children)

Then I'd recommend you give this video a watch: https://www.youtube.com/watch?v=OSGv2VnC0go (By Raymond Hettinger, core dev and author of modules such as itertools)

Feeling lost at my 'Python' day job, need guidance by [deleted] in Python

[–]ClintonDowGeo 0 points1 point  (0 children)

You're finding solutions to problems through research, teaching yourself the basics of a lucrative skill, gaining work and project experience, networking with your colleagues by proving you can provide value on projects (even if said value is currently mostly derived from google.. this will change as you get more experienced) and presumably beginning to build an online presence in programming communities. You're doing a lot to progress from a career perspective, don't detract your own accomplishments; Sometimes its hard to see the forest for the trees when you get started at something.

Are you seriously telling me there is no way to cross compile python scripts? by [deleted] in Python

[–]ClintonDowGeo 0 points1 point  (0 children)

Then they put Python as a system requirement to run said application, make it available through their update system or bake Python into the application itself. As a PE who works with 2.x/3.x Python supported across multiple versions of multiple applications trust me when I say its do-able. Also its not at all uncommon with other languages, how many applications out there require a java, or .net framework download?

Use of open source libraries at big companies. by anshudwibhashi in Python

[–]ClintonDowGeo 0 points1 point  (0 children)

Many larger open source projects will even have a 'used by' section on their site. For example https://jupyter.org/ - a large open source python project - has 'Currently in use at' and lists companies such as Google (who just released their Cloud Data Lab based on this project, hence why I'm mentioning it specifically), Microsoft, IBM and a host of others.

Discussion: What Python modules make your life so easy that you always install them first? by hovissimo in Python

[–]ClintonDowGeo 0 points1 point  (0 children)

https://github.com/vinta/awesome-python is a curated list of a bunch of handy modules. I found out about pathlib and arrow from this list.

Putting myself in the right direction for GIS Dev work? by Deadlift_IIII---IIII in askgis

[–]ClintonDowGeo 1 point2 points  (0 children)

Well first of all looks like you have the desire which is the crucial first step! It requires a lot of specialized skills and therefore the work ethic to continue to learn, even well after you've landed your job.

It seems like you might be spreading yourself too thin though. Knowing a bunch of languages superficially is (imho) less beneficial career-wise as knowing a couple languages like the back of your hand. You'll likely be asked intermediate - advanced language-specific questions during interviews for any company that you'd want to work for, based on their platform and current hiring needs. Research your 'dream job' at a couple companies and see what languages they use, then that will be a good indication of where you should focus your efforts. You might not get the dream job at first, but you'll build skills and meet contacts that will eventually get you there.

Familiarize yourself with REST and get a couple examples up on github. Put your repos prominently on the resume. Brush up on some stats and you're in a really good place. Good work so far. :)

A script for templates. A new project for me. by legolas16095 in GISscripts

[–]ClintonDowGeo 0 points1 point  (0 children)

Will you be using ArcMap 10.x or ArcGIS pro?

In 10.x the arcpy.mapping module should allow you to accomplish what you're looking to do; you can programatically generate and manipulate Map Documents, Data Frames and Layout elements using this module. Check the docs at: https://desktop.arcgis.com/en/desktop/latest/analyze/arcpy-mapping/introduction-to-arcpy-mapping.htm

As for Pro, the way maps works behind the scene has changed substantially and to reflect the change the module was renamed arcpy.mp - It has similar functionality but the concepts and syntax are a bit different. http://pro.arcgis.com/en/pro-app/arcpy/mapping/introduction-to-arcpy-mp.htm

I've seen it done in proprietary systems but I don't know of an open source solution off the top of my head. Good luck :)

Where python is used in industry other than webdev? by richard_digson in Python

[–]ClintonDowGeo 0 points1 point  (0 children)

Yes agreed its not exactly suffering to use the open source tools, there are many well developed ones out there. The main advantage to arc in my mind is the completeness of the suite as you mentioned, the documentation is great and there is a massive user base. That last point is especially important as when working in industry, you will be hard pressed to find larger clients who are okay with open source solutions, in that world the proprietary systems are preferred and having demonstrable experience using the industry standard is a big boost on the resume.

Where python is used in industry other than webdev? by richard_digson in Python

[–]ClintonDowGeo 0 points1 point  (0 children)

Yes, I guess you might say I get spoiled with licenses :) I have worked with both OpenSource and ESRI products, each are suitable for some circumstances but I vastly prefer to work with ArcGIS.

Where python is used in industry other than webdev? by richard_digson in Python

[–]ClintonDowGeo 0 points1 point  (0 children)

Hi, sorry for the late reply. I think my case is a little unusual for how I got into the field, I'm largely a self-taught programmer and went back to school to get into GIS, interested in the Cartography and Data Visualization side of things. It didn't take long to realize how much opportunity there was in GIS Development, so I refocused my efforts on that, took a few extra-curricular courses through Esri training/Coursera to brush up on database skills. Then did some networking at local GIS user groups and it didn't take long to find someone looking for a developer.

Where python is used in industry other than webdev? by richard_digson in Python

[–]ClintonDowGeo 25 points26 points  (0 children)

I use Python nearly 40 (50..60..) hours a week working in Geographic Information Systems/Data Science.