Dersler

View on GitHub

EEM-241 İleri Düzey Programlama

2024-2025 Güz Dönemi

Ders 4 - Python Programlama

Python kurmak için

Python programı yazmak için aşağıdaki yöntemlerden bir tanesi tercih edilebilir:

Jupyter Lab kullanımı:

Değişken Türleri

a=1
b=2
c=a+b
print(c) 
c=1
a+b
    3
    
    3
a=1
type(a)

    int

Python nesne yönelimli bir programlama dilidir. Bundan dolayı pythonda her şey bir nesnedir. Örneğin tamsayı sınıfı için kullanılabilecek fonksiyonlar

dir(int)

    ['__abs__',
     '__add__',
     '__and__',
     '__bool__',
     '__ceil__',
     '__class__',
     '__delattr__',
     '__dir__',
     '__divmod__',
     '__doc__',
     '__eq__',
     '__float__',
     '__floor__',
     '__floordiv__',
     '__format__',
     '__ge__',
     '__getattribute__',
     '__getnewargs__',
     '__gt__',
     '__hash__',
     '__index__',
     '__init__',
     '__init_subclass__',
     '__int__',
     '__invert__',
     '__le__',
     '__lshift__',
     '__lt__',
     '__mod__',
     '__mul__',
     '__ne__',
     '__neg__',
     '__new__',
     '__or__',
     '__pos__',
     '__pow__',
     '__radd__',
     '__rand__',
     '__rdivmod__',
     '__reduce__',
     '__reduce_ex__',
     '__repr__',
     '__rfloordiv__',
     '__rlshift__',
     '__rmod__',
     '__rmul__',
     '__ror__',
     '__round__',
     '__rpow__',
     '__rrshift__',
     '__rshift__',
     '__rsub__',
     '__rtruediv__',
     '__rxor__',
     '__setattr__',
     '__sizeof__',
     '__str__',
     '__sub__',
     '__subclasshook__',
     '__truediv__',
     '__trunc__',
     '__xor__',
     'as_integer_ratio',
     'bit_length',
     'conjugate',
     'denominator',
     'from_bytes',
     'imag',
     'numerator',
     'real',
     'to_bytes']

a=1.0
type(a)

    float

a="isim soyisim"
type(a)

    str

Değişken tanımlama

Değişken isimlendirme kuralları ve önerileri

a_1=1
a_1

    1

# yorum satırı için # sembolu kullanılır
jupyter de kısayolu Ctrl+/ dir

a=1
A=2
# python büyük küçük harf duyarlıdır
a, A

    (1, 2)

print fonksiyonu

print("merhaba", end=" ")
print("merhaba")
print("merhaba")

    merhaba merhaba
    merhaba
  
print(a,b,c, sep="-")

    1-2-1
    
help(print)
    Help on built-in function print in module builtins:
    
    print(...)
        print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
        
        Prints the values to a stream, or to sys.stdout by default.
        Optional keyword arguments:
        file:  a file-like object (stream); defaults to the current sys.stdout.
        sep:   string inserted between values, default a space.
        end:   string appended after the last value, default a newline.
        flush: whether to forcibly flush the stream.
a=1
b=2
print(a,b)
print(a,b)
    1 2
    1 2
print("abc\ndef\nghi")
print("abc\n\tdef\n\tghi")
    abc
    def
    ghi
    abc
    	def
    	ghi
a=1
b=2
c=a+b
print(a,"+",b,"=",c)
print(f"{a}+{b}={c}")
metin = f"{a}+{b}={c}"
print(metin)

print(f"{a}+{b}={a+b}")
    1 + 2 = 3
    1+2=3
    1+2=3
    1+2=3

string türü

a="isim soyisim"
a.upper()

    'ISIM SOYISIM'

Bir nesne ile ilgili kullanılabilecek fonksiyonlara dir fonksiyonu ile bakılabilir.

dir(a)
# veya dir(str) ile string fonksiyonlarına ulaşılabilir.

    ['__add__',
     '__class__',
     '__contains__',
     '__delattr__',
     '__dir__',
     '__doc__',
     '__eq__',
     '__format__',
     '__ge__',
     '__getattribute__',
     '__getitem__',
     '__getnewargs__',
     '__gt__',
     '__hash__',
     '__init__',
     '__init_subclass__',
     '__iter__',
     '__le__',
     '__len__',
     '__lt__',
     '__mod__',
     '__mul__',
     '__ne__',
     '__new__',
     '__reduce__',
     '__reduce_ex__',
     '__repr__',
     '__rmod__',
     '__rmul__',
     '__setattr__',
     '__sizeof__',
     '__str__',
     '__subclasshook__',
     'capitalize',
     'casefold',
     'center',
     'count',
     'encode',
     'endswith',
     'expandtabs',
     'find',
     'format',
     'format_map',
     'index',
     'isalnum',
     'isalpha',
     'isascii',
     'isdecimal',
     'isdigit',
     'isidentifier',
     'islower',
     'isnumeric',
     'isprintable',
     'isspace',
     'istitle',
     'isupper',
     'join',
     'ljust',
     'lower',
     'lstrip',
     'maketrans',
     'partition',
     'replace',
     'rfind',
     'rindex',
     'rjust',
     'rpartition',
     'rsplit',
     'rstrip',
     'split',
     'splitlines',
     'startswith',
     'strip',
     'swapcase',
     'title',
     'translate',
     'upper',
     'zfill']

a

    'isim soyisim'

a.count("i")

    4

help(a.count)
# veya help(str.count) ile dokümantasyona ulaşılabilir.
    
    Help on built-in function count:
    
    count(...) method of builtins.str instance
        S.count(sub[, start[, end]]) -> int
        
        Return the number of non-overlapping occurrences of substring sub in
        string S[start:end].  Optional arguments start and end are
        interpreted as in slice notation.
metin1="string icin cift tirnak kullanılabilir."
metin2='tek tırnak da kullanılabilir.'
metin3="cift tirnak icinde kesme isareti (') kullanılabilir."
metin4='tek tirnak icinde tekrar tek tirnak kullanilcaksa ters slash ile kullanılır. \' '
print(metin1, metin2)
print(metin3)
print(metin4)
    string icin cift tirnak kullanılabilir. tek tırnak da kullanılabilir.
    cift tirnak icinde kesme isareti (') kullanılabilir.
    tek tirnak icinde tekrar tek tirnak kullanilcaksa ters slash ile kullanılır. ' 

Stringlerin indisleri

a="Bu bir metindir."
len(a)
    16
a[0], a[len(a)-1], a[5], a[-1], a[-4]
    ('B', '.', 'r', '.', 'd')
a[0:3], a[8:11], a[:5], a[5:]
    ('Bu ', 'eti', 'Bu bi', 'r metindir.')
a
    'Bu bir metindir.'
a[3:11:2], a[::2], a[::-1],a[::-2]
    ('brmt', 'B i eidr', '.ridnitem rib uB', '.intmrbu')
birinci_kelime="Merhaba"
ikinci_kelime="Dünya"
birinci_kelime+ikinci_kelime
    'MerhabaDünya'
birinci_kelime="Merhaba"
ikinci_kelime="Dünya"
birinci_kelime+" "+ikinci_kelime
    'Merhaba Dünya'
birinci_kelime * 10
    'MerhabaMerhabaMerhabaMerhabaMerhabaMerhabaMerhabaMerhabaMerhabaMerhaba'
print("-"*30)
    ------------------------------
a="bu bir metindir"
a.split(" ")
    ['bu', 'bir', 'metindir']
a.replace("b","B")
    'Bu Bir metindir'

Aritmetik operatörler

a=5
b=7
c=a+b
c
    12
c=a-b
c
    -2
c=a*b
c
    35
c=a/b
c
    0.7142857142857143
b=14
c=b//a
c
    2
a,b = 23, 5
a,b
    (23, 5)
c=a%b
c
    3
a=2
b=4
c=a**b
c
    16
2**10
    1024
a=b=c=100
a,b,c
    (100, 100, 100)
144**0.5
    12.0