Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 18 additions & 14 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,25 @@
# CONTRIBUTING
<p align="center"><img src="https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/files/python-logo-only.svg"></p>
<h1 align="center">Contributing Guidelines</h1>

### Contributing Guidelines!
Thank you for considering contributing to our project! Before making any contributions, please take a moment to review the following guidelines to ensure a smooth and efficient process. Your adherence to these guidelines reflects your courtesy towards open-source contributions.

Read this space to know the contributing guidelines. Please follow the guidelines for smooth contribution. Following the guidelines reflect your courtesy towards the open source contribution. The issues, potential changes and pull requests will be addressed in compliance with the quality of need and urgency.
## Expected Contributions
We welcome contributions in any form, whether it's improving documentation, reporting bugs, suggesting enhancements, or submitting code changes. Your contributions help enhance the overall quality of the project.

### Expected Contribution:
In case you are willing to contribute in any form, You're most Welcome! Improvement in documentation, reporting bugs and mistakes is expected in general.
## Getting Started

# Getting started
### Ground Rules
Before making any changes, please follow these ground rules:
- Create an issue to propose changes before opening a pull request.
- Communication outside the repository channels is discouraged and will not be entertained.

## Ground Rules
Issues should be created to submit a change to the repository before opening a pull request. Communication in any form except the repository channels is not expected and will not be entertained.
## Your First Contribution
If you're new to contributing, don't worry! Here's how you can get started:
1. **Additions**: If you have new concepts, codebase improvements, or any relevant additions, open an issue to discuss them before submitting a pull request.
2. **Reporting Mistakes**: Feel free to report any mistakes in the existing content or obsolete code by opening an issue.

## Know More about Open Source Contributions
If you're new to open-source contributions or need guidance, consider checking out these helpful tutorials:
- [Make A Pull Request](http://makeapullrequest.com/)
- [First Timers Only](http://www.firsttimersonly.com/)

# Your First Contribution
In case you have additions to the concepts, codebase, or anything relevant, You're most welcome to open an issue, followed by opening a pull request. You are again welcome to report a mistake in the existing content, and code obselete issues.


### Know More about open Source Contributions:
Here are a couple of friendly tutorials you can go through: http://makeapullrequest.com/ and http://www.firsttimersonly.com/
29 changes: 4 additions & 25 deletions Course Introduction/Introduction.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,9 @@
# Learning Object Oriented Python
<p align="center"><img src="https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/files/python-logo-only.svg"></p>
<h1 align="center">Learn Object Oriented Python</h1>

This repository walks you through the Object Oriented Programming concepts in python. Illustrates real-world examples, working codes and how to go about finding a coding solution.

The course plan is as shown in the repository. There are four lessons which govern the flow of the course. It is highly recommended to refer to online resources for a detailed study about the mentioned topics which have been briefly covered.
The course plan is as shown in the repository. There are 6 lessons which govern the flow of the course. It is highly recommended to refer to online resources for a detailed study about the mentioned topics which have been briefly covered.

For the Tasks study in depth about the problem statements, conduct online research about various available modules and then start coding. Coding solutions have been provided in the resources folder.
For the Tasks study in depth about the problem statements, conduct online research about various available modules and then start coding. Coding solutions have been provided in the [resources folder](https://github.com/samforstot/OPython-Init/tree/readme-update/Resources/Code%20Solutions).


## Course Breakdown:



* Lesson 1: Introduction To Python
* Download
* Installation
* About Python
* Lesson 2: Using Functions
* About Functions
* Python Standard Library
* Inbuilt Functions
* Task 1
* Task 2
* Lesson 3: Introduction To OOP
* About
* Lesson 4: OOP Implementation
* Task 1
* Task 2
* Lesson 5: Web Sraping
* Web Scraping - Introduction
54 changes: 23 additions & 31 deletions Lesson 1 - Introduction to Python/Introduction.md
Original file line number Diff line number Diff line change
@@ -1,42 +1,34 @@
# Python: An Introduction.
<p align="center"><img src="https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/files/python-logo-only.svg"></p>
<h1 align="center">Python: An Introduction</h1>

Designed by Guido van Rossum, Python is a popular open source programming language released in 1991. It is a general-purpose, high-level programming language maintained by the Python Software Foundation.
Crafted by Guido van Rossum, Python stands as a premier open-source programming language, emerging onto the scene in 1991. It serves as a versatile, high-level programming tool upheld by the Python Software Foundation.

Before you head forward, it is important to note that there are two major Python versions- Python 2 and Python 3. Both the versions have significant differences.
Before delving deeper, it's essential to recognize Python's dual iterations - Python 2 and Python 3, each bearing notable distinctions.

## Why Embrace Python:

## Why Learn Python:
- **Ease of Mastery**: Python offers a gentle learning curve.
- **Freedom and Openness**: It comes as both free and open-source.
- **High-Level Design**: Python's syntax prioritizes readability and simplicity.
- **Interpretation at its Core**: As an interpreted language, Python facilitates swift development cycles.
- **Dynamic Typing**: Its dynamic typing eliminates the need for explicit data type declaration.
- **Object-Oriented Architecture**: Python promotes the object-oriented programming paradigm.
- **Thriving Community**: Benefit from a vibrant community offering support and resources.

## Download
You can download python from [here](https://www.python.org/downloads/)

For a detailed tutorial on installation refer to [this](https://realpython.com/installing-python/) (there are also tons of references all over the internet!)

* Simple to Learn
* Free & open source
* High-level
* Emphasizes code readability
* Interpreted
* Dynamically typed language(No need to mention data type based on value assigned, it takes data type)
* Object-oriented language
* Large Community Support
* Portable across Operating systems
* And many other reasons you will discover yourself while learning it.
## Python Capabilities

(Source: [W3Schools](https://www.w3schools.com/python/python_intro.asp))

- Web Development: Python powers server-side web applications.
- Desktop Applications: Build GUI-based desktop applications with Python.
- Workflow Automation: Integrate Python to streamline workflows.
- Database Management: Connect Python to databases and manipulate files.
- Data Handling: Python excels at managing big data and complex math operations.
- Software Development: Use Python for rapid prototyping or production-ready software.

## Downloading and Installing Python:

You can download python from here: [https://www.python.org/downloads/](https://www.python.org/downloads/)

For a detailed tutorial on installation refer to this or any other site on the Internet: [https://realpython.com/installing-python/](https://realpython.com/installing-python/)


## Python Capabilities:

(Source: [https://www.w3schools.com/python/python_intro.asp](https://www.w3schools.com/python/python_intro.asp))

* Python can be used on a server to create web applications.
* Python can be used GUI based desktop applications.
* Python can be used alongside software to create workflows.
* Python can connect to database systems. It can also read and modify files.
* Python can be used to handle big data and perform complex mathematics.
* Python can be used for rapid prototyping, or for production-ready software development.

3 changes: 2 additions & 1 deletion Lesson 2 - Using Functions/functions.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# Functions in Python
<p align="center"><img src="https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/files/python-logo-only.svg"></p>
<h1 align="center">Functions In Python</h1>


## Brief Introduction:
Expand Down
11 changes: 5 additions & 6 deletions Lesson 3 - Introduction to OOP Concepts/oops.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@


# Object-Oriented Basics Using Python
<p align="center"><img src="https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/files/python-logo-only.svg"></p>
<h1 align="center">Object Oriented Basics</h1>

(Source: [https://www.tutorialspoint.com/python/python_classes_objects.htm](https://www.tutorialspoint.com/python/python_classes_objects.htm))

Expand Down Expand Up @@ -68,17 +67,17 @@ class Parrot:
self.name = name
self.age = age
```
# instantiate the Parrot class
# Instantiate the Parrot Class
~~~
blu = Parrot("Blu", 10)
woo = Parrot("Woo", 15)
~~~
# access the class attributes
# Access the Class Attributes
~~~
print("Blu is a {}".format(blu.__class__.species))
print("Woo is also a {}".format(woo.__class__.species))
~~~
# access the instance attributes
# Access the Instance Attributes
~~~
print("{} is {} years old".format( blu.name, blu.age))
print("{} is {} years old".format( woo.name, woo.age))
Expand Down
3 changes: 2 additions & 1 deletion Lesson 4 - OOP Implementation/oopimplementation.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# OOP Implementation Using Python
<p align="center"><img src="https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/files/python-logo-only.svg"></p>
<h1 align="center">Object Oriented Implementation</h1>


## TASK 1: Refer the Internet for turtle module of Python. Study about Class implementation from given repository resources and write a python script for making an animation of multiple squares deviating at an angle to form a circle.
Expand Down
3 changes: 2 additions & 1 deletion Lesson 5 - Web Sraping/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
**Web Scraping**
<p align="center"><img src="https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/files/python-logo-only.svg"></p>
<h1 align="center">Webscraping</h1>

Web scraping is a technique to automatically access and extract large amounts of information from a website, which can save a huge amount of time and effort. In this article, we will go through an easy example of how to automate downloading hundreds of files from the New York MTA. This is a great exercise for web scraping beginners who are looking to understand how to web scrape. Web scraping can be slightly intimidating, so this tutorial will break down the process of how to go about the process.

Expand Down
40 changes: 37 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,38 @@
# Learning-Object-Oriented-Python
![](https://www.codetriage.com/josharsh/learning-object-oriented-python/badges/users.svg)
This repository walks you through the Object Oriented Programming in python. Illustrates real world examples, working codes and going about finding a coding solution.
<p align="center"><img src="https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/files/python-logo-only.svg"></p>
<h1 align="center">Learn Object Oriented Python</h1>

<p align="right"><img src="https://www.codetriage.com/josharsh/learning-object-oriented-python/badges/users.svg"></p>

<p align="center">Welcome to the repository that walks you through Object Oriented Learning in Python! This open source project is meant to help illustrate real world examples, demonstrate working codes, and findings coding solutions with a new perspective.</p>

## Overview
Dive into the depths of Python's Object-Oriented Programming (OOP) paradigm with our comprehensive lessons. Whether you're a beginner or an experienced developer, you'll find something new to learn and explore. Gain insights into the language's history while mastering essential skills!

## Current Track
[Get Started](https://github.com/josharsh/OPython-Init/tree/master/Course%20Introduction)

[Lesson 1 - Introduction To Python](https://github.com/josharsh/OPython-Init/tree/master/Lesson%201%20-%20Introduction%20to%20Python)

[Lesson 2 - Using Functions](https://github.com/josharsh/OPython-Init/tree/master/Lesson%202%20-%20Using%20Functions)

[Lesson 3 - Introduction to OOP Concepts](https://github.com/josharsh/OPython-Init/tree/master/Lesson%203%20-%20Introduction%20to%20OOP%20Concepts)

[Lesson 4 - OOP Implementation](https://github.com/josharsh/OPython-Init/tree/master/Lesson%204%20-%20OOP%20Implementation)

[Lesson 5 - Web Scraping](https://github.com/josharsh/OPython-Init/tree/master/Lesson%205%20-%20Web%20Sraping)

[Lesson 6 - String Manipulation](https://github.com/josharsh/OPython-Init/tree/master/Lesson%206%20-%20String%20Manipulation)

## How to Clone
To clone this repository to your local machine, run the following command in your terminal or command prompt while in a preferred directory:

`git clone https://github.com/josharsh/OPython-Init.git`

Navigate to any of the lessons and work within each of the folders within this repository!

## Contribute!
Embracing the spirit of strangers helping strangers learn, we invite you to contribute to this open-source project. Your contributions will help us educate others and make learning a collaborative journey for everyone. [Click here to learn how you can get involved!](https://github.com/josharsh/OPython-Init/blob/master/CONTRIBUTING.md)