Curso python udemy

  • Numpy: manejo de matrices
  • Web Mapping: creación mapas interactivos HTML
  • Manejo Webcam
  • Bokeh: libreria representación gráficos → Python Bokeh
  • Pandas: libreria de analisis de datos → Python Pandas
  • Flask: web development
  • openCV: image processing library
  • Mobile app: apk
  • Web Scraping
  • pyinstaller: creación de ejecutables
  • sudo apt install libsqlite3-dev
  • pip3 install jupyter notebook
  • jupyter notebook
  • Integers are used to represent whole numbers:
    rank = 10
    eggs = 12
    people = 3
  • Floats represent decimal numbers:
    temperature = 10.2
    rainfall = 5.98
    elevation = 1031.88
  • Strings represent text:
    message = "Welcome to our online shop!"
    name = "John"
    serial = "R001991981SW"
  • Lists represent arrays of values that may change during the course of the program:
    members = ["Sim Soony", "Marry Roundknee", "Jack Corridor"]
    pixel_values = [252, 251, 251, 253, 250, 248, 247]
  • Dictionaries represent pairs of keys and values:
    phone_numbers = {"John Smith": "+37682929928", "Marry Simpons": "+423998200919"}
    volcano_elevations = {"Glacier Peak": 3213.9, "Rainer": 4392.1}
  • Keys of a dictionary can be extracted with:
    phone_numbers.keys()
  • Values of a dictionary can be extracted with:
    phone_numbers.values()
  • Tuples represent arrays of values that are not to be changed during the course of the program:
    vowels = ('a', 'e', 'i', 'o', 'u')
    one_digits = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
  • You can get a list of attributes of a data type has using:
    dir(str)
    dir(list)
    dir(dict)
  • You can get a list of Python builtin functions using:
    dir(__builtins__)
  • You can get the documentation of a Python data type using:
    help(str)
    help(str.replace)
    help(dict.values)

Sometimes you might need to convert between different data types in Python for one reason or another. That is very easy to do:

  • From tuple to list:
    cool_tuple = (1, 2, 3)
    cool_list = list(cool_tuple)
    cool_list # [1, 2, 3]
  • From list to tuple:
    cool_list = [1, 2, 3]
    cool_tuple = tuple(cool_list)
    cool_tuple # (1, 2, 3)
  • From string to list:
    cool_string = "Hello"
    cool_list = list(cool_string)
    cool_list # ['H', 'e', 'l', 'l', 'o']
  • From list to string:
    cool_list = ['H', 'e', 'l', 'l', 'o']
    cool_string = str.join("", cool_list)
    cool_string # 'Hello'

As can be seen above, converting a list into a string is more complex. Here str() is not sufficient. We need str.join(). Try running the code above again, but this time using str.join(«—», cool_list) in the second line. You will understand how str.join() works.

  • Lists, strings, and tuples have a positive index system:
    ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
       0      1      2      3      4      5      6
  • And they have a negative index system as well:
    ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
      -7     -6     -5     -4     -3     -2     -1
  • In a list, the 2nd, 3rd, and 4th items can be accessed with:
    days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
    days[1:4]
    Output: ['Tue', 'Wed', 'Thu']
  • First three items of a list:
    days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
    days[:3]
    Output:['Mon', 'Tue', 'Wed'] 
  • Last three items of a list:
    days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
    days[-3:]
    Output: ['Fri', 'Sat', 'Sun']
  • Everything but the last:
    days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
    days[:-1] 
    Output: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'] 
  • Everything but the last two:
    days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
    days[:-2] 
    Output: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'] 
  • A dictionary value can be accessed using its corresponding dictionary key:
    phone_numbers = {"John":"+37682929928","Marry":"+423998200919"}
    phone_numbers["Marry"]
    Output: '+423998200919'
  • Define functions:
    def cube_volume(a):
        return a * a * a
  • Write if-else conditionals:
    message = "hello there"
     
    if "hello" in message:
        print("hi")
    else:
        print("I don't understand")
  • Write if-elif-else conditionals:
    message = "hello there"
     
    if "hello" in message:
        print("hi")
    elif "hi" in message:
        print("hi")
    elif "hey" in message:
        print("hi")
    else:
        print("I don't understand")
  • Use the and operator to check if both conditions are True at the same time:
    x = 1
    y = 1
     
    if x == 1 and y==1:
        print("Yes")
    else:
        print("No")
  • Use the or operator to check if at least one condition is True:
    x = 1
    y = 2
     
    if x == 1 or y==2:
        print("Yes")
    else:
        print("No")
  • Check if a value is of a particular type with isinstance:
    isinstance("abc", str)
    isinstance([1, 2, 3], list)
    # or directly:
     
    type("abc") == str
    type([1, 2, 3]) == lst

A for-loop is useful to repeatedly execute a block of code.

  • You can create a for-loop like so:
    for letter in 'abc':
        print(letter.upper())
    output
    A
    B
    C
    • As you can see, the for-loop repeatedly converted all the items of 'abc' to uppercase.
    • The name after for (e.g. letter) is just a variable name
  • You can loop over dictionary keys as follows:
    phone_numbers = {"John Smith":"+37682929928","Marry Simpons":"+423998200919"}
    for value in phone_numbers.keys():
        print(value)
    output
    John Smith
    Marry Simpsons
  • You can loop over dictionary values:
    phone_numbers = {"John Smith":"+37682929928","Marry Simpons":"+423998200919"}
    for value in phone_numbers.values():
        print(value)
    output
    +37682929928
    +423998200919
  • You can loop over dictionary items:
    phone_numbers = {"John Smith":"+37682929928","Marry Simpons":"+423998200919"}
    for key, value in phone_numbers.items():
        print(key, value)
    output
    John Smith +37682929928
    Marry Simpons +423998200919
  • We also have while-loops. The code under a while-loop will run as long as the while-loop condition is true:
    while datetime.datetime.now() < datetime.datetime(2090, 8, 20, 19, 30, 20):
        print("It's not yet 19:30:20 of 2090.8.20")
    • The loop above will print out the string inside print() over and over again until the 20th of August, 2090.

A list comprehension is an expression that creates a list by iterating over another container.

  • A basic list comprehension:
    [i*2 for i in [1, 5, 10]]
    output
    [2, 10, 20]
  • List comprehension with if condition:
    [i*2 for i in [1, -2, 10] if i>0]
    output
    [2, 20]
  • List comprehension with an if and else condition:
    [i*2 if i>0 else 0 for i in [1, -2, 10]]
    output
    [2, 0, 20]
  • Functions can have more than one parameter:
    def volume(a, b, c):
        return a * b * c
  • Functions can have default parameters (e.g. coefficient):
    def converter(feet, coefficient = 3.2808):
        meters = feet / coefficient
        return meters
     
    print(converter(10))
    # Output: 3.0480370641306997
  • Arguments can be passed as non-keyword (positional) arguments (e.g. a) or keyword arguments (e.g. b=2 and c=10):
    def volume(a, b, c):
        return a * b * c
     
    print(volume(1, b=2, c=10))
  • An *args parameter allows the function to be called with an arbitrary number of non-keyword arguments:
    def find_max(*args):
        return max(args)
    print(find_max(3, 99, 1001, 2, 8))
    # Output: 1001
  • A **kwargs parameter allows the function to be called with an arbitrary number of keyword arguments:
    def find_winner(**kwargs):
        return max(kwargs, key = kwargs.get)
     
    print(find_winner(Andy = 17, Marry = 19, Sim = 45, Kae = 34))
    # Output: Sim
  • Here's a summary of function elements:
  • You can read an existing file with Python:
    with open("file.txt") as file:
        content = file.read()
  • You can create a new file with Python and write some text on it:
    with open("file.txt", "w") as file:
        content = file.write("Sample text")
  • You can append text to an existing file without overwriting it:
    with open("file.txt", "a") as file:
        content = file.write("More sample text")
  • You can both append and read a file with:
    with open("file.txt", "a+") as file:
        content = file.write("Even more sample text")
        file.seek(0)
        content = file.read()
  • Builtin objects are all objects that are written inside the Python interpreter in C language.
  • Builtin modules contain builtins objects.
  • Some builtin objects are not immediately available in the global namespace. They are parts of a builtin module. To use those objects the module needs to be imported first. E.g.:
    import time
    time.sleep(5)
  • A list of all builtin modules can be printed out with:
    import sys
    sys.builtin_module_names
  • Standard libraries is a jargon that includes both builtin modules written in C and also modules written in Python.
  • Standard libraries written in Python reside in the Python installation directory as .py files. You can find their directory path with sys.prefix.
  • Packages are a collection of .py modules.
  • Third-party libraries are packages or modules written by third-party persons (not the Python core development team).
  • Third-party libraries can be installed from the terminal/command line:
    • Windows:
      pip install pandas # or use 
      python -m pip install pandas # if that doesn't work.
    • Mac and Linux:
      pip3 install pandas # or use 
      python3 -m pip install pandas # if that doesn't work.
pip install Flask
script1.py
from flask import Flask, render_template
 
app=Flask(__name__)
 
@app.route("/")
def home():
    return render_template("home.html")
 
@app.route("/about")
def about():
    return render_template("about.html")
 
if __name__=="__main__":
    app.run(debug=True) 
templates/menu.html
<!DOCTYPE html>
<html>
    <head>
        <title>Flask app </title>
        <link rel="stylesheet" href="{{ url_for('static', filename='css/main.css') }}">
    </head>
    <body>
        <header>
            <div class="container">
                <h1 class="logo">Python Flask test page</h1>
                <ul class="menu">
                    <li><a href="{{ url_for('home') }}">HOME</a></li>
                    <li><a href="{{ url_for('about') }}">ABOUT</a></li>
                </u1>
            </div>
        </header>
        <div class="container">
            {%block content%}
            {%endblock%}
        </div>
    </body>
</html>
templates/home.html
{%extends "menu.html"%}
{%block content%}
    <h2>HOME PAGE</h1>
{%endblock%}
templates/about.html
{%extends "menu.html"%}
{%block content%}
    <h2>ABOUT PAGE</h1>
{%endblock%}
static/css/main.css
body {
  margin: 0;
  padding: 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #060;
}
 
/*
 * Formatting the header area
 */
 
header {
  background-color: #DFB887;
  height: 35px;
  width: 100%;
  opacity: .9;
  margin-bottom: 10px;
}
 
header h1.logo {
  margin: 0;
  font-size: 1.7em;
  color: #fff;
  text-transform: uppercase;
  float: left;
}
 
header h1.logo:hover {
  color: #fff;
  text-decoration: none;
}
 
/*
 * Center the body content
 */
 
.container {
  width: 1200px;
  margin: 0 auto;
}
 
div.home {
  padding: 10px 0 30px 0;
  background-color: #E6E6FA;
  -webkit-border-radius: 6px;
     -moz-border-radius: 6px;
          border-radius: 6px;
}
 
div.about {
  padding: 10px 0 30px 0;
  background-color: #E6E6FA;
  -webkit-border-radius: 6px;
     -moz-border-radius: 6px;
          border-radius: 6px;
}
 
h2 {
  font-size: 3em;
  margin-top: 40px;
  text-align: center;
  letter-spacing: -2px;
}
 
h3 {
  font-size: 1.7em;
  font-weight: 100;
  margin-top: 30px;
  text-align: center;
  letter-spacing: -1px;
  color: #999;
}
 
.menu {
  float: right;
  margin-top: 8px;
}
 
.menu li {
  display: inline;
}
 
.menu li + li {
  margin-left: 35px;
}
 
.menu li a {
  color: #444;
  text-decoration: none;
}
  • info/cursos/udemy/python-mega-course.txt
  • Darrera modificació: 18/10/2024 04:12
  • per mate