├── README.md ├── eda-örnek ├── athlete_events.zip └── noc_regions.csv ├── regresyon-giris └── multicollinearity.png ├── sınıflandırma-giris ├── logreg_model.pkl └── ny_sf_apt.csv └── python └── Python_Temelleri.ipynb /README.md: -------------------------------------------------------------------------------- 1 | # IBB_Yapay_Zeka_Kampi 2 | -------------------------------------------------------------------------------- /eda-örnek/athlete_events.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ataozarslan/IBB_Yapay_Zeka_Kampi/HEAD/eda-örnek/athlete_events.zip -------------------------------------------------------------------------------- /regresyon-giris/multicollinearity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ataozarslan/IBB_Yapay_Zeka_Kampi/HEAD/regresyon-giris/multicollinearity.png -------------------------------------------------------------------------------- /sınıflandırma-giris/logreg_model.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ataozarslan/IBB_Yapay_Zeka_Kampi/HEAD/sınıflandırma-giris/logreg_model.pkl -------------------------------------------------------------------------------- /eda-örnek/noc_regions.csv: -------------------------------------------------------------------------------- 1 | NOC,region,notes AFG,Afghanistan, AHO,Curacao,Netherlands Antilles ALB,Albania, ALG,Algeria, AND,Andorra, ANG,Angola, ANT,Antigua,Antigua and Barbuda ANZ,Australia,Australasia ARG,Argentina, ARM,Armenia, ARU,Aruba, ASA,American Samoa, AUS,Australia, AUT,Austria, AZE,Azerbaijan, BAH,Bahamas, BAN,Bangladesh, BAR,Barbados, BDI,Burundi, BEL,Belgium, BEN,Benin, BER,Bermuda, BHU,Bhutan, BIH,Bosnia and Herzegovina, BIZ,Belize, BLR,Belarus, BOH,Czech Republic,Bohemia BOL,Boliva, BOT,Botswana, BRA,Brazil, BRN,Bahrain, BRU,Brunei, BUL,Bulgaria, BUR,Burkina Faso, CAF,Central African Republic, CAM,Cambodia, CAN,Canada, CAY,Cayman Islands, CGO,Republic of Congo, CHA,Chad, CHI,Chile, CHN,China, CIV,Ivory Coast, CMR,Cameroon, COD,Democratic Republic of the Congo, COK,Cook Islands, COL,Colombia, COM,Comoros, CPV,Cape Verde, CRC,Costa Rica, CRO,Croatia, CRT,Greece,Crete CUB,Cuba, CYP,Cyprus, CZE,Czech Republic, DEN,Denmark, DJI,Djibouti, DMA,Dominica, DOM,Dominican Republic, ECU,Ecuador, EGY,Egypt, ERI,Eritrea, ESA,El Salvador, ESP,Spain, EST,Estonia, ETH,Ethiopia, EUN,Russia, FIJ,Fiji, FIN,Finland, FRA,France, FRG,Germany, FSM,Micronesia, GAB,Gabon, GAM,Gambia, GBR,UK, GBS,Guinea-Bissau, GDR,Germany, GEO,Georgia, GEQ,Equatorial Guinea, GER,Germany, GHA,Ghana, GRE,Greece, GRN,Grenada, GUA,Guatemala, GUI,Guinea, GUM,Guam, GUY,Guyana, HAI,Haiti, HKG,China,Hong Kong HON,Honduras, HUN,Hungary, INA,Indonesia, IND,India, IOA,Individual Olympic Athletes,Individual Olympic Athletes IRI,Iran, IRL,Ireland, IRQ,Iraq, ISL,Iceland, ISR,Israel, ISV,"Virgin Islands, US",Virgin Islands ITA,Italy, IVB,"Virgin Islands, British", JAM,Jamaica, JOR,Jordan, JPN,Japan, KAZ,Kazakhstan, KEN,Kenya, KGZ,Kyrgyzstan, KIR,Kiribati, KOR,South Korea, KOS,Kosovo, KSA,Saudi Arabia, KUW,Kuwait, LAO,Laos, LAT,Latvia, LBA,Libya, LBR,Liberia, LCA,Saint Lucia, LES,Lesotho, LIB,Lebanon, LIE,Liechtenstein, LTU,Lithuania, LUX,Luxembourg, MAD,Madagascar, MAL,Malaysia, MAR,Morocco, MAS,Malaysia, MAW,Malawi, MDA,Moldova, MDV,Maldives, MEX,Mexico, MGL,Mongolia, MHL,Marshall Islands, MKD,Macedonia, MLI,Mali, MLT,Malta, MNE,Montenegro, MON,Monaco, MOZ,Mozambique, MRI,Mauritius, MTN,Mauritania, MYA,Myanmar, NAM,Namibia, NBO,Malaysia,North Borneo NCA,Nicaragua, NED,Netherlands, NEP,Nepal, NFL,Canada,Newfoundland NGR,Nigeria, NIG,Niger, NOR,Norway, NRU,Nauru, NZL,New Zealand, OMA,Oman, PAK,Pakistan, PAN,Panama, PAR,Paraguay, PER,Peru, PHI,Philippines, PLE,Palestine, PLW,Palau, PNG,Papua New Guinea, POL,Poland, POR,Portugal, PRK,North Korea, PUR,Puerto Rico, QAT,Qatar, RHO,Zimbabwe, ROT,NA,Refugee Olympic Team ROU,Romania, RSA,South Africa, RUS,Russia, RWA,Rwanda, SAA,Germany, SAM,Samoa, SCG,Serbia,Serbia and Montenegro SEN,Senegal, SEY,Seychelles, SIN,Singapore, SKN,Saint Kitts,Turks and Caicos Islands SLE,Sierra Leone, SLO,Slovenia, SMR,San Marino, SOL,Solomon Islands, SOM,Somalia, SRB,Serbia, SRI,Sri Lanka, SSD,South Sudan, STP,Sao Tome and Principe, SUD,Sudan, SUI,Switzerland, SUR,Suriname, SVK,Slovakia, SWE,Sweden, SWZ,Swaziland, SYR,Syria, TAN,Tanzania, TCH,Czech Republic, TGA,Tonga, THA,Thailand, TJK,Tajikistan, TKM,Turkmenistan, TLS,Timor-Leste, TOG,Togo, TPE,Taiwan, TTO,Trinidad,Trinidad and Tobago TUN,Tunisia, TUR,Turkey, TUV,NA,Tuvalu UAE,United Arab Emirates, UAR,Syria,United Arab Republic UGA,Uganda, UKR,Ukraine, UNK,NA,Unknown URS,Russia, URU,Uruguay, USA,USA, UZB,Uzbekistan, VAN,Vanuatu, VEN,Venezuela, VIE,Vietnam, VIN,Saint Vincent, VNM,Vietnam, WIF,Trinidad,West Indies Federation YAR,Yemen,North Yemen YEM,Yemen, YMD,Yemen,South Yemen YUG,Serbia,Yugoslavia ZAM,Zambia, ZIM,Zimbabwe, -------------------------------------------------------------------------------- /sınıflandırma-giris/ny_sf_apt.csv: -------------------------------------------------------------------------------- 1 | in_sf,beds,bath,price,year_built,sqft,price_per_sqft,elevation 2 | 0,2,1,999000,1960,1000,999,10 3 | 0,2,2,2750000,2006,1418,1939,0 4 | 0,2,2,1350000,1900,2150,628,9 5 | 0,1,1,629000,1903,500,1258,9 6 | 0,0,1,439000,1930,500,878,10 7 | 0,0,1,439000,1930,500,878,10 8 | 0,1,1,475000,1920,500,950,10 9 | 0,1,1,975000,1930,900,1083,10 10 | 0,1,1,975000,1930,900,1083,12 11 | 0,2,1,1895000,1921,1000,1895,12 12 | 0,3,3,2095000,1926,2200,952,4 13 | 0,1,1,999000,1982,784,1274,5 14 | 0,1,1,999000,1982,784,1274,5 15 | 0,1,1,1249000,1987,826,1512,3 16 | 0,0,1,1110000,2008,698,1590,5 17 | 0,2,2,2059500,2008,1373,1500,5 18 | 0,2,2,2000000,1928,1200,1667,10 19 | 0,1,1,715000,1903,557,1284,3 20 | 0,2,2,2498000,2005,1260,1983,2 21 | 0,2,1.5,2650000,1915,2500,1060,5 22 | 0,2,2,3450000,1900,1850,1865,9 23 | 0,1,1,3105000,2016,1108,2802,10 24 | 0,4,5,13750000,2016,3699,3717,10 25 | 0,2,2,1185000,1900,1000,1185,4 26 | 0,1,2,1699000,1900,1500,1133,5 27 | 0,1,1,1195000,1900,1093,1093,6 28 | 0,1,1,450000,1920,500,900,10 29 | 0,1,1,1195000,1900,1093,1093,10 30 | 0,2,2,1185000,1900,1000,1185,10 31 | 0,0,1,625000,1964,800,781,8 32 | 0,2,2,3159990,2012,1420,2225,8 33 | 0,2,2,2200000,1920,2050,1073,10 34 | 0,2,2,4895000,2016,1520,3220,10 35 | 0,2,2,6525000,2016,2018,3233,10 36 | 0,2,2,4895000,2016,1520,3220,11 37 | 0,2,2,6525000,2016,2018,3233,11 38 | 0,2,2,1675000,2006,1225,1367,12 39 | 0,2,2,1675000,2006,1225,1367,12 40 | 0,2,1,999000,1985,799,1250,5 41 | 0,1,1,1550000,1926,1000,1550,6 42 | 0,1,1,1595000,2015,714,2234,7 43 | 0,2,2,3995000,1906,2400,1665,9 44 | 0,1,1,1285000,2012,749,1716,10 45 | 0,1,1,1595000,2015,714,2234,10 46 | 0,2,2,3995000,1906,2400,1665,10 47 | 0,2,2,4995000,1900,2024,2468,8 48 | 0,3,2,3580000,1880,3000,1193,10 49 | 0,3,3,6350000,2015,2500,2540,3 50 | 0,3,3,6550000,2015,2500,2620,3 51 | 0,3,3,5985000,1909,3300,1814,3 52 | 0,3,3,9900000,2015,2950,3356,4 53 | 0,1,1,1849000,1920,1400,1321,5 54 | 0,2,2,3500000,1915,2000,1750,5 55 | 0,2,2,3500000,1910,1887,1855,5 56 | 0,1,1,1250000,2007,720,1736,6 57 | 0,2,1,899000,1990,820,1096,7 58 | 0,1,2,1950000,1900,1300,1500,7 59 | 0,1,1,1750000,1963,1000,1750,5 60 | 0,0,1,775000,2009,546,1419,6 61 | 0,0,1,390000,1955,550,709,6 62 | 0,0,1,699999,1988,500,1400,9 63 | 0,1,1,649000,1965,750,865,10 64 | 0,2,2,1200000,1964,1200,1000,10 65 | 0,0,1,319000,1941,500,638,10 66 | 0,0,1,699999,1988,500,1400,10 67 | 0,0,1,775000,2009,546,1419,10 68 | 0,1,1,649000,1965,750,865,10 69 | 0,2,2,1849000,2009,1135,1629,10 70 | 0,1,1,615000,1960,750,820,11 71 | 0,1,1,1590000,2008,785,2025,12 72 | 0,1,1,1150000,2014,645,1783,18 73 | 0,2,2,2650000,2014,1240,2137,18 74 | 0,0,1,469000,1932,500,938,18 75 | 0,0,1,569000,1962,543,1048,8 76 | 0,1,1,549000,1924,750,732,10 77 | 0,2,2,799000,1928,850,940,19 78 | 0,2,2,879000,1928,800,1099,22 79 | 0,2,3,2999000,1925,3200,937,10 80 | 0,2,3,2999000,1925,3200,937,10 81 | 0,2,3,2999000,1925,3200,937,12 82 | 0,2,3,2999000,1925,3200,937,12 83 | 0,1,1,399000,1910,475,840,10 84 | 0,1,1,1135000,2005,715,1587,10 85 | 0,1,1,1145000,2005,700,1636,10 86 | 0,1,1,1760000,1969,950,1853,10 87 | 0,2,2,1725000,2005,976,1767,10 88 | 0,2,2,2750000,2007,1384,1987,10 89 | 0,2,2,2750000,2007,1384,1987,13 90 | 0,1,1,399000,1910,475,840,14 91 | 0,2,2,1725000,2005,1144,1508,16 92 | 0,1,1,869000,1988,670,1297,16 93 | 0,1,1,1760000,1969,950,1853,17 94 | 0,3,3,1249000,1962,1500,833,18 95 | 0,3,3,1500000,1962,1600,938,18 96 | 0,1,1,1135000,2005,715,1587,19 97 | 0,1,1,1145000,2005,700,1636,19 98 | 0,2,2,1725000,2005,976,1767,19 99 | 0,2,2,3500000,1925,1550,2258,20 100 | 0,0,1,525000,1940,525,1000,21 101 | 0,2,2,2025000,1940,1433,1413,21 102 | 0,2,2,3500000,1986,1463,2392,23 103 | 0,0,1,925000,1978,585,1581,24 104 | 0,2,2,1700000,1982,1007,1688,25 105 | 0,2,2,1700000,1982,1007,1688,25 106 | 0,0,1,449000,1962,550,816,10 107 | 0,0,1,299000,1930,400,748,12 108 | 0,1,1,695000,1961,720,965,16 109 | 0,1,1,695000,1961,720,965,16 110 | 0,4,5,17750000,2012,4476,3966,20 111 | 0,5,5,27500000,1930,7500,3667,21 112 | 0,0,1,539000,1957,485,1111,10 113 | 0,0,1,779000,1975,512,1521,10 114 | 0,1,1,925000,1985,745,1242,10 115 | 0,1,1,1319000,1958,1000,1319,10 116 | 0,2,2,4240000,2016,1741,2435,10 117 | 0,2,2,4285000,2016,1747,2453,10 118 | 0,3,3,4875000,2016,2017,2417,10 119 | 0,3,3,14950000,1931,4435,3371,10 120 | 0,3,3,10225000,2016,3007,3400,10 121 | 0,4,4,13400000,2016,3331,4023,10 122 | 0,5,5,19000000,2016,4972,3821,10 123 | 0,0,1,539000,1957,485,1111,11 124 | 0,1,1,835000,1963,700,1193,12 125 | 0,10,10,7995000,1910,6400,1249,12 126 | 0,0,1,349000,1960,400,873,13 127 | 0,1,1,588000,1970,600,980,14 128 | 0,2,2,8690000,2002,2178,3990,15 129 | 0,2,2,4195000,2016,1750,2397,15 130 | 0,2,2,4195000,2016,1742,2408,15 131 | 0,2,2,4240000,2016,1741,2435,15 132 | 0,2,2,4285000,2016,1747,2453,15 133 | 0,3,3,4875000,2016,2017,2417,15 134 | 0,3,3,5750000,2016,2196,2618,15 135 | 0,3,3,9350000,2016,3054,3062,15 136 | 0,3,3,10225000,2016,3007,3400,15 137 | 0,4,4,13150000,2016,3338,3939,15 138 | 0,4,4,13400000,2016,3331,4023,15 139 | 0,5,5,19000000,2016,4972,3821,15 140 | 0,0,1,850000,1924,546,1557,10 141 | 0,7,7,19500000,1994,4238,4601,10 142 | 0,1,1,1000000,1912,612,1634,18 143 | 0,0,1,485000,1902,310,1565,23 144 | 0,3,2,7350000,1999,2075,3542,23 145 | 0,1,1,1200000,1969,600,2000,23 146 | 0,2,2,4250000,2011,1504,2826,23 147 | 0,2,2,3600000,1960,1340,2687,24 148 | 0,2,2,3600000,1960,1340,2687,24 149 | 0,1,1,525000,1924,700,750,24 150 | 0,0,1,545000,1900,387,1408,10 151 | 0,1,1,535000,1900,450,1189,10 152 | 0,4,4,5500000,1923,3200,1719,21 153 | 0,4,5,12000000,1939,3700,3243,22 154 | 0,1,2,1850000,2007,839,2205,23 155 | 0,1,1,535000,1900,450,1189,27 156 | 0,2,2,1350000,1931,1300,1038,36 157 | 0,1,1,779000,1902,700,1113,10 158 | 0,2,1,1475000,1973,971,1519,10 159 | 0,2,2,1385000,1971,962,1440,10 160 | 0,1,1,779000,1902,700,1113,13 161 | 0,1,1,649000,1929,800,811,25 162 | 0,0,1,725000,1960,600,1208,26 163 | 0,2,1,925000,1941,790,1171,27 164 | 0,1,1,965000,1961,787,1226,27 165 | 0,2,1,1250000,1922,1145,1092,30 166 | 0,1,1,650000,1907,720,903,32 167 | 0,2,1,385000,1999,820,470,8 168 | 0,2,2,1695000,2012,1051,1613,16 169 | 0,1,1,600000,1899,1060,566,8 170 | 0,2,1,910000,1899,1060,858,8 171 | 0,8,7,2300000,1910,4180,550,9 172 | 0,1,1,600000,1899,1060,566,10 173 | 0,2,1,910000,1899,1060,858,10 174 | 0,2,2,1599000,1973,1400,1142,10 175 | 0,2,2,4625000,1987,1695,2729,10 176 | 0,0,1,325000,1910,375,867,11 177 | 0,2,2,1599000,1973,1400,1142,14 178 | 0,2,2,1965000,2005,1330,1477,16 179 | 0,1,1,735000,1928,800,919,22 180 | 0,2,2,4625000,1987,1695,2729,29 181 | 0,1,1,749000,2011,762,983,10 182 | 0,1,1,499999,2011,669,747,35 183 | 0,1,1,749000,2011,762,983,35 184 | 0,2,2,904000,1920,1503,601,10 185 | 0,2,2,904000,1920,1503,601,10 186 | 0,2,1,559900,1925,1200,467,51 187 | 0,2,1,545000,1939,1049,520,39 188 | 0,2,1,365000,1925,700,521,73 189 | 0,2,1,365000,1925,700,521,73 190 | 0,1,1,935000,1910,1102,848,8 191 | 0,0,1,820000,2013,533,1538,8 192 | 0,0,1,835000,2013,501,1667,8 193 | 0,1,1,935000,1910,1102,848,10 194 | 0,1,1,1420000,2004,768,1849,10 195 | 0,1,1,1550000,2004,794,1952,10 196 | 0,2,2,1635000,2004,957,1708,10 197 | 0,1,1,1550000,2004,794,1952,11 198 | 0,1,1,1780000,2007,988,1802,14 199 | 0,2,2,2800000,2007,1308,2141,14 200 | 0,1,1,411500,1921,586,702,6 201 | 0,2,2,2175000,1999,1569,1386,10 202 | 0,2,2,1995000,1996,1044,1911,10 203 | 0,2,2,2235000,1999,1548,1444,14 204 | 0,4,4,8800000,1941,3382,2602,15 205 | 0,2,2,1850000,1996,1044,1772,17 206 | 0,2,2,1995000,1996,1044,1911,17 207 | 0,1,1,1695000,1927,680,2493,17 208 | 0,1,1,1495000,1962,1125,1329,19 209 | 0,2,2,2200000,2000,1044,2107,2 210 | 0,0.5,1,384900,1962,540,713,10 211 | 0,1,1,515000,1962,725,710,10 212 | 0,3,2,1950000,1956,1600,1219,10 213 | 0,0,1,307000,1910,330,930,15 214 | 0,2,2,1735000,1980,1585,1095,18 215 | 0,3,3,1850000,2005,1353,1367,8 216 | 0,3,3,1850000,2005,1353,1367,10 217 | 0,2,2,1995000,1986,1406,1419,14 218 | 0,2,2,2900000,1987,1600,1813,24 219 | 0,2,2,2499000,2004,1658,1507,24 220 | 0,2,2,1575000,1930,1324,1190,33 221 | 0,3,3,1495000,1990,1360,1099,0 222 | 0,1,1,529000,1986,650,814,0 223 | 0,3,3,2695000,2006,1991,1354,1 224 | 0,3,3,2695000,2006,1991,1354,1 225 | 0,4,3,3895000,2001,2277,1711,0 226 | 1,1,1,550000,1982,724,760,24 227 | 1,2,2,849000,1982,1030,824,24 228 | 1,3,2,1750000,1900,2950,593,26 229 | 1,1,1,799000,2008,847,943,29 230 | 1,1,1.5,899000,1997,1453,619,3 231 | 1,1,1,598000,2005,534,1120,5 232 | 1,1,2,1088000,1998,1086,1002,6 233 | 1,1,1,798000,1926,769,1038,10 234 | 1,1,1,798000,1926,769,1038,10 235 | 1,1,1,1495000,1927,2275,657,10 236 | 1,4,4,4300000,2006,3321,1295,10 237 | 1,1,1,699000,2008,756,925,12 238 | 1,2,2,334905,2000,1047,320,12 239 | 1,1,1.5,849000,1996,1127,753,13 240 | 1,1,1.5,1365000,1996,1607,849,13 241 | 1,1,1,649000,2011,674,963,14 242 | 1,3,3,1245000,1907,1503,828,23 243 | 1,1,1,649000,1983,850,764,163 244 | 1,2,2,1700000,1987,1250,1360,11 245 | 1,2,2,1980000,2009,1469,1348,0 246 | 1,2,2,3600000,2009,1652,2179,0 247 | 1,2,3,4995000,2009,2230,2240,0 248 | 1,2,2,1298000,2008,1159,1120,0 249 | 1,2,2,2149000,2008,1317,1632,0 250 | 1,3,2,1995000,2006,1362,1465,3 251 | 1,2,2,1650000,1937,1640,1006,7 252 | 1,1,1,949000,2010,824,1152,8 253 | 1,1,1,187518,2000,670,280,12 254 | 1,3,2.5,1995000,2008,2354,847,23 255 | 1,3,2.5,1995000,2008,2354,847,23 256 | 1,2,2,2799000,2008,1328,2108,35 257 | 1,2,2.5,1050000,2000,1640,640,2 258 | 1,2,2,895000,2006,1113,804,3 259 | 1,1,1,998000,2006,872,1144,3 260 | 1,2,2,1659000,2000,1165,1424,4 261 | 1,1,1,788000,2004,903,873,4 262 | 1,2,2,1395000,2001,1334,1046,4 263 | 1,2,2,1299000,2004,1453,894,5 264 | 1,2,2.5,850000,2000,1136,748,5 265 | 1,3,2.5,2850000,2013,2075,1373,5 266 | 1,2,2,950000,2000,1258,755,6 267 | 1,2,2,1600000,2002,1173,1364,7 268 | 1,3,2,1275000,2001,1502,849,13 269 | 1,1,1.5,775000,2009,835,928,14 270 | 1,3,2,1399000,1892,1809,773,41 271 | 1,2,2,879000,1912,950,925,53 272 | 1,1,1,699000,1907,932,750,59 273 | 1,1,1,985000,1978,884,1114,11 274 | 1,1,1,725000,1978,1063,682,60 275 | 1,2,2,849000,1911,1100,772,66 276 | 1,1,1,618000,1973,705,877,72 277 | 1,2,2,5950000,1989,3700,1608,83 278 | 1,4,4,1800000,1948,2475,727,10 279 | 1,2,2.5,2350000,2008,1314,1788,19 280 | 1,1,1,740200,1920,989,748,41 281 | 1,1,1,699000,1982,780,896,51 282 | 1,2,2,958000,2005,915,1047,54 283 | 1,2,2,1200000,1909,1302,922,56 284 | 1,3,3,1575000,1993,2233,705,62 285 | 1,2,2,1199000,1964,1100,1090,68 286 | 1,1,1,529000,1966,791,669,69 287 | 1,1,1,699000,1984,880,794,73 288 | 1,3,2,1295000,1926,1675,773,77 289 | 1,4,4,1800000,1948,2347,767,87 290 | 1,1,1,795000,2000,990,803,7 291 | 1,2,2,779000,2007,808,964,7 292 | 1,1,1.5,378551,2000,1000,379,9 293 | 1,4,2.3,1398000,1904,2492,561,13 294 | 1,2,1.3,1097000,1904,1493,735,14 295 | 1,1,1,670000,2014,507,1321,20 296 | 1,2,2,1199000,2014,943,1271,20 297 | 1,2,2,1095000,2010,1135,965,30 298 | 1,1,2,795000,2014,616,1291,31 299 | 1,3,2,979000,1900,1440,680,33 300 | 1,3,3,1488888,1977,2100,709,38 301 | 1,3,2,1389000,1908,1546,898,55 302 | 1,3,2,1389000,1908,1546,898,55 303 | 1,4,2,1099000,1962,1267,867,69 304 | 1,3,3.5,1799000,1900,2449,735,75 305 | 1,3,2,1250000,1924,1450,862,83 306 | 1,3,2,998000,1907,1464,682,84 307 | 1,3,2.5,1300000,1975,1642,792,4 308 | 1,1,1,539000,2000,709,760,5 309 | 1,1,1,735000,1983,779,944,12 310 | 1,3,2,688000,1942,1441,477,34 311 | 1,2,1,859000,1890,1100,781,44 312 | 1,3,2,699000,1964,1250,559,48 313 | 1,2,1,750000,1924,980,765,48 314 | 1,3,2,549000,1915,1972,278,51 315 | 1,6,3,1600000,1926,2567,623,52 316 | 1,2,2,875000,1909,1700,515,54 317 | 1,4,3,900000,2003,1870,481,54 318 | 1,3,2,748000,1930,1522,491,54 319 | 1,2,1.5,749000,1949,1348,556,56 320 | 1,2,1,599000,1942,707,847,61 321 | 1,3,1,648800,1940,1325,490,66 322 | 1,2,2,649000,1924,1320,492,72 323 | 1,2,1,798888,1929,1025,779,74 324 | 1,5,2,899000,1972,1940,463,81 325 | 1,3,1.5,699000,1910,1625,430,94 326 | 1,3,2,749000,1907,1513,495,95 327 | 1,3,2,535000,1967,1824,293,102 328 | 1,2,1,699000,1913,900,777,108 329 | 1,2,1,699000,1913,900,777,108 330 | 1,2,1,500000,1958,1166,429,136 331 | 1,3,2.5,879000,1981,2111,416,139 332 | 1,3,2.5,879000,1981,2111,416,139 333 | 1,4,2.5,699900,1982,1752,399,140 334 | 1,2,1,688000,1950,1145,601,143 335 | 1,3,2,1195000,1907,1396,856,33 336 | 1,3,2,1195000,1907,1396,856,33 337 | 1,1,1,697000,1922,694,1004,50 338 | 1,5,3.5,3995000,1905,3350,1193,59 339 | 1,1,1,650000,1955,600,1083,74 340 | 1,1,1,650000,1955,600,1083,74 341 | 1,1,1,775000,1955,600,1292,74 342 | 1,1,1,825000,1955,600,1375,74 343 | 1,2,1,699000,1907,915,764,89 344 | 1,3,2,1495000,1927,1520,984,105 345 | 1,4,4.5,5200000,1952,4813,1080,238 346 | 1,2,2,989000,1984,988,1001,46 347 | 1,3,1,1095000,1895,1465,747,68 348 | 1,1,1,725000,1900,811,894,70 349 | 1,1,1,725000,1900,811,894,70 350 | 1,4,4,2650000,1900,3816,694,75 351 | 1,2,2,1680000,1962,1850,908,89 352 | 1,1,1,1199000,1906,1139,1053,91 353 | 1,3,2.5,799000,1947,1400,571,35 354 | 1,3,2,795000,1954,1350,589,36 355 | 1,2,1,699000,1944,995,703,41 356 | 1,3,2,848000,1940,1500,565,42 357 | 1,3,2,899000,1948,1665,540,52 358 | 1,3,2,899000,1948,1665,540,52 359 | 1,6,4,1198000,1937,1965,610,79 360 | 1,3,3,1100000,1925,2633,418,91 361 | 1,6,3.5,949000,1918,2473,384,97 362 | 1,5,5,2990000,2014,5000,598,108 363 | 1,4,3,1338800,1940,2330,575,119 364 | 1,3,2.5,1388000,1928,1905,729,160 365 | 1,3,2,989000,1940,1603,617,227 366 | 1,3,1,1295000,1890,1772,731,65 367 | 1,6,6,6895000,1902,7800,884,67 368 | 1,2,2,1725000,1922,1415,1219,86 369 | 1,3,3,1995000,1922,1915,1042,88 370 | 1,0,1,499000,1900,510,978,91 371 | 1,0,1,499000,1900,510,978,91 372 | 1,1,1,599000,1900,624,960,91 373 | 1,1,1,599000,1900,624,960,91 374 | 1,3,2,1200000,1929,1284,935,121 375 | 1,3,2,1395000,1909,1877,743,57 376 | 1,3,3,1785000,1925,1970,906,58 377 | 1,3,2,1099000,1905,1457,754,67 378 | 1,5,5.5,3495000,1921,4310,811,73 379 | 1,3,2,2395000,1929,2323,1031,73 380 | 1,4,2.5,2549000,1907,2746,928,75 381 | 1,3,2,995000,2000,1393,714,75 382 | 1,5,3.5,6495000,1906,4609,1409,89 383 | 1,4,3,1698000,1890,1789,949,102 384 | 1,5,2,6298000,1914,3585,1757,26 385 | 1,3,3,1139000,2008,1532,743,44 386 | 1,3,2,1080000,1914,1954,553,49 387 | 1,4,1,1050000,1932,1767,594,55 388 | 1,1,1,739900,1941,875,846,70 389 | 1,4,4,1595000,1925,2750,580,81 390 | 1,2,1,699000,1907,1200,583,14 391 | 1,2,1,799000,1938,1150,695,36 392 | 1,4,2.5,995000,1915,2180,456,62 393 | 1,2,1,829000,1925,1145,724,71 394 | 1,2,1,875000,1908,1158,756,84 395 | 1,5,3,950000,1939,1846,515,97 396 | 1,2,1,749000,1936,1450,517,110 397 | 1,2,1,749000,1936,1450,517,110 398 | 1,6,6.5,9500000,1937,5420,1753,3 399 | 1,4,3,3595000,1931,3017,1192,9 400 | 1,2,1.5,1425000,1925,1360,1048,14 401 | 1,1,1,865000,1993,960,901,17 402 | 1,2,2.5,2495000,1940,1809,1379,48 403 | 1,2,2,2000000,1925,1518,1318,50 404 | 1,4,3.5,9895000,2008,6024,1643,62 405 | 1,3,2,358000,1989,1325,270,5 406 | 1,3,2.5,899000,2015,1391,646,5 407 | 1,3,2.5,929000,2015,1391,668,5 408 | 1,4,4,850000,1928,2470,344,8 409 | 1,2,1,648000,1921,1125,576,11 410 | 1,2,1,480000,1915,680,706,13 411 | 1,1,1,499000,1900,1076,464,19 412 | 1,4,2,689000,1951,1473,468,21 413 | 1,2,2,669000,1986,1317,508,23 414 | 1,2,1.5,729000,1942,1012,720,27 415 | 1,2,2,767000,1916,1380,556,31 416 | 1,3,1,660000,1900,1520,434,35 417 | 1,2,1,995000,1908,600,1658,36 418 | 1,2,1,759900,1941,1175,647,43 419 | 1,6,3.5,995000,2001,3080,323,55 420 | 1,2,1,725000,1945,1040,697,60 421 | 1,4,3,3420000,1926,5113,669,98 422 | 1,3,2,1650000,1922,2025,815,106 423 | 1,3,3.5,2250000,1928,3258,691,127 424 | 1,3,1,1319000,1925,1752,753,141 425 | 1,5,3.5,1698000,1966,2769,613,176 426 | 1,3,2,1049000,1947,1626,645,179 427 | 1,2,2,599000,1990,862,695,181 428 | 1,5,3.5,2995000,1947,3890,770,181 429 | 1,3,2,995000,1956,1305,762,216 430 | 1,1,1,350000,1908,600,583,43 431 | 1,2,1,550000,1908,800,688,43 432 | 1,4,4,3760000,1900,3085,1219,49 433 | 1,3,2,1050000,1922,1266,829,52 434 | 1,2,2,1895000,1907,1756,1079,54 435 | 1,1,1,599000,1961,680,881,56 436 | 1,4,3,1895000,2001,2041,928,61 437 | 1,3,2,1799000,1926,1800,999,66 438 | 1,2,1,600000,1908,1350,444,92 439 | 1,2,1,1495000,1908,1700,879,98 440 | 1,3,2,1595000,1961,1515,1053,103 441 | 1,3,2,849000,1947,1622,523,106 442 | 1,4,3.5,1995000,1992,3312,602,108 443 | 1,3,2,1495000,1937,1635,914,112 444 | 1,3,3.5,2195000,1922,2168,1012,125 445 | 1,4,2,1798000,1951,2050,877,131 446 | 1,2,2,849000,1978,1555,546,139 447 | 1,3,2,1159000,1977,1731,670,143 448 | 1,3,2.5,995000,1976,1959,508,163 449 | 1,4,3,1388000,1968,2275,610,163 450 | 1,5,3.5,2250000,1962,3729,603,174 451 | 1,3,2,1080000,1989,1524,709,185 452 | 1,3,2.5,1095000,1968,1868,586,187 453 | 1,2,1,599000,1972,990,605,189 454 | 1,2,1,915000,1954,1251,731,24 455 | 1,2,1,915000,1954,1251,731,24 456 | 1,3,2,725000,1975,1474,492,34 457 | 1,3,2.5,1588000,2015,2001,794,43 458 | 1,2,1,795000,1941,1256,633,63 459 | 1,2,1,795000,1941,1256,633,63 460 | 1,4,2,848000,1949,1646,515,69 461 | 1,1,1,439000,2002,667,658,80 462 | 1,3,2,849900,1958,1310,649,118 463 | 1,2,1,599000,1941,1254,478,123 464 | 1,3,2.5,1539514,2014,2024,761,136 465 | 1,3,2.5,1339000,2015,2133,628,143 466 | 1,3,2.5,1294000,2015,2133,607,143 467 | 1,3,2.5,1611000,2015,2001,805,153 468 | 1,2,2,1495000,1913,1174,1273,35 469 | 1,1,1,699000,1908,750,932,36 470 | 1,2,2.5,3495000,1900,1968,1776,76 471 | 1,4,2,699000,1949,1550,451,11 472 | 1,2,1,699000,1949,1050,666,64 473 | 1,3,3,888000,1975,1555,571,79 474 | 1,1,1,599000,1945,631,949,84 475 | 1,3,3,758000,1989,2157,351,90 476 | 1,2,2,1698000,2008,1620,1048,1 477 | 1,2,2,1698000,2008,1620,1048,1 478 | 1,1,1,849000,2012,886,958,2 479 | 1,2,2,1675000,2012,1562,1072,2 480 | 1,2,2,1695000,2007,1610,1053,2 481 | 1,3,2,2219000,2012,1921,1155,13 482 | 1,1,1,788000,2004,903,873,4 483 | 1,2,2,1950000,1995,1930,1010,4 484 | 1,0,1,539000,2000,709,760,5 485 | 1,2,2,849000,1982,1030,824,24 486 | 1,2,2.5,2495000,1940,1809,1379,48 487 | 1,4,4,3760000,1894,3085,1219,49 488 | 1,3,2,1799000,1926,1800,999,66 489 | 1,5,2.5,1800000,1890,3073,586,76 490 | 1,2,1,695000,1923,1045,665,106 491 | 1,3,2,1650000,1922,1483,1113,106 492 | 1,1,1,649000,1983,850,764,163 493 | 1,3,2,995000,1956,1305,762,216 494 | -------------------------------------------------------------------------------- /python/Python_Temelleri.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": { 6 | "slideshow": { 7 | "slide_type": "slide" 8 | } 9 | }, 10 | "source": [ 11 | "# Anaconda & Jupyter Notebook Kullanımı\n", 12 | "\n", 13 | "Python'ı konuşmaya başlamadan önce, Python kodlarımızı yazabileceğimiz ortamları ve bunları nasıl kullanabileceğimizi konuşalım. Burada önümüzde 2 seçeneğimiz var:\n", 14 | "\n", 15 | "**1. Bilgisayarınıza kullanacağınız kod geliştirme ortamını kurarak, yapacağımız çalışmalarda kendi bilgisayarınızın performansından yararlanmak**\n", 16 | "\n", 17 | "**2. İnternet tarayıcısında Bulut Sistemlerinin kaynakları üzerinden çalışan ortamları kullanmak**" 18 | ] 19 | }, 20 | { 21 | "cell_type": "markdown", 22 | "metadata": {}, 23 | "source": [ 24 | "## Local PC: Anaconda Kurulumu\n", 25 | "\n", 26 | "Bilgisayarınıza [Anaconda Download](https://www.anaconda.com/products/distribution#Downloads) sitesinden işletim sistenize uygun Anaconda sürümünü yükleyebilirsiniz.\n", 27 | "\n", 28 | "![Anaconda](https://i.pinimg.com/originals/64/2b/4a/642b4a4eb254da80899e5700633aa789.jpg)
\n", 29 | "\n", 30 | "Eğer Anaconda kullanarak çalışacaksanız, hangi IDE kullanarak ilerleyeceğinize de karar vermek gerekiyor. Bilgisayarınıza Anaconda yüklendikten sonra bu seçenekleri değerlendirebilirsiniz.\n", 31 | "\n", 32 | "![Anaconda Code IDEs](https://docs.anaconda.com/_images/nav-tabs.png)" 33 | ] 34 | }, 35 | { 36 | "cell_type": "markdown", 37 | "metadata": {}, 38 | "source": [ 39 | "## Remote PC: Google Colab, DataBricks, Kaggle Notebook...\n", 40 | "\n", 41 | "- [Google Colab](https://colab.research.google.com)\n", 42 | "- [Databricks](https://community.cloud.databricks.com/login.html)\n", 43 | "- [Kaggle Notebook](https://www.kaggle.com/code)\n", 44 | "\n", 45 | "![Colab](https://www.icds.psu.edu/wp-content/uploads/2021/07/juptyterlab-colab-logos.png)\n", 46 | "\n", 47 | "**Avantaj:** Bilgisayarınıza herhangi bir kurulum yapmadan doğrudan Python kodlarını geliştirmeye odaklanabilirmek
\n", 48 | "**Dezavantaj:** Sistem sürekli kendini güncellediğinden önceden çalışan kodların tekrar çalışabilmesi için bazı düzenlemeler yapılmasının gerekmesi" 49 | ] 50 | }, 51 | { 52 | "cell_type": "markdown", 53 | "metadata": {}, 54 | "source": [ 55 | "# Python Temelleri\n", 56 | "\n", 57 | "**\"Python kodunu nasıl yazmalıyız?\"** konusuna başlamadan önce, Python'ın bazı temellerini gözden geçirdiğimiz gerekiyor. Bu araç kutumuzda özellikle **veri türleri** ve **Python'a özel araçlara** odaklanacağız." 58 | ] 59 | }, 60 | { 61 | "cell_type": "markdown", 62 | "metadata": {}, 63 | "source": [ 64 | "# Temel Veri Tipleri" 65 | ] 66 | }, 67 | { 68 | "cell_type": "code", 69 | "execution_count": 1, 70 | "metadata": {}, 71 | "outputs": [ 72 | { 73 | "name": "stdout", 74 | "output_type": "stream", 75 | "text": [ 76 | "Integer (int): \n", 77 | "Float (float): \n", 78 | "String (str): \n", 79 | "Boolean (bool): \n" 80 | ] 81 | } 82 | ], 83 | "source": [ 84 | "print(\"Integer (int): \", type(1))\n", 85 | "print(\"Float (float): \", type(1.5))\n", 86 | "print(\"String (str): \", type(\"1\"))\n", 87 | "print(\"Boolean (bool): \", type(True))" 88 | ] 89 | }, 90 | { 91 | "cell_type": "markdown", 92 | "metadata": {}, 93 | "source": [ 94 | "Bunlar, çoğunlukla Python'da sıklıkla karşılaşacağımız temel veri türleridir. \n", 95 | "* **Integer (int)** veri tipi **tam sayılardır**. \n", 96 | "* **Float (float)** veri tipi **ondalıklı (virgüllü) sayılardır**.\n", 97 | "* **String (str)** veri tipi **metin verileridir**. İçerisinde sayı barındırabilir, ancak bu sayılar **gerçek sayılar değildir**. \n", 98 | "* **Boolean (bool)** veri tipi **True/False (Doğru/Yanlış)** ifadeleridir." 99 | ] 100 | }, 101 | { 102 | "cell_type": "code", 103 | "execution_count": 2, 104 | "metadata": {}, 105 | "outputs": [ 106 | { 107 | "data": { 108 | "text/plain": [ 109 | "6" 110 | ] 111 | }, 112 | "execution_count": 2, 113 | "metadata": {}, 114 | "output_type": "execute_result" 115 | } 116 | ], 117 | "source": [ 118 | "2 * 3" 119 | ] 120 | }, 121 | { 122 | "cell_type": "code", 123 | "execution_count": 3, 124 | "metadata": {}, 125 | "outputs": [ 126 | { 127 | "ename": "TypeError", 128 | "evalue": "can't multiply sequence by non-int of type 'str'", 129 | "output_type": "error", 130 | "traceback": [ 131 | "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", 132 | "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", 133 | "Input \u001b[0;32mIn [3]\u001b[0m, in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43m2\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43m3\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\n", 134 | "\u001b[0;31mTypeError\u001b[0m: can't multiply sequence by non-int of type 'str'" 135 | ] 136 | } 137 | ], 138 | "source": [ 139 | "\"2\" * \"3\"" 140 | ] 141 | }, 142 | { 143 | "cell_type": "code", 144 | "execution_count": 4, 145 | "metadata": {}, 146 | "outputs": [ 147 | { 148 | "data": { 149 | "text/plain": [ 150 | "'23'" 151 | ] 152 | }, 153 | "execution_count": 4, 154 | "metadata": {}, 155 | "output_type": "execute_result" 156 | } 157 | ], 158 | "source": [ 159 | "\"2\" + \"3\"" 160 | ] 161 | }, 162 | { 163 | "cell_type": "code", 164 | "execution_count": 5, 165 | "metadata": {}, 166 | "outputs": [ 167 | { 168 | "data": { 169 | "text/plain": [ 170 | "'222'" 171 | ] 172 | }, 173 | "execution_count": 5, 174 | "metadata": {}, 175 | "output_type": "execute_result" 176 | } 177 | ], 178 | "source": [ 179 | "\"2\" * 3" 180 | ] 181 | }, 182 | { 183 | "cell_type": "code", 184 | "execution_count": 6, 185 | "metadata": {}, 186 | "outputs": [ 187 | { 188 | "data": { 189 | "text/plain": [ 190 | "5" 191 | ] 192 | }, 193 | "execution_count": 6, 194 | "metadata": {}, 195 | "output_type": "execute_result" 196 | } 197 | ], 198 | "source": [ 199 | "2 + 3" 200 | ] 201 | }, 202 | { 203 | "cell_type": "markdown", 204 | "metadata": {}, 205 | "source": [ 206 | "## Listeler (Lists)" 207 | ] 208 | }, 209 | { 210 | "cell_type": "markdown", 211 | "metadata": {}, 212 | "source": [ 213 | "Listeler süper esnektir, farklı veri tiplerinin birleşimden oluşabilirler ve üzerilerinde **değişiklik yapmamıza izin verirler**.\n", 214 | "\n", 215 | "> **Önemli Not:** Listelerin köşeli parantezler ile gösterildiğine dikkat edin!" 216 | ] 217 | }, 218 | { 219 | "cell_type": "code", 220 | "execution_count": 7, 221 | "metadata": {}, 222 | "outputs": [ 223 | { 224 | "name": "stdout", 225 | "output_type": "stream", 226 | "text": [ 227 | "[1, [2, 3, 4], 3, 4, 5, 6, 7, 8]\n" 228 | ] 229 | } 230 | ], 231 | "source": [ 232 | "example_list = [1,[2,3,4],3,4,5,6,7,8]\n", 233 | "print(example_list)" 234 | ] 235 | }, 236 | { 237 | "cell_type": "code", 238 | "execution_count": 8, 239 | "metadata": {}, 240 | "outputs": [ 241 | { 242 | "data": { 243 | "text/plain": [ 244 | "list" 245 | ] 246 | }, 247 | "execution_count": 8, 248 | "metadata": {}, 249 | "output_type": "execute_result" 250 | } 251 | ], 252 | "source": [ 253 | "type(example_list)" 254 | ] 255 | }, 256 | { 257 | "cell_type": "code", 258 | "execution_count": 9, 259 | "metadata": {}, 260 | "outputs": [ 261 | { 262 | "data": { 263 | "text/plain": [ 264 | "8" 265 | ] 266 | }, 267 | "execution_count": 9, 268 | "metadata": {}, 269 | "output_type": "execute_result" 270 | } 271 | ], 272 | "source": [ 273 | "len(example_list)" 274 | ] 275 | }, 276 | { 277 | "cell_type": "markdown", 278 | "metadata": {}, 279 | "source": [ 280 | "Artık bir tuple veri yapısına sahip olduğumuza göre, ondan tek bir parça almak istersek ne yapmamız gerek?\n", 281 | "\n", 282 | "Tuple veri tipi içerisinde bir çok değer barındırdığı için onların içerisinden istediğimiz kısmı alabilmemiz için **Python index** yapısını kullanmamız gerekir." 283 | ] 284 | }, 285 | { 286 | "cell_type": "code", 287 | "execution_count": 10, 288 | "metadata": {}, 289 | "outputs": [ 290 | { 291 | "name": "stdout", 292 | "output_type": "stream", 293 | "text": [ 294 | "[2, 3, 4]\n", 295 | "3\n" 296 | ] 297 | } 298 | ], 299 | "source": [ 300 | "print(example_list[1]) # Unutmayalım, Python'da index yapıları 0'dan başlayarak devam eder!\n", 301 | "print(example_list[2])" 302 | ] 303 | }, 304 | { 305 | "cell_type": "markdown", 306 | "metadata": {}, 307 | "source": [ 308 | "Peki ya birden fazla elemanı almak istersem?\n", 309 | "- İşte o zaman verinin o kısmını ayırmam lazım.\n", 310 | "\n", 311 | "Python Slicing:\n", 312 | "\n", 313 | "```python\n", 314 | "# Slicing Yapısı\n", 315 | "ayrılacak_değişkenin_ismi[başlangıç_index : bitiş_index : atlama_sayısı] \n", 316 | "```\n", 317 | "> **Önemli Not:** İndex sayıları belirtilirken başlangıç_index olarak belirttiğimiz index dahil edilirken, bitiş_index dahil edilmez!" 318 | ] 319 | }, 320 | { 321 | "cell_type": "code", 322 | "execution_count": 11, 323 | "metadata": {}, 324 | "outputs": [ 325 | { 326 | "name": "stdout", 327 | "output_type": "stream", 328 | "text": [ 329 | "[[2, 3, 4], 3, 4]\n" 330 | ] 331 | } 332 | ], 333 | "source": [ 334 | "# Sadece 3 adet index aldığımızı unutmayın; 1, 2, 3 numaralı indexler\n", 335 | "print(example_list[1:4])" 336 | ] 337 | }, 338 | { 339 | "cell_type": "markdown", 340 | "metadata": {}, 341 | "source": [ 342 | "Peki ya sondan 1, 2 index değeri almak istersem?" 343 | ] 344 | }, 345 | { 346 | "cell_type": "code", 347 | "execution_count": 12, 348 | "metadata": {}, 349 | "outputs": [ 350 | { 351 | "name": "stdout", 352 | "output_type": "stream", 353 | "text": [ 354 | "[7, 8]\n", 355 | "8\n" 356 | ] 357 | } 358 | ], 359 | "source": [ 360 | "print(example_list[-2:])\n", 361 | "print(example_list[-1])" 362 | ] 363 | }, 364 | { 365 | "cell_type": "code", 366 | "execution_count": 13, 367 | "metadata": {}, 368 | "outputs": [ 369 | { 370 | "data": { 371 | "text/plain": [ 372 | "1" 373 | ] 374 | }, 375 | "execution_count": 13, 376 | "metadata": {}, 377 | "output_type": "execute_result" 378 | } 379 | ], 380 | "source": [ 381 | "example_list[0]" 382 | ] 383 | }, 384 | { 385 | "cell_type": "code", 386 | "execution_count": 14, 387 | "metadata": {}, 388 | "outputs": [ 389 | { 390 | "data": { 391 | "text/plain": [ 392 | "['DIFFERENT NOW', [2, 3, 4], 3, 4, 5, 6, 7, 8]" 393 | ] 394 | }, 395 | "execution_count": 14, 396 | "metadata": {}, 397 | "output_type": "execute_result" 398 | } 399 | ], 400 | "source": [ 401 | "example_list[0] = 'DIFFERENT NOW'\n", 402 | "example_list" 403 | ] 404 | }, 405 | { 406 | "cell_type": "markdown", 407 | "metadata": {}, 408 | "source": [ 409 | "Listelerin içerisindeki verileri değiştirebildiğimiz gibi istediğimiz parçaları **çıkarabilir** veya dışarıdan veri **ekleyebiliriz**." 410 | ] 411 | }, 412 | { 413 | "cell_type": "code", 414 | "execution_count": 15, 415 | "metadata": {}, 416 | "outputs": [ 417 | { 418 | "name": "stdout", 419 | "output_type": "stream", 420 | "text": [ 421 | "['DIFFERENT NOW', [2, 3, 4], 3, 4, 5, 6, 7, 8, 2]\n" 422 | ] 423 | } 424 | ], 425 | "source": [ 426 | "# Listemize ekleme yapalım\n", 427 | "example_list.append(2)\n", 428 | "print(example_list)" 429 | ] 430 | }, 431 | { 432 | "cell_type": "code", 433 | "execution_count": 16, 434 | "metadata": {}, 435 | "outputs": [], 436 | "source": [ 437 | "# Listede istenilen indexe ekleme yapalım\n", 438 | "example_list.insert(1, \"New Data\")" 439 | ] 440 | }, 441 | { 442 | "cell_type": "code", 443 | "execution_count": 17, 444 | "metadata": {}, 445 | "outputs": [ 446 | { 447 | "data": { 448 | "text/plain": [ 449 | "['DIFFERENT NOW', 'New Data', [2, 3, 4], 3, 4, 5, 6, 7, 8, 2]" 450 | ] 451 | }, 452 | "execution_count": 17, 453 | "metadata": {}, 454 | "output_type": "execute_result" 455 | } 456 | ], 457 | "source": [ 458 | "example_list" 459 | ] 460 | }, 461 | { 462 | "cell_type": "code", 463 | "execution_count": 18, 464 | "metadata": {}, 465 | "outputs": [ 466 | { 467 | "name": "stdout", 468 | "output_type": "stream", 469 | "text": [ 470 | "['DIFFERENT NOW', 'New Data', [2, 3, 4], 3, 4, 5, 6, 7, 8]\n" 471 | ] 472 | } 473 | ], 474 | "source": [ 475 | "# Listemizden 2 elemanını çıkaralım\n", 476 | "example_list.remove(2)\n", 477 | "print(example_list)" 478 | ] 479 | }, 480 | { 481 | "cell_type": "code", 482 | "execution_count": 19, 483 | "metadata": {}, 484 | "outputs": [ 485 | { 486 | "data": { 487 | "text/plain": [ 488 | "['DIFFERENT NOW', 'New Data', 3, 4, 5, 6, 7, 8]" 489 | ] 490 | }, 491 | "execution_count": 19, 492 | "metadata": {}, 493 | "output_type": "execute_result" 494 | } 495 | ], 496 | "source": [ 497 | "# Listeden istenilen indexteki elemanı çıkaralım\n", 498 | "example_list.pop(2)\n", 499 | "example_list" 500 | ] 501 | }, 502 | { 503 | "cell_type": "markdown", 504 | "metadata": {}, 505 | "source": [ 506 | "## Sözlükler (Dictionaries)" 507 | ] 508 | }, 509 | { 510 | "cell_type": "markdown", 511 | "metadata": {}, 512 | "source": [ 513 | "Şu anda işlememiz gereken son ana veri tipimiz sözlüklerdir. Sözlükler şu ana kadar öğrendiğimiz veri tiplerinden farklı olarak \"gruplara\" sahip olmamızı sağlar, ancak indexe göre çalışmak yerine **Key/Value (Anahtar/Değer)** çiftlerini kullanılırlar. Bunun bazı önemli faydaları var, ancak öncesinde nasıl çalıştığını görelim.\n", 514 | "\n", 515 | "> **Önemli Not:** Sözlükler de küme parantezleriyle gösterilir, ancak bir set olarak algılanmamaları için **Key ve Value** değerlerinden oluşması gerekir." 516 | ] 517 | }, 518 | { 519 | "cell_type": "code", 520 | "execution_count": 20, 521 | "metadata": {}, 522 | "outputs": [ 523 | { 524 | "name": "stdout", 525 | "output_type": "stream", 526 | "text": [ 527 | "8\n" 528 | ] 529 | } 530 | ], 531 | "source": [ 532 | "new_dictionary = {'key_for_this_thing': 8}\n", 533 | "print(new_dictionary['key_for_this_thing'])" 534 | ] 535 | }, 536 | { 537 | "cell_type": "markdown", 538 | "metadata": {}, 539 | "source": [ 540 | "Sözlükler, her bir key değerinin içerisinde **birden fazla farklı veri tipi** bulundurabilir." 541 | ] 542 | }, 543 | { 544 | "cell_type": "code", 545 | "execution_count": 21, 546 | "metadata": {}, 547 | "outputs": [ 548 | { 549 | "name": "stdout", 550 | "output_type": "stream", 551 | "text": [ 552 | "[0, 1, 2, 3, 4]\n" 553 | ] 554 | } 555 | ], 556 | "source": [ 557 | "new_dictionary = {'key_for_a_list': [0,1,2,3,4], 'key_for_another_dictionary': {'bob': 1}}\n", 558 | "print(new_dictionary['key_for_a_list'])" 559 | ] 560 | }, 561 | { 562 | "cell_type": "code", 563 | "execution_count": 22, 564 | "metadata": {}, 565 | "outputs": [ 566 | { 567 | "name": "stdout", 568 | "output_type": "stream", 569 | "text": [ 570 | "{'bob': 1}\n", 571 | "1\n" 572 | ] 573 | } 574 | ], 575 | "source": [ 576 | "print(new_dictionary['key_for_another_dictionary'])\n", 577 | "print(new_dictionary['key_for_another_dictionary']['bob'])" 578 | ] 579 | }, 580 | { 581 | "cell_type": "code", 582 | "execution_count": 23, 583 | "metadata": {}, 584 | "outputs": [ 585 | { 586 | "name": "stdout", 587 | "output_type": "stream", 588 | "text": [ 589 | "{1914: ['Red Sox', 5, 10, 0], 1915: ['Red Sox', 43, 104, 4]}\n", 590 | "['Red Sox', 5, 10, 0]\n" 591 | ] 592 | } 593 | ], 594 | "source": [ 595 | "career_stats = {'babe_ruth': {1914: [\"Red Sox\", 5, 10, 0], 1915:['Red Sox', 43, 104, 4]},\n", 596 | " 'gavvy_cravath': {1914: ['Phillies',149,604,14]}}\n", 597 | "\n", 598 | "print(career_stats['babe_ruth'])\n", 599 | "print(career_stats['babe_ruth'][1914])" 600 | ] 601 | }, 602 | { 603 | "cell_type": "code", 604 | "execution_count": 24, 605 | "metadata": {}, 606 | "outputs": [ 607 | { 608 | "name": "stdout", 609 | "output_type": "stream", 610 | "text": [ 611 | "dict_keys(['babe_ruth', 'gavvy_cravath'])\n", 612 | "dict_values([{1914: ['Red Sox', 5, 10, 0], 1915: ['Red Sox', 43, 104, 4]}, {1914: ['Phillies', 149, 604, 14]}])\n" 613 | ] 614 | } 615 | ], 616 | "source": [ 617 | "# Ek olarak sadece key ve value değerine de ulaşılabilir.\n", 618 | "print(career_stats.keys())\n", 619 | "print(career_stats.values())" 620 | ] 621 | }, 622 | { 623 | "cell_type": "markdown", 624 | "metadata": {}, 625 | "source": [ 626 | "Sözlükleri sevmemizin nedeni, veri almada gerçekten hızlı olmaları ve içermek istediğimiz her değere bir anahtar atamamıza izin vermeleridir." 627 | ] 628 | }, 629 | { 630 | "cell_type": "markdown", 631 | "metadata": {}, 632 | "source": [ 633 | "## Değişken İsimleri" 634 | ] 635 | }, 636 | { 637 | "cell_type": "markdown", 638 | "metadata": {}, 639 | "source": [ 640 | "Değişken isimleriyle ilgili bir kaç kuraldan da bahsetmesek olmaz. Genel olarak, şu kurala bağlı kalmak mantıklıdır,\n", 641 | "> Sarhoş halim bu değişkenin isminden ne için kullanıldığını anlayabilir mi? Anlayamıyorsanız, değiştirin!\n", 642 | "\n", 643 | "Bu kuralı biraz daha detaylandıracak olursak,\n", 644 | " \n", 645 | "* Değişken isimleriniz anlamlı ifadelerden oluşmalı. Örneğin, `x` anlamlı bir ifade değildir.\n", 646 | "* Uzun değişken isimleri anlamsız değişken isimlerine göre bile tercih edilir. Kısa, ancak anlamlı isimler her zaman daha iyidir.\n", 647 | "* Boşlukları temsil etmek için `_` kullanın. (Bu genel bir Python kuralıdır)\n", 648 | "* Büyük harfli içeren yazımlardan kaçının.\n", 649 | "* Python uluslararası alanda oldukça popüler olan bir programlama dilidir, ilerleyen aşamalarda araştırma yaparken bile İngilizce bilgisi bizi her zaman öne taşıyacak. Bu sebeple, mümkünse kodlarımızı İngilizce olarak yazmak her zaman daha iyidir.\n", 650 | "\n", 651 | "Bazı örnek değişken isimleri:\n", 652 | "\n", 653 | "`customer_order_value`, `ordered_document_list`, `mlb_batting_statistics_1887_1990`\n", 654 | "\n", 655 | "İçeriğini görmeden bile, bu değişkenlerin içinde ne tarz bilgiler barındırdığını tahmin edebiliyorum. İşte bu bizim istediğimiz stil!" 656 | ] 657 | }, 658 | { 659 | "cell_type": "markdown", 660 | "metadata": {}, 661 | "source": [ 662 | "# Koşullu İfadeler (If / Elif / Else)" 663 | ] 664 | }, 665 | { 666 | "cell_type": "markdown", 667 | "metadata": {}, 668 | "source": [ 669 | "Gerçek hayatta, genellikle etrafımızdaki bilgileri değerlendirmeli ve ardından gözlemlediklerimize göre bir hareket tarzı seçmeliyiz.\n", 670 | "\n", 671 | "- Hava güzelse dışarı çıkacağım. (Hava güzel değilse dışarı çıkmayacağım anlamına gelir.) \n", 672 | "\n", 673 | "Python'da `if` yapısı bu tür karar verme seçeneklerini yönetmek için kullanılırız. Belirtilen durumun gerçekleşmesi durumunda bu yöntemi izle, gerçekleşmediği durumlarda ise şu yöntemi izle mantığı vardır." 674 | ] 675 | }, 676 | { 677 | "cell_type": "code", 678 | "execution_count": 25, 679 | "metadata": {}, 680 | "outputs": [ 681 | { 682 | "name": "stdout", 683 | "output_type": "stream", 684 | "text": [ 685 | "3 is not bigger\n" 686 | ] 687 | } 688 | ], 689 | "source": [ 690 | "if 3 > 4:\n", 691 | " print(\"3 is bigger\")\n", 692 | "print(\"3 is not bigger\")" 693 | ] 694 | }, 695 | { 696 | "cell_type": "code", 697 | "execution_count": 26, 698 | "metadata": {}, 699 | "outputs": [ 700 | { 701 | "name": "stdout", 702 | "output_type": "stream", 703 | "text": [ 704 | "10 is smaller than 12\n", 705 | "10 is smaller than 25\n" 706 | ] 707 | } 708 | ], 709 | "source": [ 710 | "number = 10\n", 711 | "if number < 5:\n", 712 | " print(number, 'is smaller than 5')\n", 713 | "if number < 12:\n", 714 | " print(number, 'is smaller than 12')\n", 715 | "if number < 25:\n", 716 | " print(number, 'is smaller than 25')" 717 | ] 718 | }, 719 | { 720 | "cell_type": "code", 721 | "execution_count": 27, 722 | "metadata": {}, 723 | "outputs": [ 724 | { 725 | "name": "stdout", 726 | "output_type": "stream", 727 | "text": [ 728 | "10 is smaller than 12\n" 729 | ] 730 | } 731 | ], 732 | "source": [ 733 | "number = 10\n", 734 | "if number < 5:\n", 735 | " print(number, 'is smaller than 5')\n", 736 | "elif number < 12:\n", 737 | " print(number, 'is smaller than 12')\n", 738 | "elif number < 25:\n", 739 | " print(number, 'is smaller than 25')" 740 | ] 741 | }, 742 | { 743 | "cell_type": "code", 744 | "execution_count": 28, 745 | "metadata": {}, 746 | "outputs": [ 747 | { 748 | "name": "stdout", 749 | "output_type": "stream", 750 | "text": [ 751 | "a is bigger than b AND b is bigger than c\n" 752 | ] 753 | } 754 | ], 755 | "source": [ 756 | "# 2'den fazla koşul belirtmek de mümkündür\n", 757 | "a = 30\n", 758 | "b = 20 \n", 759 | "c = 10\n", 760 | "if a < b or b > c:\n", 761 | " print(\"a is bigger than b AND b is bigger than c\")\n", 762 | "elif a < b or b < c:\n", 763 | " print(\"a is smaller than b AND b is smaller than c\")\n", 764 | "else:\n", 765 | " print(\"These conditions did not hold\")" 766 | ] 767 | }, 768 | { 769 | "cell_type": "code", 770 | "execution_count": 29, 771 | "metadata": {}, 772 | "outputs": [], 773 | "source": [ 774 | "number_list = [10,20,30,40,50]\n", 775 | "if 60 in number_list:\n", 776 | " print(\"Yes!\")" 777 | ] 778 | }, 779 | { 780 | "cell_type": "markdown", 781 | "metadata": {}, 782 | "source": [ 783 | "> Peki ya liste içerisinde tüm elemanları belirli bir işleme tabi tutmak istersem?" 784 | ] 785 | }, 786 | { 787 | "cell_type": "markdown", 788 | "metadata": {}, 789 | "source": [ 790 | "# Döngüler (For / While)" 791 | ] 792 | }, 793 | { 794 | "cell_type": "markdown", 795 | "metadata": {}, 796 | "source": [ 797 | "Döngü, aynı kod bloğunun potansiyel olarak birçok kez tekrar tekrar yürütülmesi anlamına gelir. Python'da döngü kurabileceğimiz 2 temel yapı vardır:\n", 798 | "\n", 799 | "- **For** & **While** Döngüleri. \n", 800 | "\n", 801 | "Ancak veri biliminde yapılan çalışmalarda genellikle **for döngüleri** çok daha yaygın bir şekilde kullanılırlar." 802 | ] 803 | }, 804 | { 805 | "cell_type": "code", 806 | "execution_count": 30, 807 | "metadata": {}, 808 | "outputs": [ 809 | { 810 | "name": "stdout", 811 | "output_type": "stream", 812 | "text": [ 813 | "16.666666666666668\n", 814 | "33.333333333333336\n", 815 | "50.0\n", 816 | "66.66666666666667\n", 817 | "83.33333333333333\n" 818 | ] 819 | } 820 | ], 821 | "source": [ 822 | "for number in number_list:\n", 823 | " new_number = number * 5 / 3\n", 824 | " print(new_number)" 825 | ] 826 | }, 827 | { 828 | "cell_type": "code", 829 | "execution_count": 31, 830 | "metadata": {}, 831 | "outputs": [ 832 | { 833 | "name": "stdout", 834 | "output_type": "stream", 835 | "text": [ 836 | "0\n", 837 | "1\n", 838 | "2\n", 839 | "3\n", 840 | "4\n", 841 | "5\n", 842 | "6\n", 843 | "7\n", 844 | "8\n", 845 | "9\n" 846 | ] 847 | } 848 | ], 849 | "source": [ 850 | "x = 0\n", 851 | "while x < 10:\n", 852 | " print(x)\n", 853 | " x += 1" 854 | ] 855 | }, 856 | { 857 | "cell_type": "markdown", 858 | "metadata": { 859 | "slideshow": { 860 | "slide_type": "slide" 861 | } 862 | }, 863 | "source": [ 864 | "# Fonksiyonlar - Yazılanları Sürekli Tekrar Etmeme Sanatı\n", 865 | "\n", 866 | "Eğer bir gün kendini önceden yazdıklarını kopyala-yapıştır yaparken yakalarsan, hayır bunu yapma...\n", 867 | "\n", 868 | "Önceden yazdığımız kodlar hiç bir zaman kopyala-yapıştır yapılmamalı. Peki ben önceden yaptığım bir işlemi, şu anda çalıştığım satıra nasıl taşıyacağım? \n", 869 | "> İşte bunun çözümü fonksiyonlar oluşturmak.\n", 870 | "\n", 871 | "Diyelim ki satış kaydından bir kullanıcınin verilerini almak ve o tabloda bir kullanıcıyı kaç kez gördüğümü takip etmek istediğim bir grup veriyi işliyorum." 872 | ] 873 | }, 874 | { 875 | "cell_type": "code", 876 | "execution_count": 32, 877 | "metadata": { 878 | "slideshow": { 879 | "slide_type": "slide" 880 | } 881 | }, 882 | "outputs": [ 883 | { 884 | "name": "stdout", 885 | "output_type": "stream", 886 | "text": [ 887 | "{'Sam': 3, 'Carol': 2, 'Doug': 2, 'Oliver': 1, 'Tari': 2}\n" 888 | ] 889 | } 890 | ], 891 | "source": [ 892 | "table1 = [['Sam', 36, 85.95],\n", 893 | " ['Carol', 75, 53.65],\n", 894 | " ['Sam', 90, 95.37],\n", 895 | " ['Doug', 61, 19.8],\n", 896 | " ['Sam', 41, 45.22],\n", 897 | " ['Doug', 29, 42.98],\n", 898 | " ['Oliver', 61, 95.74],\n", 899 | " ['Carol', 32, 17.12],\n", 900 | " ['Tari', 27, 68.83],\n", 901 | " ['Tari', 81, 62.47]]\n", 902 | "\n", 903 | "name_counter = {}\n", 904 | "for row in table1:\n", 905 | " name = row[0]\n", 906 | " if name in name_counter.keys():\n", 907 | " name_counter[name] += 1\n", 908 | " else:\n", 909 | " name_counter[name] = 1\n", 910 | "print(name_counter)" 911 | ] 912 | }, 913 | { 914 | "cell_type": "markdown", 915 | "metadata": {}, 916 | "source": [ 917 | "Peki elime yeni bir tablo daha geldi ve tekrardan aynı işlemi yapmam gerekiyor.\n", 918 | "\n", 919 | "Elimde 2 seçeneğim var, \n", 920 | "- Ya üstte yazdığım ifadeyi kopyala-yapıştır yapıcam?\n", 921 | "- Ya da üstte yazdığım ifadeyi bir fonksiyona dönüştürücem?\n", 922 | "\n", 923 | "Hadi bu sefer fonksiyona dönüştürmeyi deneyelim," 924 | ] 925 | }, 926 | { 927 | "cell_type": "code", 928 | "execution_count": 33, 929 | "metadata": {}, 930 | "outputs": [], 931 | "source": [ 932 | "def count_names_in_tables(table_to_count):\n", 933 | " \"\"\"\n", 934 | " İlk sütunu kullanıcının adından oluşacak şekilde, bir tablo verisi alır\n", 935 | " ve her bir kullanıcının tabloda kaç defa geçtiğini bulur.\n", 936 | " ---\n", 937 | " Girdi: Tablo (bir çok listeden oluşan bir liste)\n", 938 | " Çıktı: Sözlük (İsimler key değerleri, kaç defa geçtikleri value değerleri)\n", 939 | " \"\"\"\n", 940 | " name_counter = {}\n", 941 | " for row in table_to_count:\n", 942 | " name = row[0]\n", 943 | " if name in name_counter.keys():\n", 944 | " name_counter[name] += 1\n", 945 | " else:\n", 946 | " name_counter[name] = 1\n", 947 | " return name_counter" 948 | ] 949 | }, 950 | { 951 | "cell_type": "code", 952 | "execution_count": 34, 953 | "metadata": {}, 954 | "outputs": [ 955 | { 956 | "name": "stdout", 957 | "output_type": "stream", 958 | "text": [ 959 | "{'Sam': 3, 'Carol': 2, 'Doug': 2, 'Oliver': 1, 'Tari': 2}\n" 960 | ] 961 | } 962 | ], 963 | "source": [ 964 | "print(count_names_in_tables(table1))" 965 | ] 966 | }, 967 | { 968 | "cell_type": "code", 969 | "execution_count": 35, 970 | "metadata": {}, 971 | "outputs": [ 972 | { 973 | "name": "stdout", 974 | "output_type": "stream", 975 | "text": [ 976 | "{'Oliver': 1, 'Tari': 3, 'Carol': 4, 'Kelly': 1, 'Sam': 1}\n" 977 | ] 978 | } 979 | ], 980 | "source": [ 981 | "table2 = [['Oliver', 12, 49.95],\n", 982 | " ['Tari', 76, 30.71],\n", 983 | " ['Carol', 98, 25.07],\n", 984 | " ['Carol', 24, 11.85],\n", 985 | " ['Carol', 34, 13.36],\n", 986 | " ['Kelly', 14, 34.31],\n", 987 | " ['Tari', 6, 86.11],\n", 988 | " ['Tari', 90, 29.08],\n", 989 | " ['Carol', 55, 45.61],\n", 990 | " ['Sam', 88, 97.47]]\n", 991 | "\n", 992 | "print(count_names_in_tables(table2))" 993 | ] 994 | }, 995 | { 996 | "cell_type": "markdown", 997 | "metadata": { 998 | "slideshow": { 999 | "slide_type": "slide" 1000 | } 1001 | }, 1002 | "source": [ 1003 | "## Belge Dizini Yapıları\n", 1004 | "\n", 1005 | "Belge dizileri, o şeyin işlevini tanımlamaya yardımcı olan ve özellikle fonksiyon yapılarından sonra gelen üç tırnaklı dizelerdir." 1006 | ] 1007 | }, 1008 | { 1009 | "cell_type": "code", 1010 | "execution_count": 36, 1011 | "metadata": { 1012 | "slideshow": { 1013 | "slide_type": "slide" 1014 | } 1015 | }, 1016 | "outputs": [], 1017 | "source": [ 1018 | "def multiply_by_two(number):\n", 1019 | " \"\"\"\n", 1020 | " Bu fonksiyon girdi olarak girilen değeri 2'yle çarpar\n", 1021 | " ---\n", 1022 | " Girdi: Sayısal\n", 1023 | " Çıktı: Sayısal\n", 1024 | " \"\"\"\n", 1025 | " return 2*number" 1026 | ] 1027 | }, 1028 | { 1029 | "cell_type": "code", 1030 | "execution_count": 37, 1031 | "metadata": { 1032 | "slideshow": { 1033 | "slide_type": "slide" 1034 | } 1035 | }, 1036 | "outputs": [ 1037 | { 1038 | "data": { 1039 | "text/plain": [ 1040 | "8" 1041 | ] 1042 | }, 1043 | "execution_count": 37, 1044 | "metadata": {}, 1045 | "output_type": "execute_result" 1046 | } 1047 | ], 1048 | "source": [ 1049 | "multiply_by_two(4)" 1050 | ] 1051 | }, 1052 | { 1053 | "cell_type": "code", 1054 | "execution_count": 38, 1055 | "metadata": {}, 1056 | "outputs": [ 1057 | { 1058 | "data": { 1059 | "text/plain": [ 1060 | "'44'" 1061 | ] 1062 | }, 1063 | "execution_count": 38, 1064 | "metadata": {}, 1065 | "output_type": "execute_result" 1066 | } 1067 | ], 1068 | "source": [ 1069 | "multiply_by_two(\"4\")" 1070 | ] 1071 | }, 1072 | { 1073 | "cell_type": "markdown", 1074 | "metadata": {}, 1075 | "source": [ 1076 | "## Enumerate\n", 1077 | "\n", 1078 | "Bazı durumlarda elemanlarımızın index numaralarına erişme ve onlarla çalışma ihtiyacı duyarız. Bu amaç doğrultusunda eğer satırın index numaralarına ihtiyacım varsa bu konuda `enumerate` fonksiyonundan yararlanabiliriz." 1079 | ] 1080 | }, 1081 | { 1082 | "cell_type": "code", 1083 | "execution_count": 39, 1084 | "metadata": {}, 1085 | "outputs": [ 1086 | { 1087 | "name": "stdout", 1088 | "output_type": "stream", 1089 | "text": [ 1090 | "0 ['Sam', 36, 85.95] ['Sam', 36, 85.95]\n", 1091 | "1 ['Carol', 75, 53.65] ['Carol', 75, 53.65]\n", 1092 | "2 ['Sam', 90, 95.37] ['Sam', 90, 95.37]\n", 1093 | "3 ['Doug', 61, 19.8] ['Doug', 61, 19.8]\n", 1094 | "4 ['Sam', 41, 45.22] ['Sam', 41, 45.22]\n", 1095 | "5 ['Doug', 29, 42.98] ['Doug', 29, 42.98]\n", 1096 | "6 ['Oliver', 61, 95.74] ['Oliver', 61, 95.74]\n", 1097 | "7 ['Carol', 32, 17.12] ['Carol', 32, 17.12]\n", 1098 | "8 ['Tari', 27, 68.83] ['Tari', 27, 68.83]\n", 1099 | "9 ['Tari', 81, 62.47] ['Tari', 81, 62.47]\n" 1100 | ] 1101 | } 1102 | ], 1103 | "source": [ 1104 | "for ix, row in enumerate(table1):\n", 1105 | " print(ix, row, table1[ix])" 1106 | ] 1107 | }, 1108 | { 1109 | "cell_type": "markdown", 1110 | "metadata": {}, 1111 | "source": [ 1112 | "# List Comprehensions" 1113 | ] 1114 | }, 1115 | { 1116 | "cell_type": "markdown", 1117 | "metadata": {}, 1118 | "source": [ 1119 | "List Comprehensions, mevcut listelere dayalı listeler tanımlamanın ve oluşturmanın oldukça etkili bir yoludur. Liste oluşturmak için normal fonksiyonlardan ve döngülerden genellikle daha **kompakt** ve daha **hızlıdır**. Ancak, kodun kullanıcı dostu olmasını sağlamak için çok uzun List Compherensions'ları tek bir satıra yazmaktan kaçınmalıyız." 1120 | ] 1121 | }, 1122 | { 1123 | "cell_type": "code", 1124 | "execution_count": 40, 1125 | "metadata": {}, 1126 | "outputs": [ 1127 | { 1128 | "name": "stdout", 1129 | "output_type": "stream", 1130 | "text": [ 1131 | "[4, 5, 6, 8]\n" 1132 | ] 1133 | } 1134 | ], 1135 | "source": [ 1136 | "a_list_of_numbers = [1,2,3,4,5,7]\n", 1137 | "\n", 1138 | "new_list_of_numbers = [x + 1 for x in a_list_of_numbers if x > 2]\n", 1139 | "print(new_list_of_numbers)" 1140 | ] 1141 | }, 1142 | { 1143 | "cell_type": "code", 1144 | "execution_count": 41, 1145 | "metadata": {}, 1146 | "outputs": [], 1147 | "source": [ 1148 | "new_list = []\n", 1149 | "for number in a_list_of_numbers:\n", 1150 | " if number > 2:\n", 1151 | " new_list.append(number + 1)" 1152 | ] 1153 | }, 1154 | { 1155 | "cell_type": "code", 1156 | "execution_count": 42, 1157 | "metadata": {}, 1158 | "outputs": [ 1159 | { 1160 | "data": { 1161 | "text/plain": [ 1162 | "[4, 5, 6, 8]" 1163 | ] 1164 | }, 1165 | "execution_count": 42, 1166 | "metadata": {}, 1167 | "output_type": "execute_result" 1168 | } 1169 | ], 1170 | "source": [ 1171 | "new_list" 1172 | ] 1173 | }, 1174 | { 1175 | "cell_type": "markdown", 1176 | "metadata": {}, 1177 | "source": [ 1178 | "# Lambda Fonksiyonu ve Sıralama İşlemleri" 1179 | ] 1180 | }, 1181 | { 1182 | "cell_type": "markdown", 1183 | "metadata": { 1184 | "slideshow": { 1185 | "slide_type": "slide" 1186 | } 1187 | }, 1188 | "source": [ 1189 | "Python'da sıralama işlemleri yapabilmek için elimizde 2 farklı yolumuz vardır. Şimdi bunları aşağıdaki örneklerle görelim ve aralarındaki farkı anlamaya çalışalım." 1190 | ] 1191 | }, 1192 | { 1193 | "cell_type": "code", 1194 | "execution_count": 43, 1195 | "metadata": { 1196 | "slideshow": { 1197 | "slide_type": "slide" 1198 | } 1199 | }, 1200 | "outputs": [ 1201 | { 1202 | "name": "stdout", 1203 | "output_type": "stream", 1204 | "text": [ 1205 | "[('alice', 29, 115000), ('bob', 32, 72000), ('charlie', 25, 95000)]\n", 1206 | "[('bob', 32, 72000), ('alice', 29, 115000), ('charlie', 25, 95000)]\n" 1207 | ] 1208 | } 1209 | ], 1210 | "source": [ 1211 | "# Sütunlar = (İsim, Yaş, Maaş)\n", 1212 | "alumni = [('bob',32,72000),\n", 1213 | " ('alice',29,115000),\n", 1214 | " ('charlie',25,95000)]\n", 1215 | "\n", 1216 | "print(sorted(alumni)) # Sıralama işlemleri için kullanılan fonksiyon\n", 1217 | "print(alumni)" 1218 | ] 1219 | }, 1220 | { 1221 | "cell_type": "markdown", 1222 | "metadata": {}, 1223 | "source": [ 1224 | "Sorun ne? Aslında `sorted` fonksiyonunu çalıştırdığımızda istediğimiz sonucu vermişti? Ama orijinal verimizi değiştirmemiş... \n", 1225 | "\n", 1226 | "Bir de bu yazım şekliyle deneyelim." 1227 | ] 1228 | }, 1229 | { 1230 | "cell_type": "code", 1231 | "execution_count": 44, 1232 | "metadata": { 1233 | "slideshow": { 1234 | "slide_type": "slide" 1235 | } 1236 | }, 1237 | "outputs": [ 1238 | { 1239 | "name": "stdout", 1240 | "output_type": "stream", 1241 | "text": [ 1242 | "[('alice', 29, 115000), ('bob', 32, 72000), ('charlie', 25, 95000)]\n" 1243 | ] 1244 | } 1245 | ], 1246 | "source": [ 1247 | "alumni.sort() # sort fonksiyonu sıralamayı orijinal veri üzerinde gerçekleştirdi\n", 1248 | "print(alumni)" 1249 | ] 1250 | }, 1251 | { 1252 | "cell_type": "markdown", 1253 | "metadata": {}, 1254 | "source": [ 1255 | "Şimdi oldu! Çünkü `sorted(alumni)` fonksiyonunu çalıştırdığımda verinin orijinal halini değiştirmek yerine, aslında bana değerlerimizin sıralı halini yeni bir liste olarak tanımlamış oldu. \n", 1256 | "\n", 1257 | "Genellikle `sorted` fonksiyonunu kullanmak `.sort` fonksiyonuna nazaran daha güvenli bir işlemdir, çünkü yanlışlıkla `.sort` fonksiyonunu kullanırsanız, orijinal verinizi komple değiştirmiş olursunuz.\n", 1258 | "\n", 1259 | "Ama sıralama işlemlerimizi şu ana kadar hep ilk sütundaki (isim) **alfabetik sıraya göre** yaptık. Şimdi de değerleri biraz tersten sıralamayı biraz da maaş sütununa göre sıralamayı inceleyelim." 1260 | ] 1261 | }, 1262 | { 1263 | "cell_type": "code", 1264 | "execution_count": 45, 1265 | "metadata": { 1266 | "slideshow": { 1267 | "slide_type": "slide" 1268 | } 1269 | }, 1270 | "outputs": [ 1271 | { 1272 | "name": "stdout", 1273 | "output_type": "stream", 1274 | "text": [ 1275 | "[('charlie', 25, 95000), ('bob', 32, 72000), ('alice', 29, 115000)]\n" 1276 | ] 1277 | } 1278 | ], 1279 | "source": [ 1280 | "print(sorted(alumni, reverse=True))" 1281 | ] 1282 | }, 1283 | { 1284 | "cell_type": "markdown", 1285 | "metadata": {}, 1286 | "source": [ 1287 | "İlk sütun dışında bir değere göre sıralama yapmak için Python'a nasıl sıralanacağını söylememiz gerekir. Bu iş, bir `lambda` fonksiyonu için harika bir kullanımdır. Lambda fonksiyonları, **kaydetmek istemediğimiz** fonksiyon tanımlamalarıdır. İşlevlerini sadece bir satırda tamamlamalarını ve sonra hafıza alanını çalmamalarını isteriz." 1288 | ] 1289 | }, 1290 | { 1291 | "cell_type": "code", 1292 | "execution_count": 46, 1293 | "metadata": { 1294 | "slideshow": { 1295 | "slide_type": "slide" 1296 | } 1297 | }, 1298 | "outputs": [ 1299 | { 1300 | "name": "stdout", 1301 | "output_type": "stream", 1302 | "text": [ 1303 | "[('bob', 32, 72000), ('charlie', 25, 95000), ('alice', 29, 115000)]\n" 1304 | ] 1305 | } 1306 | ], 1307 | "source": [ 1308 | "print(sorted(alumni, key=lambda row: row[2]))" 1309 | ] 1310 | }, 1311 | { 1312 | "cell_type": "code", 1313 | "execution_count": 47, 1314 | "metadata": {}, 1315 | "outputs": [ 1316 | { 1317 | "data": { 1318 | "text/plain": [ 1319 | "[('alice', 29, 115000), ('charlie', 25, 95000), ('bob', 32, 72000)]" 1320 | ] 1321 | }, 1322 | "execution_count": 47, 1323 | "metadata": {}, 1324 | "output_type": "execute_result" 1325 | } 1326 | ], 1327 | "source": [ 1328 | "alumni.sort(key=lambda row: row[2], reverse=True)\n", 1329 | "alumni" 1330 | ] 1331 | }, 1332 | { 1333 | "cell_type": "markdown", 1334 | "metadata": {}, 1335 | "source": [ 1336 | "`sorted` fonksiyonu için `key` parametresi, her bir verinin hangi parçasına göre sıralamak istediğimizi tanımlayan bir fonksiyon alır. Burada ikinci indexteki (maaş) bilgilerine göre sıralama yapmasını söyledik. İşlevin kendisi çok ilginç değil, bu çizginin ötesinde yaşamasını istemiyoruz.\n", 1337 | "\n", 1338 | "Bu ifadeyi sonrasında tekrardan kullanabilmek için bir fonksiyon yapısına dönüştürecek olursak ise..." 1339 | ] 1340 | }, 1341 | { 1342 | "cell_type": "code", 1343 | "execution_count": 48, 1344 | "metadata": {}, 1345 | "outputs": [ 1346 | { 1347 | "name": "stdout", 1348 | "output_type": "stream", 1349 | "text": [ 1350 | "[('bob', 32, 72000), ('charlie', 25, 95000), ('alice', 29, 115000)]\n" 1351 | ] 1352 | } 1353 | ], 1354 | "source": [ 1355 | "def get_second_column_of_row(row):\n", 1356 | " \"\"\"\n", 1357 | " Satırda bulunan 2. indexe ait değerleri döndürür.\n", 1358 | " \"\"\"\n", 1359 | " return row[2]\n", 1360 | "\n", 1361 | "print(sorted(alumni, key=get_second_column_of_row))" 1362 | ] 1363 | }, 1364 | { 1365 | "cell_type": "markdown", 1366 | "metadata": {}, 1367 | "source": [ 1368 | "Ama gerçekçi olmak gerekirse, bu fonksiyonu isim alanıma kaydetmek istemiyorum, bir daha da asla istemeyeceğim. Bunun yerine, tüm kodumu tek kullanımlık fonksiyonlarla kirletmeden davranışı tanımlamak için `lambda` fonksiyonu kullanıyoruz. Lambda fonksiyonu, özellikle `map` veya `filter` fonksiyonlarını kullanmak gibi işler yaparken, python dilinin ortak bir parçasıdır. Ama bunlar şimdilik başka bir zamanın tartışma konusu." 1369 | ] 1370 | }, 1371 | { 1372 | "cell_type": "markdown", 1373 | "metadata": { 1374 | "slideshow": { 1375 | "slide_type": "slide" 1376 | } 1377 | }, 1378 | "source": [ 1379 | "# Hata Mesajları" 1380 | ] 1381 | }, 1382 | { 1383 | "cell_type": "markdown", 1384 | "metadata": {}, 1385 | "source": [ 1386 | "Python'da yazdığımız kod bloğu içerisinde beklenmedik durumlarla karşılaşıldığında, hata mesajları vermeye başlar ve o hatanın sebebini çözene kadar yapmak istediğimiz işlemi bizim için askıya alır.\n", 1387 | "\n", 1388 | "Ancak bazı durumlarda yazdığımız **kodların doğru şekilde kullanılmasını sağlamak** için kendimiz hata mesajları tanımlama ihtiyacı hissederiz." 1389 | ] 1390 | }, 1391 | { 1392 | "cell_type": "code", 1393 | "execution_count": 49, 1394 | "metadata": { 1395 | "slideshow": { 1396 | "slide_type": "slide" 1397 | } 1398 | }, 1399 | "outputs": [ 1400 | { 1401 | "ename": "ValueError", 1402 | "evalue": "List should have an even number of elements!", 1403 | "output_type": "error", 1404 | "traceback": [ 1405 | "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", 1406 | "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", 1407 | "Input \u001b[0;32mIn [49]\u001b[0m, in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m class_list \u001b[38;5;241m=\u001b[39m [\u001b[38;5;241m1\u001b[39m,\u001b[38;5;241m2\u001b[39m,\u001b[38;5;241m3\u001b[39m]\n\u001b[1;32m 2\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(class_list) \u001b[38;5;241m%\u001b[39m \u001b[38;5;241m2\u001b[39m \u001b[38;5;241m!=\u001b[39m \u001b[38;5;241m0\u001b[39m:\n\u001b[0;32m----> 3\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mList should have an even number of elements!\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", 1408 | "\u001b[0;31mValueError\u001b[0m: List should have an even number of elements!" 1409 | ] 1410 | } 1411 | ], 1412 | "source": [ 1413 | "class_list = [1,2,3]\n", 1414 | "if len(class_list) % 2 != 0:\n", 1415 | " raise ValueError(\"List should have an even number of elements!\") # Tanımladığımız hata mesajı" 1416 | ] 1417 | }, 1418 | { 1419 | "cell_type": "markdown", 1420 | "metadata": {}, 1421 | "source": [ 1422 | "İstenmeyen durumlarla başa çıkmak için `assert` fonksiyonunu da kullanabiliriz." 1423 | ] 1424 | }, 1425 | { 1426 | "cell_type": "code", 1427 | "execution_count": 50, 1428 | "metadata": {}, 1429 | "outputs": [ 1430 | { 1431 | "ename": "AssertionError", 1432 | "evalue": "Input must be a list!", 1433 | "output_type": "error", 1434 | "traceback": [ 1435 | "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", 1436 | "\u001b[0;31mAssertionError\u001b[0m Traceback (most recent call last)", 1437 | "Input \u001b[0;32mIn [50]\u001b[0m, in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[38;5;28;01massert\u001b[39;00m \u001b[38;5;28mtype\u001b[39m(list_to_sum) \u001b[38;5;241m==\u001b[39m \u001b[38;5;28mlist\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mInput must be a list!\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 8\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28msum\u001b[39m(list_to_sum)\n\u001b[0;32m---> 10\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[43msum_up_a_list\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m3\u001b[39;49m\u001b[43m)\u001b[49m)\n", 1438 | "Input \u001b[0;32mIn [50]\u001b[0m, in \u001b[0;36msum_up_a_list\u001b[0;34m(list_to_sum)\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 3\u001b[0m \u001b[38;5;124;03mGirdi olarak bir sayı listesi alır ve liste\u001b[39;00m\n\u001b[1;32m 4\u001b[0m \u001b[38;5;124;03miçerisindeki sayıların toplamını hesaplar.\u001b[39;00m\n\u001b[1;32m 5\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 6\u001b[0m \u001b[38;5;66;03m# Girdi olarak verilen değerler list yapısında olsun istiyorum\u001b[39;00m\n\u001b[0;32m----> 7\u001b[0m \u001b[38;5;28;01massert\u001b[39;00m \u001b[38;5;28mtype\u001b[39m(list_to_sum) \u001b[38;5;241m==\u001b[39m \u001b[38;5;28mlist\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mInput must be a list!\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 8\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28msum\u001b[39m(list_to_sum)\n", 1439 | "\u001b[0;31mAssertionError\u001b[0m: Input must be a list!" 1440 | ] 1441 | } 1442 | ], 1443 | "source": [ 1444 | "def sum_up_a_list(list_to_sum):\n", 1445 | " \"\"\"\n", 1446 | " Girdi olarak bir sayı listesi alır ve liste\n", 1447 | " içerisindeki sayıların toplamını hesaplar.\n", 1448 | " \"\"\"\n", 1449 | " # Girdi olarak verilen değerler list yapısında olsun istiyorum\n", 1450 | " assert type(list_to_sum) == list, \"Input must be a list!\"\n", 1451 | " return sum(list_to_sum)\n", 1452 | "\n", 1453 | "print(sum_up_a_list(3))" 1454 | ] 1455 | }, 1456 | { 1457 | "cell_type": "code", 1458 | "execution_count": 51, 1459 | "metadata": {}, 1460 | "outputs": [ 1461 | { 1462 | "name": "stdout", 1463 | "output_type": "stream", 1464 | "text": [ 1465 | "6\n" 1466 | ] 1467 | } 1468 | ], 1469 | "source": [ 1470 | "print(sum_up_a_list([1,2,3]))" 1471 | ] 1472 | }, 1473 | { 1474 | "cell_type": "markdown", 1475 | "metadata": { 1476 | "slideshow": { 1477 | "slide_type": "slide" 1478 | } 1479 | }, 1480 | "source": [ 1481 | "# Try - Except" 1482 | ] 1483 | }, 1484 | { 1485 | "cell_type": "markdown", 1486 | "metadata": {}, 1487 | "source": [ 1488 | "`try-except`, hatalara anında tepki verebilen kod oluşturmanın harika bir yoludur. Yapmamız gereken, `try` ifadesinin içine çalışmasını istediğimiz kod bloğu koymak, ardından `except` ifadesine de `try` kısmında yazdığımız kodda bir hata meydana geldiğinde de \"nasıl bir davranış izlemesini istediğimizi belirtiriz\"." 1489 | ] 1490 | }, 1491 | { 1492 | "cell_type": "code", 1493 | "execution_count": 52, 1494 | "metadata": {}, 1495 | "outputs": [ 1496 | { 1497 | "name": "stdout", 1498 | "output_type": "stream", 1499 | "text": [ 1500 | "Trying to divide\n", 1501 | "\n", 1502 | "Oops, forgot to make it a number\n", 1503 | "0.5\n" 1504 | ] 1505 | } 1506 | ], 1507 | "source": [ 1508 | "x = \"1\" # 1 sayısının string versiyonu, bununla matematiksel işlemler gerçekleştirilemez\n", 1509 | "\n", 1510 | "try:\n", 1511 | " print(\"Trying to divide\")\n", 1512 | " print(x/2)\n", 1513 | " print(\"This won't happen because of the error\")\n", 1514 | " \n", 1515 | "except:\n", 1516 | " print(\"\\nOops, forgot to make it a number\")\n", 1517 | " print(int(x)/2)" 1518 | ] 1519 | }, 1520 | { 1521 | "cell_type": "code", 1522 | "execution_count": 53, 1523 | "metadata": { 1524 | "slideshow": { 1525 | "slide_type": "slide" 1526 | } 1527 | }, 1528 | "outputs": [ 1529 | { 1530 | "name": "stdout", 1531 | "output_type": "stream", 1532 | "text": [ 1533 | "¯\\_(ツ)_/¯\n" 1534 | ] 1535 | } 1536 | ], 1537 | "source": [ 1538 | "del x # del fonksiyonu tanımladığımız değişkeni tamamen silmemizi sağlar\n", 1539 | "\n", 1540 | "try:\n", 1541 | " str(x)\n", 1542 | "except:\n", 1543 | " print(\"¯\\_(ツ)_/¯\")" 1544 | ] 1545 | }, 1546 | { 1547 | "cell_type": "markdown", 1548 | "metadata": { 1549 | "slideshow": { 1550 | "slide_type": "slide" 1551 | } 1552 | }, 1553 | "source": [ 1554 | "# Referans Değerler vs Gerçek Değerler" 1555 | ] 1556 | }, 1557 | { 1558 | "cell_type": "code", 1559 | "execution_count": 54, 1560 | "metadata": { 1561 | "slideshow": { 1562 | "slide_type": "slide" 1563 | } 1564 | }, 1565 | "outputs": [ 1566 | { 1567 | "name": "stdout", 1568 | "output_type": "stream", 1569 | "text": [ 1570 | "[1, 2, 3, 4]\n", 1571 | "[1, 2, 3, 4]\n" 1572 | ] 1573 | } 1574 | ], 1575 | "source": [ 1576 | "a = [1,2,3]\n", 1577 | "b = a\n", 1578 | "b.append(4)\n", 1579 | "\n", 1580 | "# Aslında sadece b listesine bir ekleme yapmamıza rağmen, neden a listesine de aynı eklemeyi yaptı?\n", 1581 | "print(a)\n", 1582 | "print(b)" 1583 | ] 1584 | }, 1585 | { 1586 | "cell_type": "markdown", 1587 | "metadata": { 1588 | "slideshow": { 1589 | "slide_type": "slide" 1590 | } 1591 | }, 1592 | "source": [ 1593 | "`b = a` yazımı bizim için `b` adını verdiğimiz yeni bir değişken tanımlamaz. Sadece `b` değişkenimizi `a` değişkenine bağlı yeni bir değişken olarak oluşturur.\n", 1594 | "\n", 1595 | "Eğer yeni bir değişken oluşturmak istersek, `a` değişkenindeki değerleri kullanarak yeni bir veri yapısı tanımlamamız gerekir (Python'a `a` değişkenindeki değerleri kullanarak bir liste veri tipine yazarak oluşturulan bu listeyi `b` değişkenine eşitle gibi)." 1596 | ] 1597 | }, 1598 | { 1599 | "cell_type": "code", 1600 | "execution_count": 55, 1601 | "metadata": { 1602 | "slideshow": { 1603 | "slide_type": "slide" 1604 | } 1605 | }, 1606 | "outputs": [ 1607 | { 1608 | "name": "stdout", 1609 | "output_type": "stream", 1610 | "text": [ 1611 | "[1, 2, 3]\n", 1612 | "[1, 2, 3, 4]\n" 1613 | ] 1614 | } 1615 | ], 1616 | "source": [ 1617 | "a = [1,2,3]\n", 1618 | "b = a.copy()\n", 1619 | "b.append(4)\n", 1620 | "\n", 1621 | "print(a)\n", 1622 | "print(b)" 1623 | ] 1624 | }, 1625 | { 1626 | "cell_type": "markdown", 1627 | "metadata": {}, 1628 | "source": [ 1629 | "# Özet\n", 1630 | "\n", 1631 | "Python'da kodlama yaparken yalnızca en yaygın yazım standartlarının bazılarına değindik. Eğer incelemek isterseniz, standartların burada bulunabilecek daha bir çok bölümü var:\n", 1632 | "\n", 1633 | "[PEP8 Guide](https://www.python.org/dev/peps/pep-0008/)\n", 1634 | "\n", 1635 | "> **HATIRLATMA:** Gelecekte kendinin ve ekip arkadaşlarının size teşekkür etmeleri için kodlarınızı kolay okunabilir ve anlaşılabilir bir şekilde yazmayı unutmayın :)" 1636 | ] 1637 | }, 1638 | { 1639 | "cell_type": "code", 1640 | "execution_count": null, 1641 | "metadata": {}, 1642 | "outputs": [], 1643 | "source": [] 1644 | } 1645 | ], 1646 | "metadata": { 1647 | "kernelspec": { 1648 | "display_name": "Python 3 (ipykernel)", 1649 | "language": "python", 1650 | "name": "python3" 1651 | }, 1652 | "language_info": { 1653 | "codemirror_mode": { 1654 | "name": "ipython", 1655 | "version": 3 1656 | }, 1657 | "file_extension": ".py", 1658 | "mimetype": "text/x-python", 1659 | "name": "python", 1660 | "nbconvert_exporter": "python", 1661 | "pygments_lexer": "ipython3", 1662 | "version": "3.9.12" 1663 | }, 1664 | "vscode": { 1665 | "interpreter": { 1666 | "hash": "35fed63349aaa71549b38d578a8052428b78d7c5e5dead48be5ac9be91c4ad80" 1667 | } 1668 | } 1669 | }, 1670 | "nbformat": 4, 1671 | "nbformat_minor": 1 1672 | } 1673 | --------------------------------------------------------------------------------