1.1. Att Kommentera
Programmeringsteknik
(Skillnad mellan versioner)
(2 mellanliggande versioner visas inte.) | |||
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 9: | Rad 11: | ||
- | + | =Kommentarer= | |
- | <pre> | + | <pre> |
- | print("Charles is") | + | print("Charles is") # Skriver ut Charles ålder |
age = 2012-1987 | age = 2012-1987 | ||
print(age, "years old")</pre> | print(age, "years old")</pre> | ||
- | + | På den första raden i det här programmet, finns det en kommentar inlagd till höger om koden. Kommentaren börjar med #-tecknet. Kommentaren 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. | 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. | ||
- | == | + | |
+ | ==Doc-String== | ||
+ | |||
<pre>def funktionens_namn(param1, param2): | <pre>def funktionens_namn(param1, param2): | ||
Rad 31: | Rad 35: | ||
</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 50: | ||
return convert[choice] | return convert[choice] | ||
</pre> | </pre> | ||
+ | |||
<pre> | <pre> | ||
Rad 62: | Rad 68: | ||
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> |
Nuvarande version
Teori | Att kommentera | Att namnge | Övningar |
Innehåll |
Kommentarer
print("Charles is") # Skriver ut Charles ålder age = 2012-1987 print(age, "years old")
På den första raden i det här programmet, finns det en kommentar inlagd till höger om koden. Kommentaren börjar med #-tecknet. Kommentaren 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.
Doc-String
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