Giter Club home page Giter Club logo

learn-python3's Introduction

logo

Learn Python 3

Introduction

This repository contains a collection of materials for teaching/learning Python 3 (3.10+).

Requirements

  • Have Python 3.10 or newer installed. You can check the version by typing python3 --version in your command line. You can download the latest Python version from here.
  • Have Jupyter Notebook installed. pip install jupyter is sufficient in most cases.

If you can not access Python and/or Jupyter Notebook on your machine, you can still follow the web based materials. However, you should be able to use Jupyter Notebook in order to complete the exercises.

Usage (locally)

  1. Clone or download this repository.
  2. Run jupyter notebook command in your command line in the repository directory.
  3. Jupyter Notebook session will open in the browser and you can start navigating through the materials.

Usage (Binder in the cloud)

You can also just use Binder: By clicking of this Binder badge, the project is opened in a Jupyter instance in the cloud and you can then navigate to the folders containing the notebooks and start them each and interactively explore them!

Contributing

See contributing guide.

Beginner

  1. Strings [notebook] [exercise]
  2. Numbers [notebook] [exercise]
  3. Conditionals [notebook] [exercise]
  4. Lists [notebook] [exercise]
  5. Dictionaries [notebook] [exercise]
  6. For loops [notebook] [exercise]
  7. Functions [notebook] [exercise]
  8. Testing with pytest - part 1 [notebook] [exercise]
  9. Recap exercise 1 [exercise]
  10. File I\O [notebook] [exercise]
  11. Classes [notebook] [exercise]
  12. Exceptions [notebook] [exercise]
  13. Modules and packages [notebook]
  14. Debugging [notebook] [exercise]
  15. Goodies of the Standard Library - part 1 [notebook] [exercise]
  16. Testing with pytest - part 2 [notebook] [exercise]
  17. Virtual environment [notebook]
  18. Project structure [notebook]
  19. Recap exercise 2 [exercise]

Intermediate

Idiomatic Python

Python is a powerful language which contains many features not presented in most other programming languages. Idiomatic section will cover some of these Pythonic features in detail. These materials are especially useful for people with background in other programming languages.

  1. Idiomatic loops [notebook]
  2. Idiomatic dictionaries [notebook]
  3. Idiomatic Python - miscellaneous part 1 [notebook]
  4. Idiomatic Python - miscellaneous part 2 [notebook]
  5. Idiomatic Python exercise [exercise]

Step up your pytest game

  1. Efficient use of fixtures [notebook]

Best practices

A list of best development practices for Python projects. Most of the practices listed here are also applicable for other languages, however the presented tooling focuses mainly on Python.

  1. Best practices [notebook]

General topics

  1. Goodies of the Standard Library - part 2 [notebook] [exercise]

Credits

learn-python3's People

Contributors

cclauss avatar elbosso avatar jasrys avatar jerry-git avatar lkylych avatar manoharganta256 avatar vivek28111992 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

learn-python3's Issues

I don't understand this code

class SpecialString:
def init(self, cont):
self.cont = cont

def __truediv__(self, other):
	line = "=" * len(other.cont)
	return "\n".join([self.cont, line, other.cont])

spam = SpecialString("spam")
hello = SpecialString("Hello world!")
print(spam / hello)

Add the logical ordering of Python Notesbooks

When I cloned the repository on my local system, I am not able to follow the logical order of the notebooks. In other words on the Github Repository a logical order is specified against each topic as below:

  1. Strings [notebook] [exercise]
  2. Numbers [notebook] [exercise]
  3. Conditionals [notebook] [exercise]
  4. Lists [notebook] [exercise]
  5. Dictionaries [notebook] [exercise]
  6. For loops [notebook] [exercise]
  7. Functions [notebook] [exercise]
  8. Testing with pytest - part 1 [notebook] [exercise]
  9. Recap exercise 1 [exercise]
  10. File I\O [notebook] [exercise]
  11. Classes [notebook] [exercise]
  12. Exceptions [notebook] [exercise]
  13. Modules and packages [notebook]
  14. Debugging [notebook] [exercise]
  15. Goodies of the Standard Library - part 1 [notebook] [exercise]
  16. Testing with pytest - part 2 [notebook] [exercise]
  17. Virtual environment [notebook]
  18. Project structure [notebook]
  19. Recap exercise 2 [exercise]

But in the Cloned repository the files are in the albhatic order of the file name. There is no way to know in which order one should study. I think it will be better that we should put some index for these notebooks for easy navigation.

Also the same situation for HTML pages. There should be some logical order for those.

Thanks

.

.

My question: environments!

virtualenv, pip, easy_install, ??? What is the idiomatic package manager development environment that is best from a enterprise developer perspective! I would contribute an answer if I knew it.

Adding popitem to dictionaries notebook

I suggest you add this popitem also in dictionaries

my_dict = dict(food='ham', drink='beer', sport='football')
print('dict before pops: {}'.format(my_dict))

result = my_dict.popitem()
print('Result: {}'.format(result))
print('dict after popping items: {}'.format(my_dict))

ipytest.magic seems deprecated

When doing the "testing with pytest part 1" notebook, there is an error, saying that a attribute called ipytest.magic doesnt exist. When having a look at the page for ipytest, i noticed that the usage seems to have changed. https://pypi.org/project/ipytest/
Did i understand that correctly? I installed ipytest for the first time today.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.