5 Haziran 2007 Salı

python kitabından notlar I

kitabı yeni aldım geri dönüp bakabilmek için notlarım:

3. Bölüm:

>>> a=8
>>> a=a+22
>>> a
30


burada a ya a+22 ifadesi atanmıştır.

>>> c="çağdaş"
>>> c
'\xc3\xa7a\xc4\x9fda\xc5\x9f'
>>> print c
çağdaş

cümle değişkenlere Türkçe karakter atarken sorun çıkmıyor sadece python onu nasıl algıladığını belirtiyor. print c yazınca olması gerektiği gibi görünüyor.

>>> merhaba="Adana'ya ilk gelişiniz mi?"
>>> print merhaba
Adana'ya ilk gelişiniz mi?

kesme işaretiyle ayırmamız gereken bir yer olduğu için, en dışa tırnak işareti koyduk.

>>> arkadasim='"Burada dalmak çok güzel olur baksana cam gibi yukardan bakınca dip görünüyor" dedi.'
>>> print arkadasim
"Burada dalmak çok güzel olur baksana cam gibi yukardan bakınca dip görünüyor" dedi.

Burada alıntı yapmamız gerekti ve en dışa kesmeleri koyduk.

>>> a=9
>>> b="5"
>>>
>>> a=3
>>> b="9"
>>> c=a+b

Traceback (most recent call last):
File "", line 1, in
c=a+b
TypeError: unsupported operand type(s) for +: 'int' and 'str'

buradaki hata

>>> c=a+int(b)
>>> print c
12

yada

>>> c=str(a)+b
>>> print c
39

şeklinde çözülür.

int fonksiyonu cümle değerlerini tamsayıya çevirmek için kullanılır.

>>> int("765")
765

noktalı değerlerde float kullanılır.

>>> float("383.2")
383.19999999999999

str fonksiyonu ise ondalık veya tam sayıları cümle (string) değerlerine çevirmemizi sağlar.

>>> str("234")
'234'
>>> str(1321)
'1321'
>>> str(123.45)
'123.45'

>>> a=14
>>> a.__str__()
'14'

a.__str__() tarzı işlemler nesne modelinde kullanılır.

len() cümlenin uzunluğunu verir.

>>> len("Nasılsın komşu?")
18

>>> "Nasılsın komşu?".__len__()
18

Türkçe karakterlerin 2 olarak değeri olduğunu gördüm.

listeler

>>> p=['ysa', 'perl', 'ga']
>>> p[1]
'perl'
>>> p[:]
['ysa', 'perl', 'ga']
>>> p
['ysa', 'perl', 'ga']
>>> p[0]; p[2]
'ysa'
'ga'
>>> p=p+['pascal']
>>> p
['ysa', 'perl', 'ga', 'pascal']

>>> p[-1]
'pascal'
>>> p[-3]
'perl'

>>> p[1:3]
['perl', 'ga']
>>> p[1:2]
['perl']
>>> p[0:3]
['ysa', 'perl', 'ga']

>>> p.append('frp')
>>> p
['ysa', 'perl', 'ga', 'pascal', 'frp']

listeler birer nesnedir, nesnelerin özelliklerini görmek için dir(nesne) komutu kullanılır.

>>> p=p+['perl']
>>> p
['ysa', 'perl', 'ga', 'pascal', 'frp', 'perl']
>>> p.count('perl')
2

count() bir listedeki bir elemanın kaç tane bulunduğunu verir.

>>> p.extend(['common lisp','fortran'])
>>> p
['ysa', 'perl', 'ga', 'pascal', 'frp', 'perl', 'common lisp', 'fortran']

extend() 'le iki liste toplanır.

index() listedeki bir elemanın yerini verir. eğer birden fazla varsa ilk konumunu verir. olmayan bir elemanı sorgularsanız hata verir.

['ysa', 'perl', 'ga', 'pascal', 'frp', 'perl', 'common lisp', 'fortran']
>>> p.index('perl')
1

insert() listenin istenen yerine ekleme yapmak için kullanılır.

>>> p.insert(3,'scheme')
>>> p
['ysa', 'perl', 'ga', 'scheme', 'scheme', 'pascal', 'frp', 'perl', 'common lisp', 'fortran']

pop() listenin son elemanını siler.

>>> p.pop()
'fortran'
>>> p
['ysa', 'perl', 'ga', 'scheme', 'scheme', 'pascal', 'frp', 'perl', 'common lisp']

remove() eleman silmek için kullanılır. birden fazla varsa o elemandan ilkini çıkrarır.

>>> p.remove('perl')
>>> p
['ysa', 'ga', 'scheme', 'scheme', 'pascal', 'frp', 'perl', 'common lisp']

reverse() , diziyi ters çevirir.

>>> p.reverse()
>>> p
['common lisp', 'perl', 'frp', 'pascal', 'scheme', 'scheme', 'ga', 'ysa']

sort() listenizi sayılardan başlamak üzere alfabetik olarak sıralar.

['common lisp', 'perl', 'frp', 'pascal', 'scheme', 'scheme', 'ga', 'ysa']
>>> p=p+[16, 233]
>>> p
['common lisp', 'perl', 'frp', 'pascal', 'scheme', 'scheme', 'ga', 'ysa', 16, 233]
>>> p.sort()
>>> p
[16, 233, 'common lisp', 'frp', 'ga', 'pascal', 'perl', 'scheme', 'scheme', 'ysa']

len() listenizin kaç elemandan oluştuğunu bulursunuz

>>> len(p)
10

>>> p.__len__()
10

listeyi tamsayıyla çarpma listenin ardarda yazılmasıdır.

>>> x=['y','z']
>>> x*3
['y', 'z', 'y', 'z', 'y', 'z']
>>> x
['y', 'z']

yaptığımız işlemde x'i 3 le çarptık ama x'e başka bir değer atamadık. liste toplamında da bu böyledir.

>>> x
[1, 3, 5]
>>> y=x
>>> y.append(7)
>>> x
[1, 3, 5, 7]
>>> y
[1, 3, 5, 7]

buradali y=x x'e y etiketinin verildiğidir. ikisi ayrı nesneler olmuyor. onun için y'yi x den ayrıca kopyalamak gerekir.

>>> import copy
>>> x=[1,3,5]
>>> y=copy.deepcopy(x)
>>> y.append(7)
>>> y
[1, 3, 5, 7]
>>> x
[1, 3, 5]

şeklinde sorunumuz çözülür.

Tüpler listeye benzer ama içerikleri değiştirilemez. Tüpün elemanları parantez içerisinde sıralanır.

Hiç yorum yok:

 
eXTReMe Tracker