Thank you for your interest in contributing to the Python Learning Guide! This repository aims to provide a comprehensive, accessible, and high-quality resource for learning Python programming. We welcome contributions from developers of all skill levels.
- Fork the repository to your GitHub account
- Clone your fork locally
- Create a new branch for your contribution
git clone https://github.com/santoshvandari/Python-Developer-Roadmap.git
cd Python-Developer-Roadmap
git checkout -b feature/your-contribution-name- Follow our Content Standards
- Add or update relevant content
- Ensure your changes follow the standard format
- Push your changes to your fork
- Create a pull request with a clear description
- Reference any related issues
We welcome various types of contributions:
- New Sections: Add new topics or expand existing ones
- Code Examples: Provide practical, working code examples
- Exercises: Create practice problems and solutions
- Projects: Develop comprehensive project tutorials
- Code Errors: Fix syntax errors or logical mistakes in examples
- Typos: Correct spelling and grammar mistakes
- Broken Links: Update outdated or broken links
- Formatting Issues: Fix markdown formatting problems
- Clarity: Improve explanations and make content more accessible
- Structure: Enhance organization and navigation
- Cross-references: Add helpful links between related topics
- Translations: Help translate content to other languages
- Performance: Optimize code examples for better performance
- Best Practices: Update content to reflect current best practices
- Accessibility: Improve accessibility for all learners
- Mobile Compatibility: Ensure content works well on mobile devices
- Suggestions: Share ideas and feedback
- Content should be educational and beginner-friendly
- Explain concepts clearly with practical examples
- Build upon previous concepts progressively
- Include real-world applications when possible
- All code examples must be tested and working
- Use Python 3.8+ syntax and features
- Follow PEP 8 style guidelines
- Include expected output for code examples
- Follow the existing structure and formatting
- Use consistent terminology throughout
- Maintain the same tone and style as existing content
- Follow the established naming conventions
# Good: Clear, commented, and educational
def calculate_compound_interest(principal, rate, time, compound_frequency=1):
"""
Calculate compound interest.
Args:
principal (float): Initial amount
rate (float): Annual interest rate (as decimal)
time (float): Time period in years
compound_frequency (int): Compounding frequency per year
Returns:
float: Final amount after compound interest
"""
amount = principal * (1 + rate / compound_frequency) ** (compound_frequency * time)
return round(amount, 2)
# Example usage
initial_amount = 1000
interest_rate = 0.05 # 5%
years = 2
final_amount = calculate_compound_interest(initial_amount, interest_rate, years, 4)
print(f"${initial_amount} becomes ${final_amount} after {years} years")
# Output: $1000 becomes $1104.89 after 2 years- Include docstrings for functions and classes
- Add comments explaining complex logic
- Show expected output for examples
- Handle edge cases and errors appropriately
- Use meaningful variable names
- Start with simple examples
- Build complexity gradually
- Reference previous concepts
- Provide variations and alternatives
- Each major topic should have its own file in the
Roadmap/directory - Use numbered prefixes for sequential topics (e.g.,
01-getting-started.md) - Include navigation links to related topics
- Use lowercase with hyphens:
advanced-features.md - Be descriptive but concise
- Follow the existing naming pattern
- Clear and Concise: Use simple, direct language
- Beginner-Friendly: Assume no prior programming knowledge for beginner sections
- Practical: Focus on practical applications and real-world examples
- Encouraging: Maintain a positive, supportive tone
- Use proper Markdown syntax
- Include code syntax highlighting
- Use consistent heading levels
- Add table of contents for longer sections
- Include navigation links between related topics
Your contributions help make Python learning accessible to everyone. Whether you're fixing a typo, adding a new section, or improving existing content, every contribution matters and is appreciated.
Happy contributing!