6. Sgiliau Awtomeiddio - Codio
⏪ Blaenorol | Nesaf ⏩ |
Ffordd gyffredin a ddefnyddiol o awtomeiddio tasgau cyfrifiadurol yw codio. Fel rheol bydd rhan fwyaf o ddadansoddiad data, efelychiadau ac algorithmau yn cael eu cyflawni yn y modd yma.
Ar gyfer y cwrs yma yr iaith rhaglennu a ddefnyddiwn yw Python. Mae tri rheswm am hyn:
- Mae’n agored, felly’n rhad ac am ddim.
- Mae’n boblogaidd yn y gymuned gwyddoniaeth, gyda nifer o lyfrgelloedd
defnyddiol (megis
pandas
ar gyfer dadansoddiad data,sklearn
ar gyfer dysgu peiriannau,matplotlib
ar gyfer plotio,astropy
ar gyfer seryddiaeth). - Cydnabyddir fel iaith ddarllenadwy sy’n ddelfrydol ar gyfer dysgu codio.
Mae nifer o opsiynau da eraill hefyd (e.e. Java, R, C++ a mwy).
Fan hyn rhoddir sylfeini cystrawen yr iaith. Nid tiwtorial llawn yw hwn, ond rhoddir digon o wybodaeth i fedru cyflawni’r cwrs sgiliau ymchwil ailgynhyrchiadwy yma.
0. Gosod Python
Ar gyfer y tiwtorial yma argymhellir Anaconda (https://www.anaconda.com/download/) fel y modd o osod Python ar eich cyfrifiadur. Dilynwch y cyfarwyddiadau ar y wefan honno er mwyn gallu dechrau defnyddio Python.
1. Defnyddio’r dehonglydd Python
Agorwch y ‘Command Line’ neu’r ‘Command Prompt’ (ar Windows defnyddiwch ‘Anaconda Prompt’ sy’n dod gyda Anaconda), a theipiwch:
python
Fe ddechreuir hwn promt a fydd yn edrych rhywbeth fel hyn:
Python 3.5.2 |Anaconda custom (64-bit)| (default, Jul 2 2016, 17:53:06)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Mae’r >>>
yn dynodi’r pwynt lle allwn deipio cod Python.
Teipiwch 2 + 2
a gwasgwch ‘enter’.
Fe allwn weld beth ddylai hwn edrych fel isod:
>>> 2 + 2
4
2. Creu newidynnau rhifol
Fe allwn aseinio newidynnau gan ddefnyddio’r gweithredydd =
:
>>> ystyr_bywyd = 42
>>> ystyr_bywyd = ystyr_bywyd + 2
>>> ystyr_bywyd
44
3. Creu newidynnau Boolean
Gallwn greu newidynnau Boolean trwy ddefnyddio nifer o weithredyddion cymharu, gan gynnwys:
==
yn hafal i!=
ddim yn hafal i>
yn fwy na>=
yn fwy na neu’n hafal i
>>> yw_42 = ystyr_bywyd == 42
>>> yw_42
False
>>> mwy_na_42 = ystyr_bywyd > 42
>>> mwy_na_42
True
4. Creu rhestrau
Mae gan Python strwythurau y gellir indecsio, rhestrau:
>>> rhifau = [1, 2, 4, 5]
>>> max(rhifau)
5
>>> min(rhifau)
1
>>> sum(rhifau)
12
>>> rhifau[0]
1
>>> rhifau[-2]
4
>>> rhifau.append(50)
>>> rhifau
[1, 2, 4, 5, 50]
I cau’r dehonglwr teipwich:
exit()
5. Defnyddio sgriptiau Python
I ddechrau ysgrifennu cod mwy defnyddiol, gallwn ysgrifennu’r cod o fewn ffeil, ac yna gallwn redeg y cod trwy ddefnyddio’r ‘Command Line’ neu’r ‘Command Prompt’.
5a. Ysgrifennu sgript Python
Agorwch olygydd testun (text editor, mae rhestr o olygyddion testun argymhellir ar ddiwedd y tiwtorial yma), a chrëwch ffeil newydd o’r enw ‘01-helo-byd.py’. O fewn y ffeil ysgrifennwch y cod canlynol:
print("helo byd")
Sylwch nid ydym yn ysgrifennu >>>
.
5b. Rhedeg sgript Python
Gan ddefnyddio’r ‘Command Line’ neu’r ‘Command Prompt’, gallwn ddweud wrth y cyfrifiadur i gyflawni’r cyfarwyddiadau sydd yn y sgript. Fe elwir hwn yn “rhedeg” y sgript. I wneud hwn, ysgrifennwch y canlynol i mewn i’r ‘Command Line’ neu’r ‘Command Prompt’:
python 01-helo-byd.py
Nid yw hwn yn unigryw i Python, gallwn redeg rhan fwyaf o ieithoedd rhaglennu yn y modd yma: trwy arbed ffeil a’i rhedeg gyda’r gorchymyn cywir. Mae hwn yn rhoi hyblygrwydd i ni ddewis unrhyw olygydd testun rydym yn gyfforddus yn ei ddefnyddio.
6. Datganiadau-If
Gallwn ddefnyddio newidynnau Boolean i greu datganiadau rhesymegol.
Ysgrifennwch ffeil o’r enw 02-datganiadau-if.py
, sy’n cynnwys y cod canlynol,
a rhedwch y ffeil.
N = 572
if N % 2 == 0:
print("Mae N yn eilrif")
else:
print("Mae N yn odrif")
Noder Mae gwagle gwyn a chilisodiadau yn bwysig mewn Python.
Mae bloc cod a chilosodwyd yn dynodi pa god i redeg os yw’r newidyn Boolean
N % 2 == 0
yn True
.
7. Lwpiau-‘While’
Mae’n bosib ailadrodd cod trwy ddefnyddio lwpiau-while
, a fydd yn gwirio
newidyn Boolean tro ar ôl tro.
Ysgrifennwch ffeil o’r enw 03-lwpiau-while.py
sy’n cynnwys y cod canlynol:
N = 0
nifer_o_eilrifau = 0
while N < 10:
if N % 2 == 0:
nifer_o_eilrifau = nifer_o_eilrifau + 1
N = N + 1
print(nifer_o_eilrifau)
Rhedwch y ffeil yma.
8. Ffwythiannau
Mae’n bosib creu ffwythiannau mewn Python. Darnau o god yw’r rhain sydd ond yn rhedeg pan ddefnyddir y ffwythiant; ac fe allwn defnyddio’r ffwythiant po gymaint o weithiau a dymunwn. Gall ffwythiant cymryd paramedrau hefyd.
Ysgrifennwch ffeil o’r enw 04-ffwythiannau.py
sy’n cynnwys y cod canlynol, a
rhedwch y ffeil.
def cyfri_eilrifau(terfan_uchaf):
N = 0
nifer_o_eilrifau = 0
while N < terfan_uchaf:
if N % 2 == 0:
nifer_o_eilrifau = nifer_o_eilrifau + 1
N = N + 1
return nifer_o_eilrifau
print(cyfri_eilrifau(10))
print(cyfri_eilrifau(42))
Nodwch fod cod y ffwythiant cyfri_eilrifau
ond yn rhedeg pan ddefnyddir y
ffwythiant yn y ddwy llinell olaf (cyfri’r eilrifau o dan 10, a chyfri’r
eilrifau o dan 42).
Golygyddion testun
- Notepad++ (https://notepad-plus-plus.org/)
- Nano (https://www.nano-editor.org)
- Vim (www.vim.org)
- Sublime (www.sublimetext.com)
- Atom (https://atom.io)
- VS Code (code.visualstudio.com)
- CLion (www.jetbrains.com/clion/)
- PyCharm (www.jetbrains.com/pycharm/)
Cyfeiriadau
-
“Research software development”, Vincent Knight,
⏪ Blaenorol | Nesaf ⏩ |