map()
: Utiliza-se para aplicar uma função a um ou mais iteráveis, sequencialmente
def difference(x, y):
return x - y
list1 = [8,5,3]
list2 = [3,4,1]
list(map(difference, list1, list2))
[5, 1, 2]
filter()
: Utiliza-se para filtrar os elementos de um iterável, com recurso a uma função
list3 = [1,2,3,4,5]
list(filter(lambda x: x%2==0, list3))
[2, 4]
reduce()
: Utiliza-se para aplicar uma função cumulativa a um iterável
from functools import reduce
def sum(x,y):
return x+y
list4 = [6,3,45,74]
reduce(sum, list4, 2) #o terceiro argumento é opcional
130
import os
os.getcwd()
: Utiliza-se para saber qual é a diretoria atual
os.getcwd()
'/home/beatriz/python-introduction/notebooks'
os.listdir()
: Utiliza-se para listar uma diretoria
os.listdir()
['class5.ipynb', 'class1.ipynb', 'class6.ipynb', 'class3.ipynb', '.ipynb_checkpoints', 'example.txt', 'jupyter.png', 'vscode.png', 'kahoot.png', 'class2.ipynb', 'python.png', 'temp.txt', 'class4.ipynb', 'numpy.png']
os.chdir()
: Utiliza-se para mudar de diretoria
os.chdir("/home/beatriz/python-introduction")
os.getcwd()
'/home/beatriz/python-introduction'
os.path.join()
: Utiliza-se para unir vários caminhos
new_dir = os.path.join("/home/beatriz/python-introduction", "notebooks")
os.chdir(new_dir)
os.getcwd()
'/home/beatriz/python-introduction/notebooks'
os.path.exists()
: Utiliza-se para verificar se um ficheiro existe
os.path.exists("class4.ipynb")
True
os.mkdir()
: Utiliza-se para criar uma nova diretoria
os.mkdir("my_new_dir")
os.listdir()
['class5.ipynb', 'class1.ipynb', 'class6.ipynb', 'class3.ipynb', '.ipynb_checkpoints', 'example.txt', 'jupyter.png', 'vscode.png', 'kahoot.png', 'my_new_dir', 'class2.ipynb', 'python.png', 'temp.txt', 'class4.ipynb', 'numpy.png']
os.rename()
: Utiliza-se para trocar o nome de um ficheiro ou de uma diretoria
os.rename("my_new_dir", "my_old_dir")
os.listdir()
['class5.ipynb', 'class1.ipynb', 'class6.ipynb', 'class3.ipynb', '.ipynb_checkpoints', 'example.txt', 'jupyter.png', 'vscode.png', 'kahoot.png', 'class2.ipynb', 'python.png', 'temp.txt', 'my_old_dir', 'class4.ipynb', 'numpy.png']
os.rmdir()
: Utiliza-se para remover uma diretoria
os.rmdir("my_old_dir")
os.listdir()
['class5.ipynb', 'class1.ipynb', 'class6.ipynb', 'class3.ipynb', '.ipynb_checkpoints', 'example.txt', 'jupyter.png', 'vscode.png', 'kahoot.png', 'class2.ipynb', 'python.png', 'temp.txt', 'class4.ipynb', 'numpy.png']
os.remove()
: Utiliza-se para remover um ficheiro
os.remove("temp.txt")
os.listdir()
['class5.ipynb', 'class1.ipynb', 'class6.ipynb', 'class3.ipynb', '.ipynb_checkpoints', 'example.txt', 'jupyter.png', 'vscode.png', 'kahoot.png', 'class2.ipynb', 'python.png', 'class4.ipynb', 'numpy.png']
input()
: Permite interagir com o utilizador (a partir da versão 3.6)
"""age = input("Enter your age: ")
print(f"User is {age} years old")"""
'age = input("Enter your age: ")\nprint(f"User is {age} years old")'
open()
: Utiliza-se para abrir um ficheiro e recebe dois argumentos (caminho do ficheiro e modo)
Diferentes modos de abrir um ficheiro:
r
: Abre um ficheiro para leitura e levanta um erro caso o ficheiro não exista (modo por omissão)a
: Abre um ficheiro para acrescentamento e cria o mesmo caso este não existaw
: Abre um ficheiro para escrita e cria o mesmo caso este não existax
: Cria o ficheiro especificado e levanta um erro caso este já existar+
: Abre um ficheiro para leitura e escrita e levanta um erro caso o ficheiro não existaa+
: Abre um ficheiro para acrescentamento e leitura e cria o mesmo caso este não existaw+
: Abre um ficheiro para escrita e leitura e cria o mesmo caso este não existaf = open("example.txt", "r")
print(f.read())
f.close()
Hello world! Welcome to Python introduction course. This is class number 4. Stay focused!
with open("example.txt", "r") as f: #com o with, não precisamos de fechar o ficheiro
result = f.read()
print(result)
Hello world! Welcome to Python introduction course. This is class number 4. Stay focused!
with open("example.txt", "r") as f:
result = f.read(5)
print(result)
Hello
with open("example.txt", "r") as f:
result = f.readline()
print(result)
Hello world!
with open("example.txt", "r") as f:
result = f.readlines()
for line in result:
print(line)
Hello world! Welcome to Python introduction course. This is class number 4. Stay focused!
with open("example.txt", "a") as f:
f.write("\nMore information.")
with open("example.txt", "r") as f:
result = f.read()
print(result)
Hello world! Welcome to Python introduction course. This is class number 4. Stay focused! More information.
with open("example.txt", "w") as f:
f.write("All gone.")
with open("example.txt", "r") as f:
result = f.read()
print(result)
All gone.
with open("new_file.txt", "x") as f:
f.write("I've just created my first file!")
os.listdir()
['class5.ipynb', 'class1.ipynb', 'class6.ipynb', 'class3.ipynb', '.ipynb_checkpoints', 'example.txt', 'jupyter.png', 'vscode.png', 'kahoot.png', 'class2.ipynb', 'python.png', 'new_file.txt', 'class4.ipynb', 'numpy.png']
1) Escreva uma função que seja capaz de simular uma calculadora (para simplificar, apenas suporte as operações de soma, subtração, divisão e multiplicação entre dois números).
2) Escreva uma função que seja capaz de escrever todo o conteúdo de um ficheiro num novo ficheiro, passando à frente a linha número 5.
3) Escreva uma função que recebe o caminho de um ficheiro como input e retorna o número de palavras presentes nesse ficheiro.
4) Escreva uma função que recebe uma lista de palavras e um inteiro e retorna a lista de palavras que são maiores que esse inteiro, com recurso a funções de ordem superior.
5) Escreva uma função que recebe uma lista de números e retorna a lista dos valores absolutos desses números, com recurso a funções de ordem superior.
6) Escreva uma função que recebe uma lista de números e retorna o menor, com recurso a funções de ordem superior.
7) Escreva uma função que retorna a série harmónica de 1 até $n$-1, com recurso a funções de ordem superior.
8) Escreva uma função que retorna a soma de três listas, com recurso a funções de ordem superior.
9) Escreva uma função que aceita uma palavra e o caminho de um ficheiro como input e retorna a frequência dessa palavra nesse ficheiro.
10) Escreva uma função que recebe uma lista de números e retorna outra lista com apenas os números positivos, com recurso a funções de ordem superior.