1.1. Att Kommentera

Programmeringsteknik

(Skillnad mellan versioner)
Hoppa till: navigering, sök
Rad 1: Rad 1:
 +
__FORCETOC__
 +
{| border="0" cellspacing="0" cellpadding="0" height="30" width="100%"
{| border="0" cellspacing="0" cellpadding="0" height="30" width="100%"
| style="border-bottom:1px solid #797979" width="5px" |  
| style="border-bottom:1px solid #797979" width="5px" |  
Rad 20: Rad 22:
Kommentarer kan kanske verka överflödiga men är i själva verket mycket viktiga för att man ska kunna förstå och överblicka sina program.
Kommentarer kan kanske verka överflödiga men är i själva verket mycket viktiga för att man ska kunna förstå och överblicka sina program.
-
==Funktion, klass, metod==
 
<pre>def funktionens_namn(param1, param2):
<pre>def funktionens_namn(param1, param2):
Rad 31: Rad 32:
</pre>
</pre>
-
Exempel:
+
 
 +
===Exempel funktion===
<pre>def calculate_c_and_f(degree, choice):
<pre>def calculate_c_and_f(degree, choice):
-
"""Converts temperatures between Celsius and Fahrenheit
+
"""Converts temperatures between Celsius and Fahrenheit.
-
param degree: temperature in either C or F
+
param degree: temperature in either C or F.
-
param choice: key to convert from C to F ('F') or F to C ('C')
+
param choice: key to convert from C to F ('F') or F to C ('C').
-
returns: temperature according to param choice
+
returns: temperature according to param choice.
"""
"""
convert = {'F' : degree * 9/5 + 32,
convert = {'F' : degree * 9/5 + 32,
Rad 45: Rad 47:
return convert[choice]
return convert[choice]
</pre>
</pre>
 +
<pre>
<pre>
Rad 62: Rad 65:
return (asked_date - today).days
return (asked_date - today).days
 +
</pre>
 +
 +
 +
===Exempel klass med metod===
 +
 +
<pre>import random
 +
 +
class NonPlayerCharacter():
 +
"""Template for an ordinary villager.
 +
 +
"""
 +
def __init__(self, param1, param2, param3 = "cap):
 +
"""Example of docstring on the __init__ method.
 +
 +
Args:
 +
param1 (dict of list of str): A set of standard lines to randomize.
 +
param2 (int): Total health as in life points.
 +
param3 (str): Type of hat villager carries, defaults to cap.
 +
 +
"""
 +
self.standard_lines = param1
 +
self.health = param2
 +
self.hat = param3
 +
 +
def speaking_to_hero(self, situation):
 +
"""Randomizes a response according to situation.
 +
 +
Args:
 +
situation (str): Category for what response to use.
 +
 +
Returns:
 +
A randomized response according to situation.
 +
 +
"""
 +
response = random.randint(0, len(self.standard_lines[situation]-1))
 +
 +
return response
</pre>
</pre>

Versionen från 16 september 2014 kl. 15.42


       Teori          Att kommentera          Att namnge          Övningar      


Innehåll

Kommentarer

# Skriv ut Charles ålder
print("Charles is")
age = 2012-1987
print(age, "years old")

Den första raden i det här programmet, raden som börjar med #-tecknet, är en så kallad kommentar. Raden påverkar inte vad som händer när man kör programmet utan är enbart avsedd som information för den som läser programmet. I Python räknas allt från och med #-tecknet till radslut som en kommentar.

Kommentarer kan kanske verka överflödiga men är i själva verket mycket viktiga för att man ska kunna förstå och överblicka sina program.


def funktionens_namn(param1, param2):
'''<Kort kommentar/förklaring om vad funktionen gör>

param param1: <förklara inparametern>
param param2: <förklara inparametern>
returns: <returvärden>
'''


Exempel funktion

def calculate_c_and_f(degree, choice):
    """Converts temperatures between Celsius and Fahrenheit.

    param degree: temperature in either C or F.
    param choice: key to convert from C to F ('F') or F to C ('C').
    returns: temperature according to param choice.
    """
    convert = {'F' : degree * 9/5 + 32,
               'C' : degree * 5/9 - 32}
    
    return convert[choice]


from datetime import date

def days_remaining(asked_date):
    """Calculates number of days to an specific date.

    param asked_date: the specific date, format as yyyy-mm-dd
    returns: number of days to asked_date
    """

    today = date.today()
    
    asked_date = [int(x) for x in asked_date.split('-')]
    asked_date = date(asked_date[0], asked_date[1], asked_date[2])

    return (asked_date - today).days


Exempel klass med metod

import random

class NonPlayerCharacter():
    """Template for an ordinary villager.

    """
    def __init__(self, param1, param2, param3 = "cap):
        """Example of docstring on the __init__ method.

        Args:
          param1 (dict of list of str): A set of standard lines to randomize.
          param2 (int): Total health as in life points.
          param3 (str): Type of hat villager carries, defaults to cap.

        """
        self.standard_lines = param1
        self.health = param2
        self.hat = param3

    def speaking_to_hero(self, situation):
        """Randomizes a response according to situation.

        Args:
          situation (str): Category for what response to use.

        Returns:
          A randomized response according to situation.

        """
        response = random.randint(0, len(self.standard_lines[situation]-1))
                 
        return response