Μάθημα 0 - Εισαγωγή

...ασύγχρονα μαθήματα python

Re: Μάθημα 0 - Εισαγωγή

Δημοσίευσηαπό ftso » 07 Ιουν 2009, 01:00

@dimosfire
Υπόψιν ότι αν αλλάξεις μια μεταβλητή, αυτήν θα αφορά μόνο το shell στο οποίο την εκτέλεσες.
Για να την κάνεις γενική (global) πρέπει να την κάνεις export.
(Αν για παράδειγμα αλλάξεις την PATH,πρέπει να εκτελέσεις την εντολή: export PATH)

Αν τώρα εσύ άλλαξες μια μεταβλητή μέσω ενός αρχείου, τότε θα πρέπει να κάνεις ένα logout-login για να εφαρμοστεί...
Άβαταρ μέλους
ftso
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 6409
Εγγραφή: 12 Μάιος 2008, 13:40
Τοποθεσία: Αθήνα
IRC: ftso
Εκτύπωση

Re: Μάθημα 0 - Εισαγωγή

Δημοσίευσηαπό medigeek » 07 Ιουν 2009, 02:18

Ασκήσεις

Ανανέωση!!
Οι ασκήσεις αυτού του μαθήματος θα δοθούν με τις ασκήσεις για το Μάθημα 1!

Προχωράμε!

Μάθημα 1 - Τα βασικά: viewtopic.php?f=55&t=5446
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: Μάθημα 0 - Εισαγωγή

Δημοσίευσηαπό dimosfire » 08 Ιουν 2009, 12:11

Ευχαριστώ @dimitris και @ftso για τις συμβουλές σας τελικά το αποτέλεσμα είναι:
Κώδικας: Επιλογή όλων
dimosfire@dimosfire-desktop:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/dimosfire/bin
dimosfire@dimosfire-desktop:~$

Αλλά κατά λάθος έσβησα όλο το /.bashrc και το μόνο που έχει τώρα μέσα είναι:
if [ -d ~/bin ] ; then
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:~/bin
export PATH
fi
Aυτό είναι σωστό?Αν όχι τι μπορούμε να κάνουμε?
Σας ευχαριστώ και πάλι.
ubuntu 9.10 (AMD64),Innovator desktop, motherboard MSI K8N NEO4-F,cpu AMD ATHLON64 3500+ 2.20GHz,ram 1GHz, καρτα γραφ.GIGABYTE GEFORCE 6600 256MB,καρτα τηλεορ.κ radio FM PROLINK PIXELVIEW PLAYTV PRO/ΑΓΓΛΙΚΑ-ΚΑΛΑ/ΓΝΩΣΕΙΣ ΠΡΟΓΡ.-ΚΑΘΟΛΟΥ.
dimosfire
babeTUX
babeTUX
 
Δημοσιεύσεις: 141
Εγγραφή: 02 Φεβ 2009, 11:07
Τοποθεσία: ΠΑΤΡΑ
Εκτύπωση

Re: Μάθημα 0 - Εισαγωγή

Δημοσίευσηαπό Μάριος Ζηντίλης » 08 Ιουν 2009, 12:19

Παραθέτω όλο το δικό μου .bashrc μπας και βοηθήσει:

Κώδικας: Επιλογή όλων
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

# don't put duplicate lines in the history. See bash(1) for more options
# don't overwrite GNU Midnight Commander's setting of `ignorespace'.
export HISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignoredups
# ... or force ignoredups and ignorespace
export HISTCONTROL=ignoreboth

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color) color_prompt=yes;;
esac

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes

if [ -n "$force_color_prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
else
color_prompt=
fi
fi

if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

#if [ -f ~/.bash_aliases ]; then
# . ~/.bash_aliases
#fi

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
eval "`dircolors -b`"
alias ls='ls --color=auto'
#alias dir='dir --color=auto'
#alias vdir='vdir --color=auto'

#alias grep='grep --color=auto'
#alias fgrep='fgrep --color=auto'
#alias egrep='egrep --color=auto'
fi

# some more ls aliases
#alias ll='ls -l'
#alias la='ls -A'
#alias l='ls -CF'

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
Άβαταρ μέλους
Μάριος Ζηντίλης
punkTUX
punkTUX
 
Δημοσιεύσεις: 220
Εγγραφή: 25 Σεπ 2008, 11:16
Εκτύπωση

Re: Μάθημα 0 - Εισαγωγή

Δημοσίευσηαπό dimosfire » 08 Ιουν 2009, 13:25

Eυχαριστώ Μάριε κατάφερα να το επαναφέρω. Είχα σβήσει όλο το φάκελο και τον είχα στειλει στον κάδο ανακύκλωσης, βέβαια ήταν κρυφό αρχείο (.bashrc) γι αυτό δεν μπορούσα να τον δω.
ubuntu 9.10 (AMD64),Innovator desktop, motherboard MSI K8N NEO4-F,cpu AMD ATHLON64 3500+ 2.20GHz,ram 1GHz, καρτα γραφ.GIGABYTE GEFORCE 6600 256MB,καρτα τηλεορ.κ radio FM PROLINK PIXELVIEW PLAYTV PRO/ΑΓΓΛΙΚΑ-ΚΑΛΑ/ΓΝΩΣΕΙΣ ΠΡΟΓΡ.-ΚΑΘΟΛΟΥ.
dimosfire
babeTUX
babeTUX
 
Δημοσιεύσεις: 141
Εγγραφή: 02 Φεβ 2009, 11:07
Τοποθεσία: ΠΑΤΡΑ
Εκτύπωση

Re: Μάθημα 0 - Εισαγωγή

Δημοσίευσηαπό kesnar » 19 Ιούλ 2009, 09:20

Καλημερα σας...Πρωτα απ'ολα συγχαρητηρια...
Γνωριζω basic, bash και ειπα να κατσω να μαθω και python ως πρωτη "σοβαρη" γλωσσα


OK...Ακυρο...το ελυσα.,..
kesnar
babeTUX
babeTUX
 
Δημοσιεύσεις: 1
Εγγραφή: 19 Ιούλ 2009, 09:15
Εκτύπωση

PYTHON ΓΙΑ WINDOWS

Δημοσίευσηαπό medigeek » 19 Ιούλ 2009, 09:59

Δοκίμασε:
Κώδικας: Επιλογή όλων
E:
cd python
"Hello World.py"


Επειδή έχεις κενό στο όνομα του αρχείου χρειάζεσαι τα εισαγωγικά "".
Το ίδιο θα ισχυε αν το όνομα του φάκελου ήταν π.χ. "python test": cd "python test"



Μπορείς και με διπλό κλικ να το ανοίξεις, αλλά χρειάζεται το time και να κάνει μια μικρή παύση στο τέλος:

Κώδικας: Επιλογή όλων
import time
print("Hello Windows World!")

time.sleep(10)


Με το παραπάνω θα εμφανίσει "Hello Windows World!" και θα κλείσει μετά από 10 δευτερόλεπτα. :)

Τέλος, θα ήταν καλό να ρυθμίσεις το Start > Programs > Python > IDLE (Python GUI) να ανοίγει σαν editor:
Εικόνα
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: Μάθημα 0 - Εισαγωγή

Δημοσίευσηαπό midkin » 09 Σεπ 2009, 20:57

Καλησπέρα.
Αποφάσισα και γώ, έστω και καθυστερημένα, να ασχοληθώ με την python.

Έχω κάποιες απορίες και θα ήθελα - εφόσον αυτό είναι εύκολο - να μου τις διευκρινίσετε/αναλύσετε.

Στο μάθημα: "Python el:Τα πρώτα βήματα" ----> click me , δεν έχω καταλάβει τη χρήση του προγράμματος env καθώς μετά την αλλαγή της πρώτης γραμμής του προγράμματος από: "#!/usr/bin/python3" σε "#!/usr/bin/env python3" δεν κατάλαβα καμία διαφορά στον τρόπο εκτέλεσης του προγράμματος.

Επίσης δεν μου έγινε αντιληπτό που πρέπει να χρησιμοποιήσω τις εξής 3 σειρές κώδικα:
$ chmod a+x helloworld.py
$ ./helloworld.py
Χαίρε, Κόσμε!

Είναι εντολές για το τερματικό; Είναι συναρτήσεις τις python;

Τέλος αδυνατώ να καταλάβω τι είναι το PATH και πια η πρακτική χρησιμότητα του. Αν γίνεται ας μου αναλύσει κάποιος τη χρησιμότητα του PATH αναφέροντας και την συνεργασία του με το .bashrc


Ευχαριστώ εκ των προτέρων.
Γνώσεις ⇛ Linux: Χαμηλό ┃ Προγραμματισμός: Χαμηλό ┃ Αγγλικά: Πολύ Καλά
Λειτουργικό: Laptop Lenovo G505s με Windows 8.1 / Ubuntu 14.10 & Mac OS X 10.10 μέσω VirtualBox
Προδιαγραφές ⇛ AMD A8 τετραπύρηνος │ 8 GB RAM |
Άβαταρ μέλους
midkin
babeTUX
babeTUX
 
Δημοσιεύσεις: 44
Εγγραφή: 05 Σεπ 2009, 21:14
Τοποθεσία: Κομοτηνή
Εκτύπωση

Re: Μάθημα 0 - Εισαγωγή

Δημοσίευσηαπό ftso » 09 Σεπ 2009, 21:36

midkin έγραψε:Επίσης δεν μου έγινε αντιληπτό που πρέπει να χρησιμοποιήσω τις εξής 3 σειρές κώδικα:
$ chmod a+x helloworld.py
$ ./helloworld.py
Χαίρε, Κόσμε!
Είναι εντολές για το τερματικό; Είναι συναρτήσεις τις python;

Είναι εντολές τερματικού

midkin έγραψε:Τέλος αδυνατώ να καταλάβω τι είναι το PATH και πια η πρακτική χρησιμότητα του.

Είναι μια μεταβλητή στην οποία περιέχονται οι διαδρομές τους συστήματος που έχουν εκτελέσιμα αρχεία ώστε να τις βρίσκει το bash δίνοντας απλά το όνομά τους.Διαφορετικά θα έπρεπε να γράφεις όλη την διαδρομή για κάθε πρόγραμμα. πχ /usr/bin/firefox αντί για σκέτο firefox.

midkin έγραψε:αναφέροντας και την συνεργασία του με το .bashrc

Στο bashrc δίνονται οι παράμετροι που θα έχει ο κάθε χρήστης στο bash του. Αυτές φορτώνονται κατα το login.
Εκεί μπορούμε να δώσουμε και μια διαφορετική τιμή στο PATH. πχ να προσθέσουμε κάποιον κατάλογο.

Ρίξε μια ματιά στον οδηγό της υπογραφής μου για το τερματικό.

Τα υπόλοιπα θα στα εξηγήσει κάποιος πιο σχετικός.
Άβαταρ μέλους
ftso
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 6409
Εγγραφή: 12 Μάιος 2008, 13:40
Τοποθεσία: Αθήνα
IRC: ftso
Εκτύπωση

Re: Μάθημα 0 - Εισαγωγή

Δημοσίευσηαπό cyberpython » 09 Σεπ 2009, 23:06

midkin έγραψε:δεν έχω καταλάβει τη χρήση του προγράμματος env καθώς μετά την αλλαγή της πρώτης γραμμής του προγράμματος από: "#!/usr/bin/python3" σε "#!/usr/bin/env python3" δεν κατάλαβα καμία διαφορά στον τρόπο εκτέλεσης του προγράμματος.


Σε κάποια συστήματα μπορεί ο python interpreter να είναι /usr/bin/python σε άλλα σε κάποιο άλλο σημείο. Γι' αυτό το λόγο λέμε στο πρόγραμμα env (που ξέρουμε οτι είναι πάντα στο /usr/bin) να τον βρει και να τον τρέξει, οπότε είμαστε καλυμμένοι.
midkin έγραψε:
Επίσης δεν μου έγινε αντιληπτό που πρέπει να χρησιμοποιήσω τις εξής 3 σειρές κώδικα:
$ chmod a+x helloworld.py
$ ./helloworld.py
Χαίρε, Κόσμε!
Είναι εντολές για το τερματικό; Είναι συναρτήσεις τις python;


chmod: αλλάζει τα δικαιώματα ανάγνωσης/εγγραφής/εκτέλεσης αρχείων και φακέλων. με τη γραμμή:
$ chmod a+x helloworld.py
κάνουμε το αρχείο helloworld.py εκτελέσιμο(χ) για όλους(a)
Με τη γραμμή:
$ ./helloworld.py
εκτελούμε το αρχείο που κάναμε εκτελέσιμο (τα αρχεία που χρειάζονται interpreter για να τρέξουν όπως python scripts, bash scripts κλπ. πρέπει να τον καθορίζουν στην πρώτη γραμμή π.χ. #!/usr/bin/env python3)
Κοινότητα ΕΛ/ΛΑΚ Οικονομικού Πανεπιστημίου Αθηνών / Ubuntu-gr / My Web Log
Επίπεδο Γνώσεων Linux: Μέτριο, Προγραμματισμός: Ναι, Aγγλικά: Καλά
Λειτουργικό : Ubuntu 10.04 - 32bits
Η/Υ : Intel Core2 4400@2 GHz / 2GB DDR2 RAM / GeForce 8400 GS 512MB / Creative SB Audigy SE
Άβαταρ μέλους
cyberpython
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 733
Εγγραφή: 14 Μάιος 2008, 13:22
Εκτύπωση

ΠροηγούμενηΕπόμενο

Επιστροφή στο Μαθήματα python