Python Girdi ve Çıktı İşlemleri
Bu öğretici, Python’da G/Ç görevini gerçekleştirmek için iki yerleşik işleve odaklanır: print() ve input(). Ayrıca modülleri içe aktarmayı ve bunları programınızda kullanmayı öğreneceksiniz.
Python , Python isteminde bizim için hazır olan çok sayıda yerleşik işlev sağlar.
input()
ve gibi işlevlerden bazıları, print()
sırasıyla standart girdi ve çıktı işlemleri için yaygın olarak kullanılır. Önce çıktı bölümünü görelim.
print() işlevini kullanarak Python Çıktısı
print()
Standart çıkış cihazına (ekran) veri çıkışı için işlevi kullanırız . Verileri bir dosyaya da verebiliriz , ancak bu daha sonra tartışılacaktır.
Aşağıda kullanımına bir örnek verilmiştir.
1 2 | print('This sentence is output to the screen') |
Çıktı
1 | <samp>Bu cümle ekrana çıktı</samp> |
Başka bir örnek aşağıda verilmiştir:
1 2 | a = 5 print('The value of a is', a) |
Çıktı
1 | <samp>a'nın değeri 5'tir</samp> |
İkinci ifadede, string ile değişkenin değeri print()
arasına boşluk eklendiğini görebiliriz .a. Bu varsayılan olarak, ancak değiştirebiliriz.
İşlevin gerçek sözdizimi print()
şöyledir:
1 | print(*nesneler, sep=' ', end='\n', dosya=sys.stdout, flush=Yanlış) |
Burada, objects
yazdırılacak değer(ler)dir.
Ayırıcı sep
değerler arasında kullanılır. Varsayılan olarak bir boşluk karakterine dönüşür.
Tüm değerler yazdırıldıktan sonra end
yazdırılır. Varsayılan olarak yeni bir satıra geçer.
Değerlerin file
yazdırıldığı nesnedir ve varsayılan değeri sys.stdout
(ekran). İşte bunu göstermek için bir örnek.
1 2 3 | print(1, 2, 3, 4) print(1, 2, 3, 4, sep='*') print(1, 2, 3, 4, sep='#', end='&') |
Çıktı
1 2 3 | <samp>1 2 3 4 1*2*3*4 1#2#3#4&</samp> |
Çıktı biçimlendirme
Bazen çıktımızı çekici görünmesi için biçimlendirmek isteriz. str.format()
Bu yöntem kullanılarak yapılabilir . Bu yöntem herhangi bir dize nesnesi tarafından görülebilir.
1 2 3 | >>> x = 5; y = 10 >>> print('The value of x is {} and y is {}'.format(x,y)) The value of x is 5 and y is 10 |
Burada kaşlı ayraçlar {}
yer tutucu olarak kullanılır. Sayıları (tuple indeksi) kullanarak yazdırılacakları sırayı belirtebiliriz.
1 2 | print('I love {0} and {1}'.format('bread','butter')) print('I love {1} and {0}'.format('bread','butter')) |
Çıktı
1 2 | <samp>ekmek ve tereyağı seviyorum tereyağı ve ekmeği severim</samp> |
Dizeyi biçimlendirmek için anahtar kelime argümanlarını bile kullanabiliriz.
1 2 | >>> print('Hello {name}, {greeting}'.format(greeting = 'Goodmorning', name = 'John')) Hello John, Goodmorning |
Ayrıca, C programlama dilindesprintf()
kullanılan eski stil gibi dizeleri de biçimlendirebiliriz . Bunu gerçekleştirmek için operatörü kullanıyoruz.%
1 2 3 4 5 | >>> x = 12.3456789 >>> print('The value of x is %3.2f' %x) The value of x is 12.35 >>> print('The value of x is %3.4f' %x) The value of x is 12.3457 |
Python Girişi
Şimdiye kadar programlarımız statikti. Değişkenlerin değeri tanımlanmış veya kaynak koduna sabit kodlanmıştır.
Esnekliğe izin vermek için kullanıcıdan girdi almak isteyebiliriz. Python’da buna input()
izin verme fonksiyonumuz var. için sözdizimi input()
:
1 | girdi([istem]) |
prompt
ekranda göstermek istediğimiz dize nerede . İsteğe bağlı.
1 2 3 4 | >>> num = input('Enter a number: ') Enter a number: 10 >>> num '10' |
Burada girilen değerin 10
sayı değil string olduğunu görebiliriz. Bunu bir sayıya dönüştürmek için int()
veya float()
işlevlerini kullanabiliriz.
1 2 3 4 | >>> int('10') 10 >>> float('10') 10.0 |
Aynı işlem, eval()
işlev kullanılarak gerçekleştirilebilir. Ama eval
daha ileri götürür. Girdinin bir dize olması koşuluyla, ifadeleri bile değerlendirebilir.
1 2 3 4 5 6 7 | >>> int('2+3') Traceback (most recent call last): File "<string>", line 301, in runcode File "<interactive input>", line 1, in <module> ValueError: invalid literal for int() with base 10: '2+3' >>> eval('2+3') 5 |
Python İthalatı
Programımız büyüdüğünde, onu farklı modüllere bölmek iyi bir fikirdir.
Modül, Python tanımlarını ve ifadelerini içeren bir dosyadır. Python modüllerinin bir dosya adı vardır ve uzantısı .py
.
Bir modülün içindeki tanımlar başka bir modüle veya Python’daki etkileşimli yorumlayıcıya aktarılabilir. Bunu import
yapmak için anahtar kelimeyi kullanıyoruz.
Örneğin, math
aşağıdaki satırı yazarak modülü içe aktarabiliriz:
1 | import math |
Modülü aşağıdaki şekillerde kullanabiliriz:
1 2 | import math print(math.pi) |
Çıktı
1 | <samp>3.141592653589793</samp> |
Artık modül içindeki tüm tanımlar math
kapsamımızda mevcuttur. Anahtar kelimeyi kullanarak yalnızca bazı belirli özellikleri ve işlevleri de içe aktarabiliriz from
. Örneğin:
1 2 3 | >>> from math import pi >>> pi 3.141592653589793 |
Bir modülü içe aktarırken Python, içinde tanımlanan birkaç yere bakar sys.path
. Dizin konumlarının bir listesidir.
1 2 3 4 5 6 7 8 9 | >>> import sys >>> sys.path ['', 'C:\\Python33\\Lib\\idlelib', 'C:\\Windows\\system32\\python33.zip', 'C:\\Python33\\DLLs', 'C:\\Python33\\lib', 'C:\\Python33', 'C:\\Python33\\lib\\site-packages'] |