Ana içeriğe geç
Modül 4 · Ders 4 ders 4Kurstaki 16/36~10 min
Modül dersleri (4/4)

Dönüşümleri yazın

Python kesinlikle yazılmıştır: siz belirtmediğiniz sürece asla bir sayıya dize eklemez öyle söyle. Bir türden diğerine geçmek için yapıcı işlevlerini kullanırsınız: int(), float(), str(), bool(), list(), tuple(), set().

Python
int("42")        # 42
float("3.14")    # 3.14
str(42)          # '42'
list("abc")      # ['a', 'b', 'c']
tuple([1, 2])    # (1, 2)
set([1, 1, 2])   # {1, 2}

int() dizelerle

int("42") çalışıyor; int("42.5"), ValueError değerini yükseltir. Ondalık dizeler için, önce float üzerinden geçin: int(float("42.5")) → 42 (keser, kesmez) yuvarlak).

Python
int("42")         # 42
int("  42  ")     # 42        (strip automatico degli spazi)
int("42.5")       # ValueError
int(float("42.5"))  # 42
int("ff", 16)     # 255       (base esplicita)

float() dizelerle

Ondalık ve bilimsel gösterimi kabul eder.

Python
float("3.14")      # 3.14
float("1e3")       # 1000.0
float("inf")       # inf
float("nan")       # nan

str(): "dost canlısı" dönüşüm

str(x) "insan" temsilini almak için dahili olarak x.__str__() öğesini çağırır. Ayrıca "hata ayıklayıcı" gösterimi için repr(x) vardır, genellikle daha fazlası açık (dizeler için tırnak işaretleri vb. ile).

Python
str(3.14)       # '3.14'
str([1, 2])     # '[1, 2]'
str(True)       # 'True'

bool() ve doğruluk

bool(x), yalnızca Python'un falsy değerleri için False değerini döndürür:

  • False, None
  • sıfır sayılar: 0, 0.0
  • boş kaplar: "", [], (), {}, set()

Geriye kalan her şey gerçektir.

Python
bool(0)       # False
bool("")      # False
bool([])      # False
bool("0")     # True  !  (stringa non vuota)
bool([0])     # True  !  (lista non vuota, anche se contiene 0)

Desen: güvenli giriş ayrıştırma

Python
testo = input("età: ")
try:
    eta = int(testo)
except ValueError:
    print(f"non è un numero: {testo!r}")
    eta = None

Boole değerlendirmesi (Doğruluk)

Python'da her nesnenin örtülü bir doğruluk değeri vardır. bool(...) işlevini kullanarak herhangi bir nesnenin boolean değerini kontrol edebilirsiniz. Boş koleksiyonlar (ör. "", [], {}, set()) ve sıfır değerler (0, 0.0) her zaman False olarak değerlendirilir. Diğer tüm nesneler True olarak değerlendirilir.

Deneyin

Egzersiz#python.m4.l4.e1
Denemeler: 0Yükleniyor…

`a = '10'` ve `b = '32'` (dizeler) verildiğinde, `toplam'ı bunların TAM SAYISI toplamı olarak hesaplayın. 'Toplam'ı değerlendirin.

Düzenleyici yükleniyor…
İpucu göster

int(a) + int(b), aksi takdirde dizeleri birleştirirsiniz.

3 denemeden sonra çözüm mevcut

Alıştırmayı gözden geçirin

Egzersiz#python.m4.l4.e2
Denemeler: 0Yükleniyor…

`values ​​= ['', 'x', 0, Yok, 1, []]` listesi göz önüne alındığında, bool() kullanarak YALNIZCA doğruluk öğeleriyle `gerçek'i oluşturun. 'Gerçeği' değerlendirin.

Düzenleyici yükleniyor…
İpucu göster

bool(v) (veya sadece 'if v') filtresiyle liste anlama.

3 denemeden sonra çözüm mevcut

Ek zorluk

Egzersiz#python.m4.l4.e3
Denemeler: 0Yükleniyor…

\`string_numbers = ["1", "2", "3"]\` dizelerinin listesi verildiğinde, \`int()\` kullanarak her öğeyi bir tam sayıya dönüştürün ve \`6\` değerini elde etmek için bunları toplayın. Toplamı \`sum_val\`'de saklayın ve değerlendirin.

Düzenleyici yükleniyor…
İpucu göster

Öğelere dizine göre erişin, ör. int(string_numbers[0]) ve bunları toplayın.

3 denemeden sonra çözüm mevcut