create account

Tx 08aa8c99b907bbdafd8f8709b1aab57e7652c6be@32502749

Included in block 32,502,749 at 2019-04-30 17:07:36 (UTC)


Raw transaction

ref_block_num62,410
ref_block_prefix2,191,986,771
expiration2019-04-30 17:17:27
operations
0.
0.comment
1.
parent_author""
parent_permlinkcoogger
authorhakancelik
permlinkpythonda-str-nesnesinin-fonksiyonlar-methodlar-ve-method-sarmalayclar-method-method-wrapper
title"Str Nesnesinin Methodları ve Method Operasyonları ( Method, Method-Wrapper )"
body"<center>
<a href="https://www.coogger.com/@hakancelik/pythonda-str-nesnesinin-fonksiyonlar-methodlar-ve-method-sarmalayclar-method-method-wrapper">
<img alt="python-str.png" src="https://cdn.steemitimages.com/DQmeNd9vP6zQSp8tYHRT7eXFLZZ2daRuKXYMfi8Pbi8bwBv/python-str.png">
</a>
<a href="https://www.coogger.com/@hakancelik/pythonda-str-nesnesinin-fonksiyonlar-methodlar-ve-method-sarmalayclar-method-method-wrapper">Read this content on coogger</a>
</center>
"
json_metadata"{"format": "markdown", "tags": ["python", "str", "method", "coogger", "function"], "app": "coogger/1.4.1", "ecosystem": {"version": "1.4.1", "body": "[TOC]\r\n\r\n-------\r\n\r\n![python-str.png](https://cdn.steemitimages.com/DQmeNd9vP6zQSp8tYHRT7eXFLZZ2daRuKXYMfi8Pbi8bwBv/python-str.png)\r\n\r\n### Giri\u015f\r\nYukar\u0131daki resimde **str** tipinin asl\u0131nda bir python nesnesi ve alt\u0131nda bir \u00e7ok method ( nesneye ait fonksiyon) ve method-wrapper oldu\u011funu g\u00f6rebiliyoruz, sizlere bu yaz\u0131mda anlatmak istediklerim resimde g\u00f6rd\u00fc\u011f\u00fcn\u00fcz her\u015feydir.\r\n\r\nBundan \u00f6nceki yaz\u0131lar\u0131mda python'a ve fonksiyonlara giri\u015f yapm\u0131\u015f, bir ka\u00e7 fonksiyon kullan\u0131m\u0131n\u0131 \u00f6\u011frenmi\u015f, tipler konusuna de\u011finmi\u015f ve ko\u015ful durular\u0131n\u0131 incelemi\u015ftik \u015fimdi ise \u00e7ok daha b\u00fcy\u00fck ve g\u00fczel bir konuyu ele alaca\u011f\u0131z, eski i\u00e7eriklerde python'da bulunan her \u015feyin bir nesne oldu\u011funu ve str tipini \u00f6\u011frenmi\u015ftik \u015fimdi gelin hep birlikte biraz derinlere dalal\u0131m.\r\n\r\n### Method Nedir?\r\nMethodlar bir s\u0131n\u0131f ( nesne, object ) alt\u0131nda bulunan fonksiyonlard\u0131r.\r\n\r\n### Method-wrapper Nedir\r\nKendileri yine bir method olup built-in ( yerle\u015fik i\u015flev ) objeleri i\u00e7in c katinda tan\u0131mlanm\u0131\u015f edilmis ve belli operasyonlar\u0131n daha h\u0131zl\u0131 olmas\u0131n\u0131 sa\u011flayan methodlard\u0131r.\r\n> Python c dili ile yaz\u0131ld\u0131\u011f\u0131ndan\r\n\r\nGenellikle fark\u0131na varmadan kullan\u0131r\u0131z bu methodlar\u0131 \u00f6rnek vermek gerekirse.\r\n\r\n```python\r\n>>> \"string\" <= \"string\"\r\n>>> \"1\" == \"1\"\r\n```\r\n\r\nBu gibi i\u015flemleri yapmam\u0131z\u0131 sa\u011flarlar.\r\n\r\n[========]\r\n\r\n# Method-Wrappers\r\n\r\n## `__ne__` E\u015fit De\u011fildir Operasyon Methodu ( Not Equal to Operation Method)\r\npython konsolunu a\u00e7\u0131n ve \u015funlardan birini yaz\u0131n.\r\n\r\n- `\"\".__ne__`\r\n\r\n- `str('').__ne__`\r\n\r\n- `\"test\".__ne__`\r\n\r\n`<method-wrapper '__ne__' of str object at 0x0000024D27BB7C70>` buna benzer bir \u00e7\u0131kt\u0131 g\u00f6receksiniz, burada **str** nesnesine ait olan `__ne__` nin bir **method-wrapper** oldu\u011funu g\u00f6r\u00fcyoruz.\r\n\r\n> Not: Daha \u00f6nce a\u00e7\u0131klamad\u0131m galiba python'da nokta (.) i\u015fareti bir nesnenin methodlar\u0131n\u0131 dola\u015fmam\u0131z\u0131 sa\u011flar, \u00f6rne\u011fin hesap ad\u0131nda bir nesnem olsun ve isim ad\u0131nda bir methodum olsun hesap.isim yazd\u0131\u011f\u0131mda \u00e7\u0131kt\u0131 olarak 'hakan' gibi bir \u015fey verecektir, bu tam a\u00e7\u0131klay\u0131c\u0131 de\u011fil ama \u015fimdilik bu \u015fekilde bilin.\r\n\r\npeki bu method-wrapper'i nas\u0131l kullanaca\u011f\u0131z ne i\u015fe yarar?\r\n\r\n### `__ne__` Method-Wrapper ne \u0130\u015fe Yarar, Nas\u0131l Kullan\u0131l\u0131r?\r\nOnuda konsoldan bulal\u0131m, \u015f\u00f6yle yaz\u0131n, bu wrapper'in amac\u0131na bak\u0131yorum.\r\n- `''.__ne__.__doc__` \u00e7\u0131kt\u0131m **'Return self!=value.'** bu wrapper'in amac\u0131 nesne olan kendisi ile, parametre olarak verilen nesne de\u011feri e\u015fit de\u011fil ise **True** \u00e7\u0131kt\u0131s\u0131n\u0131 veriyormu\u015f.\r\n\r\n\u00d6rnek yapal\u0131m.\r\n\r\n```python\r\n>>> \"\".__ne__(\"\") # Str nesnem ile verilen de\u011fer ayn\u0131 bu y\u00fczden False \u00e7\u0131kt\u0131s\u0131 vermesi gerek\r\n>>> False\r\n>>> \"1\".__ne__(\"\") # Str nesnem ile de\u011fer 1 verilen ise bo\u015f karakter ayn\u0131 de\u011fil True \u00e7\u0131kt\u0131s\u0131 verir\r\n>>> True\r\n```\r\n\r\nBu i\u015flem ba\u015fka nas\u0131l yap\u0131l\u0131yor ? i\u015fte a\u015fa\u011f\u0131daki gibi.\r\n```python\r\nIn [1]: \"\" != \"\"\r\nOut[1]: False\r\n\r\nIn [2]: \"1\" != \"\"\r\nOut[2]: True\r\n```\r\n\r\nG\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi bu \u00f6\u011frenme yolunu takip ederek ba\u015fka ek bir kayna\u011fa gerek duymadan di\u011fer b\u00fct\u00fcn method ve fonksiyonlar\u0131 inceleyece\u011fiz.\r\n\r\n## `__mul__` \u00c7arpma Operasyon Methodu (Multiplication Operation Method)\r\nYine konsolu a\u00e7\u0131p \u015f\u00f6yle yaz\u0131p inceliyoruz `str(1).__mull__.__doc__` \u00e7\u0131kt\u0131m\u0131z `Return self*value.`, \u00e7\u0131tk\u0131m\u0131zdan da anla\u015f\u0131laca\u011f\u0131 \u00fczere **str** nesnemizin de\u011ferini girilen de\u011fer ile \u00e7arp\u0131yormu\u015f deneyelim bakal\u0131m.\r\n\r\n```python\r\nIn [12]: str(1).__mul__(3)\r\nOut[12]: '111'\r\nIn [13]: str(\"-\").__mul__(13)\r\nOut[13]: '-------------'\r\n```\r\n\r\nPeki bu i\u015flemi ba\u015fka nas\u0131l yap\u0131yoruz ? \u00e7ok kolay\r\n\r\n```python\r\nIn [15]: \"-\" * 13\r\nOut[15]: '-------------'\r\n```\r\n\r\nPython bu i\u015flemi yukar\u0131daki g\u00f6rd\u00fc\u011f\u00fcn\u00fcz wrapper'i kullanarak yap\u0131yor, yani isterseniz ** '-' * 30** i\u015fleminin sonucunu de\u011fi\u015ftirebilirsiniz.\r\n\r\nPython'da nesnelere az \u00e7ok giri\u015f yapt\u0131k fakat bir nesne nas\u0131l yaz\u0131l\u0131ri s\u0131n\u0131f nedir konular\u0131na de\u011finmedik ilerde bunlara de\u011finece\u011fim ama ondan \u00f6nce sizlere yukar\u0131daki \"-\" * 30 i\u015fleminin sonucunu nas\u0131l de\u011fi\u015ftirebildi\u011fini kodlarda g\u00f6stermek ve az da olsa s\u0131n\u0131f'lara ( nesne kodlamas\u0131na veya object oriented programming - di\u011fer ad\u0131yla nesne tabanl\u0131 programlamaya ) girmek istiyorum.\r\n\r\n```python\r\nclass TStr(str): # TStr isimli bir nesne, object olu\u015fturdum, ve str nesnemi miras ald\u0131m\r\n # bu \u015fu demek TStr isimli nesne i\u00e7inde str nesnemin \u00f6zelliklerine eri\u015fip kullanabilirim\r\n\r\n def __mul__(self, times): # nesne i\u00e7ine __mul__ ad\u0131nda bir fonksiyon tan\u0131mlad\u0131m\r\n # bu fonksiyon TStr isimli nesnemin bir methodudur.\r\n return times # nesnem ile girilen de\u011feri \u00e7arpmak yerine ki\u015finin \u00e7arpmak istedi\u011fi\r\n # say\u0131s\u0131 d\u00f6nd\u00fcrd\u00fcm.\r\n\r\ntest_str = TStr(\"bu bir test s\u0131n\u0131f\u0131d\u0131r\") # yeni s\u0131n\u0131f\u0131m\u0131 kullanarak bir str de\u011feri olu\u015fturdum ve test_str isimli de\u011fi\u015fkene att\u0131m\r\n\r\nprint(test_str * 3) #ve str nesnemi 3 kere \u00e7arp\u0131yorum yani , de\u011feri 3 defa yan yana toplamas\u0131 laz\u0131m, ama ben __mul__ wrapperimi de\u011fi\u015ftirdim bu y\u00fczden \u00f6yle olmayacak \u00e7\u0131kt\u0131 olarak 3 vermesi gerek\r\n```\r\n\r\n\u00c7\u0131kt\u0131m; `3`\r\n\r\ng\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi istedi\u011finiz \u015fekilde de\u011fi\u015ftirebilirsiniz.\r\n\r\n## `__lt__` B\u00fcy\u00fckt\u00fcr Operasyon Methodu (Greater Operation Method)\r\n\r\nS\u0131ra `__lt__` Method-Wrapper'ine geldi bakal\u0131m bu neler yapabiliyormu\u015f ?\r\n```python\r\nIn [1]: \"\".__lt__.__doc__\r\nOut[2]: 'Return self<value.'\r\n```\r\n\u00c7\u0131kan sonuca bakacak olursak e\u011fer varsay\u0131lan `__lt__` method'u bizlere bunun (`self<value `) **bool** de\u011ferini veriyor.\r\n\r\nyani biz konsolda veya program\u0131m\u0131zda elimizde bulunan **string** veri t\u00fcr\u00fcm\u00fczdeki verimiz ile \u015f\u00f6yle bir i\u015flem yaparsak `\"123\"<\"234\"` ne sonu\u00e7 verir, bu i\u015flemin bool de\u011feri nedir ? `True`'dur i\u015fte `__lt__` methodu varsay\u0131lan olarak bunu sa\u011flar, istersek bu i\u015flemi de\u011fi\u015ftirebilirsiniz.\r\n\r\n```python\r\nIn [1]: \"\".__lt__(\"123\")\r\nOut[2]: True\r\n# bular\u0131n ikisi ayn\u0131\r\nIn [1]: \"\" < \"123\"\r\nOut[2]: True\r\n\r\nIn [3]: \"123\".__lt__(\"123\")\r\nOut[4]: False\r\nIn [1]: \"\" < \"123\"\r\nOut[2]: True\r\n\r\nIn [5]: \"12\".__lt__(\"123\")\r\nOut[6]: True\r\nIn [1]: \"\" < \"123\"\r\nOut[2]: True\r\n```\r\n\r\n### `__lt__` Methodumuzun \u0130\u015flemini De\u011fi\u015ftirelim\r\n\r\n\u015eimdi kendi nesnemi yazacam ve bu nesnem **str** nesnesini miras alacak bu sayede str nesnesinin \u00f6zelliklerine eri\u015febilece\u011fim hatta istersem de\u011fi\u015ftirebilece\u011fim bile.\r\n\r\n```python\r\nclass MyStrClass(str): # MyStrClass isimli nesnemi yaratt\u0131m ve str nesnemi miras ald\u0131m.\r\n\r\n def __lt__(self, text): # __lt__ methodunu de\u011fi\u015ftirmek i\u00e7in onu kendi nesnemde tekrar tan\u0131mlad\u0131m ve text isimli 1 parametre verdim\r\n\t\t# bu sayede \"\" < \"\" i\u015flemi yap\u0131ld\u0131\u011f\u0131nda str nesnesinin de\u011fil benim nesnemin __lt__ isimli methodu \u00e7al\u0131\u015facak\r\n return text # bu b\u00f6l\u00fcm ise parametre olarak verilen veriyi tekrar d\u00f6nd\u00fcr\u00fcyor.\r\n\t\t# yani \"test\"<\"123\" yap\u0131l\u0131rsa False yerine 123 \u00e7\u0131kt\u0131s\u0131 verecek\r\n```\r\n\r\ntest edelim kendi **str** nesnemizi.\r\n\r\n```python\r\n>>> my_str = MyStrClass(\"bu benim str nesnem\")\r\n>>> print(my_str < \"test string\")\r\n>>> 'test string' # \u00e7\u0131kt\u0131 olarak ayn\u0131s\u0131n\u0131 ald\u0131m g\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi i\u015flemi de\u011fi\u015ftirdik.\r\n```\r\n\r\n## `__len__` Uzunluk Bulma Operasyonu (Length Finding Operation)\r\n\r\n`__len__` wrapper'inin ne yapt\u0131\u011f\u0131na bakal\u0131m.\r\n```python\r\n>>> \"\".__len__.__doc__\r\n'Return len(self).'\r\n```\r\n\r\n\u00c7\u0131kt\u0131dan anlad\u0131\u011f\u0131m\u0131za g\u00f6re verilen nesneyi parametre alarak len fonksiyonunu d\u00f6nd\u00fcr\u00fcyor.\r\n> len fonksiyonu verilen str veya list veri tipinin eleman say\u0131s\u0131n\u0131 d\u00f6nd\u00fcr\u00fcr\r\n\r\nYani `__len__` wrapper'i **len()** fonksiyonu ile ayn\u0131 i\u015fi yap\u0131yormu\u015f.\r\n\r\n```python\r\n>>> \"33\".__len__()\r\n>>> 2\r\n>>> [1, 2, 3].__len__()\r\n3\r\n```\r\n\r\nYukar\u0131da 2 tane \u00f6rnek verdim daha iyi anla\u015f\u0131lmas\u0131 a\u00e7\u0131s\u0131ndan.\r\n\r\n## `__le__` B\u00fcy\u00fck E\u015fittir Operasyonu (Greater Equal Operation)\r\n### G\u00f6revi\r\n```python\r\n>>> \"\".__le__.__doc__\r\n'Return self<=value.'\r\n```\r\ng\u00f6revi `\"hakan\"<=\"celik\".` bu i\u015flem ile ayn\u0131d\u0131r, bu demek oluyor ki `__le__` wrapperini de\u011fi\u015ftirerek python'da bulunan `<=` i\u015fleminin sonucunu de\u011fi\u015ftirebiliriz, ve sonu\u00e7 bir **bool** dur yani **True** veya **False**'d\u0131r.\r\n\r\n### \u00d6rnek\r\n```python\r\n>>> \"test a\".__le__(\"test a\")\r\n>>> True\r\n\r\n>>> \"test a e\".__le__(\"test a\")\r\n>>> False\r\n```\r\n\r\n## `__eq__` E\u015fitlik Operasyonu ( Equality operation )\r\nString'imiz ile parametre olarak verilen veya `==` soldan sa\u011fa \u015feklinde ile kontrol edilerek \u00e7al\u0131\u015fan bir operasyondur methodudur.\r\n\r\n```python\r\n>>> \"hakan\".__eq__(\"hakan\")\r\nTrue\r\n>>> \"hakan celik\".__eq__(\"hakan\")\r\nFalse\r\n>>> \"hakan\" == \"hakan\"\r\nTrue\r\n```\r\n\r\n# Methods\r\n\r\n## Swapcase Methodu\r\nK\u0131saca s\u00f6ylemek gerekirse `swapcase()` fonksiyonu string'de bulunan b\u00fcy\u00fck karekterleri k\u00fc\u00e7\u00fck, k\u00fc\u00e7\u00fck karakteri ise b\u00fcy\u00fck yapar.\r\n\r\n> Convert uppercase characters to lowercase and lowercase characters to uppercase.\r\n\r\n### Kullan\u0131\u015f\u0131;\r\n```python\r\n>>> \"AbCd \".swapcase()\r\n>>> \"aBcD \"\r\n```\r\n\r\n## Partition Methodu\r\nBu method verilen parametre'yi kullanarak dizeyi 3 par\u00e7aya ay\u0131r\u0131r e\u011fer verilen parametre dizede yok ise yine 3 par\u00e7aya b\u00f6ler ama 2 tane'si bo\u015f dize olarak belirlenir ve bir tuble olarak d\u00f6ner.\r\n\r\n> Partition the string into three parts using the given separator. This will search for the separator in the string. If the separator is found, returns a 3-tuple containing the part before the separator, the separator itself, and the part after it. If the separator is not found, returns a 3-tuple containing the original string and two empty strings.\r\n\r\n### \u00d6rnek;\r\n```python\r\n>>> \"1231 1\".partition(\"2\")\r\n>>> ('1', '2', '31 1')\r\n>>> \"a\".partition(\"a\")\r\n>>> ('', 'a', '')\r\n>>> \"aa\".partition(\"a\")\r\n>>> ('', 'a', 'a')\r\n>>> \"aaa\".partition(\"a\")\r\n>>> ('', 'a', 'aa')\r\n>>> \"aaab\".partition(\"a\")\r\n>>> ('', 'a', 'aab')\r\n>>> \"abaab\".partition(\"a\")\r\n>>> ('', 'a', 'baab')\r\n```\r\n\r\n### Partition Methodunu De\u011fi\u015ftirelim\r\nYine yukar\u0131da di\u011fer konularda yapt\u0131\u011f\u0131m\u0131z gibi bir de\u011fi\u015fim yolu ile yapaca\u011f\u0131z, sadece yap\u0131labildi\u011fi i\u00e7in yaz\u0131yorum sizlere belki farkl\u0131 bir bak\u0131\u015f a\u00e7\u0131s\u0131 belki ba\u015fka bir \u015fey kazand\u0131r\u0131r diye.\r\n\r\n```python\r\nclass str(str): # str nesnemi miras ald\u0131m ve str ad\u0131nda yeni bir nesne olu\u015fturdum\r\n\r\n def partition(self, p): # varsay\u0131lan str nesnemin partition methodun ald\u0131m\r\n return \"lalal\" # ve lalal diye bir string d\u00f6nd\u00fcrd\u00fcm\r\n\r\nprint(str(\"sd\").partition(\"a\"))\r\n```\r\n\r\n\u00c7\u0131kt\u0131m\u0131z ne olur sizce ? tabiki `lalal` olur.\r\nG\u00f6n\u00fcl isterki python'da bulunan str nesnesini varsay\u0131lan olarak de\u011fi\u015ftirebilelim belkide bu m\u00fcmk\u00fcnd\u00fcr ama bilmiyorum.\r\n\r\n#### Not\r\nVermek istedi\u011fim mesajlar\u0131 verdi\u011fim i\u00e7in bu k\u0131s\u0131mlar\u0131 daha h\u0131zl\u0131 anlat\u0131p ge\u00e7meyi planl\u0131yorum hem tekrarar d\u00fc\u015fmemek hemde sizleri s\u0131kmamak i\u00e7in.\r\n\r\n## Maketrans Methodu\r\nSadece 1 tane parametre alabilir ve t\u00fcr\u00fc **dict** olmal\u0131d\u0131r, bu method `translate` methodu ile birlikte istenilen karakterleri de\u011fi\u015ftirmek i\u00e7in kullan\u0131l\u0131yor.\r\n\r\n```python\r\n>>> str().maketrans(dict(a=1))\r\n{97: 1}\r\n```\r\n\r\nYukar\u0131daki \u00f6rnek bizlere bir **dict** d\u00f6nd\u00fcrd\u00fc\u011f\u00fcn\u00fc g\u00f6r\u00fcyoruz a de\u011ferinin acsii kar\u015f\u0131l\u0131\u011f\u0131 key olarak verilmi\u015f value olarak ise a de\u011fi\u015fkenine atad\u0131\u011f\u0131m\u0131z de\u011feri d\u00f6nd\u00fcr\u00fcyor.\r\n\r\n## Translate Methodu\r\n**Translate** methodu translation \u00e7eviri tablosunu kullanarak verilen **string**'in her bir karakterini de\u011fi\u015ftirir. \u00c7eviri tablosu **dict** t\u00fcr\u00fcnden bir veri olmal\u0131d\u0131r zaten bu k\u0131sm\u0131 bir \u00fcst k\u0131s\u0131mda anlatt\u0131\u011f\u0131m method yard\u0131m\u0131 ile olu\u015fturabiliyoruz bizim teker teker girmemize gerek kalm\u0131yor.\r\n\r\n```python\r\n>>> \"b\".translate(str().maketrans(dict(b=\"r\")))\r\n'r'\r\n````\r\nBurda `dict(b=\"r\")` bu k\u0131s\u0131m sayesinde b karakteni r yapabiliyoruz\r\n\r\n```python\r\n>>> \"b\".translate(\"\".maketrans(dict(c=\"r\")))\r\n'b'\r\n````\r\nBu k\u0131s\u0131mda c karakteri olmad\u0131\u011f\u0131 i\u00e7in replace i\u015flemi yapam\u0131yoruz\r\n\r\n```python\r\n>>> \"bcca\".translate(str().maketrans(dict(c=\"r\")))\r\n'brra'\r\n````\r\nBurda c olan her bir karakter r oluyor\r\n\r\n## Ljust Methodu\r\nTek parametreli bir method olup `integer` t\u00fcr\u00fcnden bir de\u011fier al\u0131r ve ald\u0131\u011f\u0131 de\u011fer kadar soldan bo\u015fluk ekler.\r\n\r\n```python\r\n>>> \"Hakan\".ljust(11)\r\n\"Hakan \"\r\n```\r\n\r\n## Join Methodu\r\nJoin methodu ger\u00e7ekten s\u0131k kullan\u0131lan ve kullan\u0131\u015fl\u0131 bir method'dur, tek parametre al\u0131r `list` veya tuble t\u00fcr\u00fcnde olmal\u0131d\u0131r. Parametre olarak ald\u0131\u011f\u0131 her bir liste eleman\u0131n\u0131n bulundu\u011fu `string`'e ekler.\r\n\r\nListe elemanlar\u0131 `string` olmal\u0131d\u0131r.\r\n\r\n```python\r\n>>> str().join([\"-\",\"\u015f\", \"2\", \" \", \"/\"])\r\n'-\u015f2 /'\r\n```\r\n\r\n```python\r\n>>> \"/\".join([\"path\", \"to\"])\r\n'path/to'\r\n```\r\n\r\n## Istitle Methodu\r\nBu method string nesnesinin Ba\u015fl\u0131k ( Title ) format\u0131nda yaz\u0131l\u0131p yaz\u0131lmad\u0131\u011f\u0131n\u0131 kontrol eder e\u011fer do\u011fru ise `True` sonucunu d\u00f6nd\u00fcr\u00fcr, ba\u015fl\u0131k format\u0131ndan kast\u0131m\u0131z ise bildi\u011fimiz yaz\u0131m kurallar\u0131n\u0131 kapsar \u00f6rnek olarak.\r\n\r\n- Bu Bir Ba\u015fl\u0131kt\u0131r\r\n- Ba\u015fl\u0131k\r\n\r\nBa\u015f harfleri b\u00fcy\u00fck,\r\n\r\n```python\r\n>>> \"Bu Bir Ba\u015fl\u0131kt\u0131r\".istitle()\r\nTrue\r\n>>> \"Bu Bir ba\u015fl\u0131kt\u0131r\".istitle()\r\nFalse\r\n```\r\n\r\n## Isspace Methodu\r\nE\u011fer string'imiz sadece whitespace yani bo\u015fluk karakterleri ise `True` d\u00f6nd\u00fcr\u00fcr aksi halde `False` d\u00f6nd\u00fcr\u00fcr.\r\n\r\n```python\r\n>>> str().isspace()\r\nFalse\r\n>>> str(\" \").isspace()\r\nTrue\r\n>>> str(\" t\").isspace()\r\nFalse\r\n```\r\n\r\n## Islower Methodu\r\nE\u011fer string'imiz sadece k\u00fc\u00e7\u00fck karakterlerden olu\u015fuyor ise `True` d\u00f6nd\u00fcr\u00fcr aksi halde `False` d\u00f6nd\u00fcr\u00fcr.\r\n\r\n```python\r\n>>> \"Ab\".islower()\r\nFalse\r\n>>> \"ab\".islower()\r\nTrue\r\n```\r\n\r\n## Isdecimal Methodu\r\nE\u011fer string'imiz sadece say\u0131ya d\u00f6n\u00fc\u015febilen karakterlerden olu\u015fuyorsa `True` d\u00f6nd\u00fcr\u00fcr aksi halde `False` d\u00f6nd\u00fcr\u00fcr.\r\n\r\n```python\r\n>>> \"1\".isdecimal()\r\nTrue\r\n>>> \"a 1\".isdecimal()\r\nFalse\r\n>>> \"1 2\".isdecimal() # bo\u015fluk var\r\nFalse\r\n>>> \"1234\".isdecimal()\r\nTrue\r\n```\r\n\r\n## Isascii Methodu\r\nE\u011fer string'imiz sadece ascii karakterlerden olu\u015fuyorsa `True` d\u00f6nd\u00fcr\u00fcr aksi halde `False` d\u00f6nd\u00fcr\u00fcr.\r\n\r\n```python\r\n>>> \"asd\".isascii()\r\nTrue\r\n>>> \"asd\u0131\".isascii() # \u0131 harfi ascii de\u011fildir\r\nFalse\r\n```\r\n\r\n## Isalpha Methodu\r\nE\u011fer string'imiz sadece karakterlerden olu\u015fuyorsa `True` d\u00f6nd\u00fcr\u00fcr aksi halde `False` d\u00f6nd\u00fcr\u00fcr.\r\n\r\n```python\r\n>>> \"123 a\".isalpha()\r\nFalse\r\n>>> \"123\".isalpha()\r\nFalse\r\n>>> \"asd\".isalpha()\r\nTrue\r\n```\r\n\r\n## Isalnum Methodu\r\nE\u011fer string'imiz sadece karakterlerden veya say\u0131lardan olu\u015fuyorsa `True` d\u00f6nd\u00fcr\u00fcr aksi halde `False` d\u00f6nd\u00fcr\u00fcr.\r\n\r\n```python\r\n>>> \"test a\".isalnum() # bo\u015fluk var o y\u00fczden False\r\nFalse\r\n>>> \"12\".isalnum()\r\nFalse\r\n>>> \"12s\".isalnum()\r\nTrue\r\n```\r\n\r\n## Index Methodu\r\nParametre olarak verilen str t\u00fcr\u00fcndeki verimizi string'imizde e\u015fle\u015fti\u011fi ilk konumu verir.\r\n\r\n```python\r\n# test a\r\n# 012345 indexler\r\n>>> \"test a\".index(\"a\")\r\n5\r\n>>> \"test ava\".index(\"a\") # yine ilk konumu verecek\r\n5\r\n```\r\n\r\n## Expandtabs Methodu\r\nString'imizde tab ka\u00e7\u0131\u015f i\u015fareti buldu\u011funda onu bo\u015fluklar yard\u0131m\u0131 ile geni\u015fletir, tek parametre al\u0131r ve bu varsay\u0131lan olarak 8 dir.\r\n\r\n> Tab ka\u00e7\u0131i i\u015farati `\\t` dir.\r\n\r\n```python\r\n>>> \"test \\t\".expandtabs()\r\n'test ' # 8 bo\u015fluk vard\u0131r\r\n>>> \"test \\t\\t\".expandtabs() # iki tab ka\u00e7\u0131\u015f i\u015fareti oldu\u011fu i\u00e7in\r\n'test ' # 16 bo\u015fluk var\r\n>>> \"test\\t\\t\".expandtabs(0) # parametreye 0 yazd\u0131\u011f\u0131m i\u00e7in 8 yerine 0 bo\u015fluk koyacak\r\n'test' # hi\u00e7 bo\u015fluk yok\r\n```\r\n\r\n## Count Methodu\r\nTek parametre al\u0131r ve ald\u0131\u011f\u0131 str t\u00fcr\u00fcndeki parametrenin verilen string'imizde ka\u00e7 defa ge\u00e7ti\u011fini d\u00f6nd\u00fcr\u00fcr.\r\n\r\n```python\r\n>>> \"I love you 3000\".count(\"0\")\r\n3\r\n>>> \"I am iron man\".count(\"a\")\r\n2\r\n```\r\n\r\n## Center Methodu\r\nString'imizin parametre olarak girilen say\u0131 uzunlu\u011funda olmas\u0131n\u0131 sa\u011flar ve string'i ortalar, e\u011fer parametre'ye yaz\u0131lan say\u0131 string'in uzunlu\u011fundan az ise de\u011fi\u015fmez.\r\n\r\n```python\r\n>>> \"I do not feel good\".center(3)\r\n'I do not feel good'\r\n>>> \"I do not feel good\".center(30)\r\n' I do not feel good '\r\n```"}}"
extensions[]
signatures
0.1f717b963576e18582a7b09d5aa176af419cddc17dc7bd99c06f2edf99a4e2a5c109add2b9c96278355cba261a976ca64a399e6409e0587c64d1981b958b4bb28e
transaction_id08aa8c99b907bbdafd8f8709b1aab57e7652c6be
block_num32,502,749
transaction_num15