Salta el contingut
 

Preparació de l'entorn

Autor: Joan Puigcerver Ibáñez

Correu electrònic: j.puigcerveribanez@edu.gva.es

Llicència: CC BY-NC-SA 4.0

(Reconeixement - NoComercial - CompartirIgual) 🅭

Objectius

L'objectiu d'aquest material és configurar l'entorn de desenvolupament en ordinadors amb sistema operatiu Windows o distribucions de Linux basades en Debian, com Ubuntu o Linux Mint.

En aquest manual s'instal·larà i es configuraran les següent eines:

  • Python 3: Llenguatge de programació.
  • PyCharm: Entorn de desenvolupament integrat.

Info

Podeu utilitzar l'entorn de desenvolupament que vulgueu, però heu de saber configurar-lo per a Python 3.

El professorat no donarà suport a altres entorns de desenvolupament.

Python 3

Python 3 està disponible a https://www.python.org/ per a Windows, macOS i Linux.

A Linux, Python 3 ja ve instal·lat per defecte a pràcticament totes les distribucions.

PyCharm

PyCharm està disponible a https://www.jetbrains.com/pycharm/ per a Windows, macOS i Linux.

Cal descarregar la versió Community, que és de codi obert i gratuïta.

Creació de projecte

Per a començar a treballar, heu de crear un projecte a PyCharm.

Jo he triat les següents opcions:

  • Project type: Pure Python
  • Nome del projecte: CognomNom-SAA
  • Location: Per defecte.
  • Interpreter: Python 3.12
  • Interpreter type: Virtualenv
  • Create Git repository: Sí

Important

S'utilitzara un entorn virtual per a aïllar les dependències del projecte respecte de les del sistema.

Consell

Vos recomane crear un repositori de Git per gestionar el vostre codi.

Creació de projecte

Instal·lació de dependències

En aquest mòdul farem servir les llibreries especificades al fitxer requirements.txt, que hauràs de situar a l'arrel del projecte.

requirements.txt

Consell

En el meu cas, s'ha situat a PuigcerverJoan-SAA/requirements.txt.

Per instal·lar les dependències, obriu un terminal a PyCharm i executeu la següent comanda:

(.venv) jpuigcerver@fedora:~/PuigcerverJoan-SAA (main) $ pip install -r requirements.txt

Fixa't

Fixeu-vos que el entorn virtual està activat: (.venv).

Si no ho està, el podeu activar amb la següent comanda:

jpuigcerver@fedora:~/PuigcerverJoan-SAA (main) $ source .venv/bin/activate

Execució de codi

En Python, el codi està estructurat en mòduls, que són directoris amb un fitxer __init__.py. Podeu crear un mòdul amb Botó dret > New > Python Package.

  • Crea el mòdul ud2.

Després, còpia l'exemple exemple_python.py a aquest mòdul.

#!/usr/bin/env python

# Python Basics Example Script

# 1. Variables and Data Types
# ----------------------------

# Integer
age = 25
# Float
height = 5.9
# String
name = "Alice"
# Boolean
is_student = True

print(f"My name is {name}, I am {age} years old, {height} feet tall, and it is {is_student} that I am a student.")

# 2. Conditional Statements (if-elif-else)
# ----------------------------------------

if age < 18:
    print("You are a minor.")
elif age < 65:
    print("You are an adult.")
else:
    print("You are a senior.")

# 3. Loops (for, while)
# ----------------------

# for loop example
print("\nFor loop example:")
for i in range(5):  # Will loop from 0 to 4
    print(f"Iteration {i}")

# while loop example
print("\nWhile loop example:")
count = 0
while count < 3:
    print(f"Count is {count}")
    count += 1

# 4. Functions
# -------------

def greet(name, is_morning=True):
    """Function to greet a person based on the time of day."""
    if is_morning:
        return f"Good morning, {name}!"
    else:
        return f"Hello, {name}!"

print("\nFunction example:")
print(greet("Alice"))
print(greet("Bob", False))

# 5. Lists and Dictionaries
# ---------------------------

# List of numbers
numbers = [10, 20, 30, 40, 50]

# Dictionary representing a person
person = {
    "name": "John",
    "age": 30,
    "is_student": False
}

# Accessing list and dictionary elements
print("\nList and Dictionary example:")
print(f"The first number in the list is {numbers[0]}")
print(f"The person's name is {person['name']} and they are {person['age']} years old.")

# 6. Classes and Objects
# -----------------------

class Dog:
    """A simple class representing a dog."""

    def __init__(self, name, breed):
        self.name = name
        self.breed = breed

    def bark(self):
        return f"{self.name} says Woof!"

# Creating an instance (object) of the Dog class
my_dog = Dog("Buddy", "Golden Retriever")

print("\nClass and Object example:")
print(f"My dog's name is {my_dog.name} and he is a {my_dog.breed}.")
print(my_dog.bark())

Tracta d'executar el codi amb Run. Comprova la consola per veure si s'ha executat correctament.

Comentaris