Συζήτηση
Γεια χαρά, Επισκέπτης
Όνομα χρήστη: Κωδικός: Να με θυμάσαι

ΘΕΜΑ: Νέος στην Python No3

Νέος στην Python No3 2 Μήνες 2 Εβδομάδες πριν #5020

  • valant1979
  • Το Άβαταρ του/της valant1979
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 12
1. Ποιο θα είναι το αποτέλεσμα του παρακάτω κώδικα και γιατί;
>>> def func(a, b=4, c=5):
print(a, b, c)
>>> func(1, 2)

Απάντηση:
>>> def func(a,b=4,c=5):
print(a,b,c)


>>> func(1,2)
1 2 5
>>>
Η συνάρτηση με την ονομασία func έχει μια παράμετρο χωρίς προεπιλεγμένη τιμή ορίσματος και
ακολουθείται από δύο παραμέτρους με προεπιλεγμένες τιμές ορίσματος. Στην πρώτη χρήση, func(1,2) η
παράμετρος a παίρνει την τιμή 1, η παράμετρος b παίρνει την τιμή 2 και η c παίρνει την προεπιλεγμένη
του 5.

2. Ποιο θα είναι το αποτέλεσμα του παρακάτω κώδικα και γιατί;
>>> def func(a, b, c=5):
print(a, b, c)
>>> func(1, c=3, b=2)

Απάντηση:
>>> def func(a,b=4,c=5):
print(a,b,c)


>>> func(1,2)
1 2 5
>>>
Η συνάρτηση με την ονομασία func έχει μια παράμετρο χωρίς προεπιλεγμένη τιμή ορίσματος και
ακολουθείται από δύο παραμέτρους με προεπιλεγμένες τιμές ορίσματος. Στην πρώτη χρήση, func(1,2) η
παράμετρος a παίρνει την τιμή 1, η παράμετρος b παίρνει την τιμή 2 και η c παίρνει την προεπιλεγμένη
του 5.

3. Ποιο θα είναι το αποτέλεσμα του παρακάτω κώδικα και γιατί;
>>> def func(a, b, c=3, d=4): print(a, b, c, d)
>>> func(1, *(5, 6))

Απάντηση:
>>> def func(a,b,c=3,d=4):print(a,b,c,d)

>>> func(1,*(5,6))
1 5 6 4
>>> Επειδή θέλουμε να ορίσουμε μια συνάρτηση η οποία μπορεί να λάβει οποιοδήποτε αριθμό
παραμέτρων και αυτό μπορεί να επιτευχθεί χρησιμοποιώντας το σύμβολο αστερίσκο *.

4. Ποιο θα είναι το αποτέλεσμα του παρακάτω κώδικα και γιατί;
>>> def func(a, b, c): a = 2; b[0] = 'x'; c = 'y'
>>> l=1; m=[1]; n={'a':0}

Γιαυτόν τον κώδικα δεν μπορώ να τον εκτελέσω...
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Νέος στην Python No3 2 Μήνες 2 Εβδομάδες πριν #5023

  • babaliaris1
  • Το Άβαταρ του/της babaliaris1
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 431
  • Ληφθείσες Ευχαριστίες 74
valant1979 έγραψε:
4. Ποιο θα είναι το αποτέλεσμα του παρακάτω κώδικα και γιατί;
>>> def func(a, b, c): a = 2; b[0] = 'x'; c = 'y'
>>> l=1; m=[1]; n={'a':0}

Γιαυτόν τον κώδικα δεν μπορώ να τον εκτελέσω...

Ο κώδικας:
def func(a, b, c): a = 2; b[0] = 'x'; c['a'] = 'y'

Είναι στην ουσία αυτός:
def func(a, b, c): 
    a      = 2
    b[0]   = 'x'
    c['a'] = 'y'

Αλλά σε μία γραμμή. Σκέψου το Ελληνικό ερωτηματικό ";" σαν διαχώριση των γραμμών.
Λογικά τώρα μπορείς να απαντήσεις τι κάνει αυτήν η συνάρτηση.


Στον παρακάτω κώδικα θα πρέπει πολύ εύκολα να καταλαβαίνεις τι κάνει, εκτός αν δεν ξέρεις
τι είναι οι λίστες και τα λεξικά στην python.
l=1; m=[1]; n={'a':0}
Τελευταία διόρθωση: 2 Μήνες 2 Εβδομάδες πριν από babaliaris1.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Νέος στην Python No3 2 Μήνες 2 Εβδομάδες πριν #5026

  • valant1979
  • Το Άβαταρ του/της valant1979
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 12
>>> def func(a, b, c):
a = 2;
b[0] = 'x';
c = 'y'


>>> func(a,b,c)
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
func(a,b,c)
NameError: name 'a' is not defined
>>> func(b,c)
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
func(b,c)
NameError: name 'b' is not defined
>>> l=1;
>>> m=[1];
>>> n={'a':0}
>>> print(l,m,n)
1 [1] {'a': 0}
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Νέος στην Python No3 2 Μήνες 2 Εβδομάδες πριν #5029

  • babaliaris1
  • Το Άβαταρ του/της babaliaris1
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 431
  • Ληφθείσες Ευχαριστίες 74
valant1979 έγραψε:
>>> def func(a, b, c):
a = 2;
b[0] = 'x';
c = 'y'


>>> func(a,b,c)
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
func(a,b,c)
NameError: name 'a' is not defined
>>> func(b,c)
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
func(b,c)
NameError: name 'b' is not defined
>>> l=1;
>>> m=[1];
>>> n={'a':0}
>>> print(l,m,n)
1 [1] {'a': 0}

Αυτό συμβαίνει διότι όταν καλείς την συνάρτηση πρέπει να της δίνεις ορίσματα. Εσύ της δίνεις τα a,b,c τα οποία είναι σύμβολα μεταβλητών που δεν έχεις αρχικοποίηση στο τερματικό.

>>> func(a,b,c)
>>> func(1, ['x'], {'a': 'y'} )
Τελευταία διόρθωση: 2 Μήνες 2 Εβδομάδες πριν από babaliaris1.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": valant1979

Νέος στην Python No3 2 Μήνες 2 Εβδομάδες πριν #5036

  • valant1979
  • Το Άβαταρ του/της valant1979
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 12
4. Ποιο θα είναι το αποτέλεσμα του παρακάτω κώδικα και γιατί;
>>> def func(a, b, c): a = 2; b[0] = 'x'; c = 'y'
>>> l=1; m=[1]; n={'a':0}

Οπότε για το 4ο κατέληξα εδώ:
>>> def func(a, b, c):
a = 2;
b[0] = 'x';
c = 'y'


>>> l=1;m=[1];n={'a':0}
>>> print(func(1, , {'a': 'y'} ))
None
>>> Γιατί η τιμή None είναι η τιμή που μας επιστρέφουν συναρτήσεις που τελικά δεν επιστρέφουν κάτι.Αφού η τιμή None αντιπροσωπεύει την έννοια του δεν υπάρχει κάτι, η συγκεκριμένη
σύμπεριφορά είναι κάτι που θα έπρεπε να περιμένουμε στον παραπάνω κώδικα.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Νέος στην Python No3 2 Μήνες 2 Εβδομάδες πριν #5038

  • babaliaris1
  • Το Άβαταρ του/της babaliaris1
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 431
  • Ληφθείσες Ευχαριστίες 74
valant1979 έγραψε:
4. Ποιο θα είναι το αποτέλεσμα του παρακάτω κώδικα και γιατί;
>>> def func(a, b, c): a = 2; b[0] = 'x'; c = 'y'
>>> l=1; m=[1]; n={'a':0}

Οπότε για το 4ο κατέληξα εδώ:
>>> def func(a, b, c):
a = 2;
b[0] = 'x';
c = 'y'


>>> l=1;m=[1];n={'a':0}
>>> print(func(1, , {'a': 'y'} ))
None
>>> Γιατί η τιμή None είναι η τιμή που μας επιστρέφουν συναρτήσεις που τελικά δεν επιστρέφουν κάτι.Αφού η τιμή None αντιπροσωπεύει την έννοια του δεν υπάρχει κάτι, η συγκεκριμένη
σύμπεριφορά είναι κάτι που θα έπρεπε να περιμένουμε στον παραπάνω κώδικα.

Σωστά.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": valant1979
Συντονιστές: pmav99
Χρόνος δημιουργίας σελίδας: 0.284 δευτερόλεπτα

Μοιράσου το!

Powered by CoalaWeb

Λίστα Ταχυδρομείου