1 #!/usr/bin/python3 2 3 ''' 4 Python3.6.x簡單教程 5 6 示例、註釋 7 交互式和腳本式編程 8 變量類型 9 數字(Number) 10 字符串(String) 11 列表(List) 12 元組(Tuple) 13 字典(Dictionary) 14 運算符 15 條件語句 16 if條件語句 17 Python中沒有switch case語句 18 循環語句 19 While循環語句 20 For循環語句 21 循環嵌套 22 Break語句 23 Continue語句 24 Pass語句 25 函數 26 27 ''' 28 29 # 經常使用python包 30 # import string 字符串操做 31 # import math 數學工具 32 # import os 文件和文件夾操做 33 # import datetime 日期時間操做 34 # import random 隨機數 35 # import parser 解析文件 36 # 其餘第三方package 37 # 瞭解Python自帶工具包,參看《Python標準庫》一書 38 39 # 示例程序 40 41 # print("Hello Python3.6") 42 # # 查看python版本號 43 # import sys 44 # print("Python版本號:",sys.version) # dsfsdsfdsd 45 46 # 註釋dasdfasdfadsfasdfasdfsadfasdfasdfasdfasdfsadfsdfsadfsadfsadfsadfsdfsadfsadfsadf 47 # print("該行代碼被註釋掉了,因此不會打印出來") 48 49 # 多行註釋 50 ''' 51 這是python中的多行註釋 52 這是另外一行被註釋的內容 53 ''' 54 55 """ 56 sdfasdfsa 57 sdfasdfsa 58 sdfsadfas 59 """ 60 61 ''' 62 fsdfsd 63 64 ''' 65 66 # 變量賦值 67 # num = 1 68 # myname = "jack" 69 # a,b,c = 1,2,3 70 # 71 # d = 9.05 72 # e = 8 73 # 74 # print("myname:",type(myname)) 75 # print("b:",type(b)) 76 # 77 # print(type(d)) 78 # print(type(e)) 79 # 80 # myname,b = b,myname 81 # 82 # print("myname:",type(myname)) 83 # print("b:",type(b)) 84 # 85 # 86 # print("a,b,c的值分別爲:",a,b,c) 87 88 89 # 變量數據類型 90 91 # 數字類型 92 # number1 = 1 # int型 93 # number2 = 10.2 # float型 94 # number3 = 4654654564645645645 # long型 95 # number4 = 2 + 3j # 複數 96 # 97 # print(number1) 98 # print(number2) 99 # print(number3) 100 # print(number4) 101 # 102 # print(type(number1)) 103 # print(type(number2)) 104 # print(type(number3)) 105 # print(type(number4)) 106 107 # 字符串string 108 # import string 109 # myname = "jack" 110 # address = 'shenzhen' 111 # print(myname[0]) 112 # print(myname[0:4:3]) 113 # print(myname[1:]) 114 # print(myname * 2) 115 # print('=' * 20) 116 # print("個人名字是" + myname) 117 # print("個人名字是",myname) 118 119 # 列表list 120 # 列表使用[]表示,其中的元素以逗號,隔開,列表是有序集合 121 # list = ['jack',12,'shenzhen',45,23.34] 122 # tinylist = ["apple","android"] 123 # print(type(list)) 124 # print(list) 125 # print(list[0]) 126 # print(list[1:3]) 127 # print(list * 2) 128 # print(list + tinylist) 129 # list[0]='tom' 130 # print(list) 131 132 133 # 元組tuple 134 #元組使用()表示,其中的元素也是以逗號,隔開,不過元組不能二次賦值,至關於只讀列表,元組是有序集合 135 # tuple = ('jack',12,'shenzhen',45,23.34) 136 # tinytuple = ("apple","android") 137 # print(type(tuple)) 138 # print(tuple) 139 # print(tuple[0]) 140 # print(tuple + tinytuple) 141 # 元組值不容許修改,下面代碼會報錯 142 # tuple[0] = 'tom' 143 144 # 字典dict 145 #字典使用{}表示,字典有索引key和對應的值value組成,字典值是經過索引來存取的,而非經過偏移來存取 146 # dict = {} 147 # dict['name'] = 'jack' 148 # dict['age'] = 12 149 # dict['address'] = 'shenzhen' 150 # dict['hobby'] = 'coding' 151 # dict[2] = 'demoitem' 152 # print(type(dict)) 153 # print(dict['name']) 154 # print(dict.keys()) 155 # print(dict.values()) 156 # print(dict) 157 158 159 # 類型轉換 160 # x = 'a' 161 # print(int(x)) 162 # float(x) 163 # str(x) 164 # tuple(x) 165 # list(x) 166 # dict(d) 167 168 169 # 運算符 170 # 算術運算符 171 # 比較運算符 172 # 賦值運算符 173 # 邏輯運算符 174 # 位運算符 175 # 成員運算符 176 # 身份運算符 177 178 179 # 算術運算符 180 # + - * / % ** // 181 # a = 5 182 # b = 3 183 # print(a + b) 184 # print(a - b) 185 # print(a * b) 186 # print(a / b) 187 # print(a % b) 188 # print(a ** b) 189 # print(a // b) # 返回商的整數部分 190 191 # 比較運算符 192 # == # 等於 193 # != # 不等於 194 # > # 大於 195 # < # 小於 196 # >= # 大於等於 197 # <= # 小於等於 198 # a = 5 199 # b = 3 200 # print(a == b) 201 # print(a != b) 202 # print(a > b) 203 # print(a < b) 204 # print(a >= b) 205 # print(a <= b) # 返回商的整數部分 206 207 208 209 # 賦值運算符 210 # = 賦值 211 # += 加法賦值 212 # -= 減法賦值 213 # *= 乘法賦值 214 # /= 除法賦值 215 # %= 取模賦值 216 # **= 冪賦值 217 # //= 取整除賦值 218 # a = 10 219 # b = 20 220 # c = a + b 221 # c += a 222 # c = c + a 223 # c -= a 224 # c = c - a 225 # c *= a 226 # c = c * a 227 # c /= a 228 # c = c / a 229 # c %= a 230 # c = c % a 231 # c **= a 232 # c = c ** a 233 # c //= a 234 # c = c // a 235 236 237 # 邏輯運算符 238 # and 239 # or 240 # not 241 242 # a = 10 243 # b = 20 244 # if (a and b): 245 # print("變量a和b都是true") 246 # else: 247 # print("變量a和b至少有一個不爲true") 248 # 249 # if (a or b): 250 # print("變量a和b至少有一個是true") 251 # else: 252 # print("變量a和b都不爲true") 253 # 254 # if (not a): 255 # print("變量a爲false") 256 # else: 257 # print("變量a爲true") 258 259 # 位運算符 260 # & 按位與 261 # | 按位或 262 # ^ 按位異或 263 # ~ 按位非 264 # << 左移 265 # >> 右移 266 # a = 2 # 000 00100 267 # b = 4 # 0000 0100 268 # print("a的二進制值:" + bin(a)) 269 # print("b的二進制值:" + bin(b)) 270 # print("a和b按位與的二進制值:" + bin(a & b)) 271 # print("a和b按位或的二進制值:" + bin(a | b)) 272 # print("a和b按位異或的二進制值:" + bin(a ^ b)) 273 # print("a按位非的二進制值:" + bin(~a)) 274 # print("a左移1位的二進制值:" + bin(a << 1)) 275 # print("a右移1位的二進制值:" + bin(a >> 1)) 276 277 # 成員運算符 278 # 成員運算符用來判斷某個變量值是否存在於給定的集合中 279 # in 存在 280 # not in 不存在 281 # a = 10 282 # b = 2 283 # list = [1,2,3,4,5] 284 # 285 # if (not (a in list)): 286 # print("a的值存在於list中") 287 # else: 288 # print("a的值不存在於list中") 289 # 290 # if (b in list): 291 # print("b的值存在於list中") 292 # else: 293 # print("b的值不存在於list中") 294 # 295 # if (a not in list): 296 # print("a的值不存在於list中") 297 # else: 298 # print("a的值存在於list中") 299 300 301 302 # 身份運算符 303 # 用於比較兩個對象的存儲單元 304 # is 判斷兩個標識符是否是引用自一個對象,若是引用自同一個對象(同一個內存單元),則返回true,不然返回false 305 # is not 判斷兩個標識符是否是引用自不一樣對象,若是引用自同一個對象(同一個內存單元),則返回false,不然返回true 306 307 308 # a = 20 309 # b = 30 310 # if (a is b): 311 # print("a和b指向同一個內存單元") 312 # else: 313 # print("a和b指向不一樣內存單元") 314 # 315 # print(id(a)) 316 # print(id(b)) 317 318 # if (a is not b): 319 # print("a和b指向不一樣內存單元") 320 # else: 321 # print("a和b指向同一個內存單元") 322 # 323 # print(id(a)) 324 # print(id(b)) 325 # 326 # # 修改變量b的值 327 # b = 'tom' 328 # if (a is b): 329 # print("a和b指向同一個內存單元") 330 # else: 331 # print("a和b指向不一樣內存單元") 332 # 333 # print(id(a)) 334 # print(id(b)) 335 # 336 # b = 79 337 # print(id(b)) 338 # 339 # if (a is not b): 340 # print("a和b指向不一樣內存單元") 341 # else: 342 # print("a和b指向同一個內存單元") 343 344 345 #is 和 == 區別 346 #is 用於判斷兩個變量引用的對象是不是同一個,==用於判斷引用的變量的值是否相等 347 348 349 # 條件語句 350 351 # Python中指定任何非0非空(null)的值爲true,0或者null爲false 352 # if 判斷條件: 353 # 執行符合該條件下的語句 354 # else: 355 # 執行其餘語句 356 357 # a = 10 358 # if (a > 20): 359 # print("a大於20") 360 # else: 361 # print("a不大於20") 362 363 # 364 # gender = 'F' 365 # if (gender == 'F'): 366 # print("此人爲女生") 367 # else: 368 # print("此人爲男生") 369 370 371 # if 判斷條件1: 372 # 執行符合條件1下的語句 373 # elif 判斷條件2: 374 # 執行符合條件2下的語句 375 # elif 判斷條件3: 376 # 執行符合條件3下的語句 377 # else: 378 # 若是上述條件都不符合,則執行該語句 379 380 # score = 89 381 # if (score == 100): 382 # print("成績滿分") 383 # elif (score >= 90): 384 # print("成績在90和100分之間") 385 # elif (score >= 60): 386 # print("成績在60和90分之間") 387 # elif (score >= 0): 388 # print("成績在0和60分之間") 389 # else: 390 # print("成績分數不正常") 391 392 393 394 # 循環語句 395 # While循環語句 396 # a = 5 397 # while(a > 0): 398 # print("當前輪次a的值爲:",a) 399 # a -= 1 400 401 # import time 402 # # 無限循環,即死循環 403 # while(True): 404 # print("死循環...") 405 #time.sleep(2) 406 407 # while循環使用else語句 408 # a = 5 409 # while (a > 0): 410 # print("當前輪次a的值爲:", a) 411 # a -= 1 412 # else: 413 # print("a的值已經再也不大於0:",a) 414 415 416 # For循環語句 417 # for循環能夠遍歷任何序列的元素,如一個列表或者一個字符串。 418 # for letter in 'Python': 419 # print("當前字符爲:",letter) 420 # 421 # fruits = ['apple','banana','mango'] 422 # for current_fruit in reversed(fruits): 423 # print("當前水果爲: ",current_fruit) 424 425 # for num in range(10): 426 # print("當前數字: ",num) 427 # 428 # # for循環使用else語句 429 # for num in range(10): 430 # print("當前數字: ", num) 431 # else: 432 # print("數字已經打印完畢") 433 434 435 436 # 循環嵌套 437 # for嵌套循環 438 # a = [1,2,3,4,5] 439 # b = [1,1,1,1,1] 440 # for a_item in a: 441 # sum = 0 442 # for b_item in b: 443 # sum += b_item 444 # else: 445 # sum += a_item 446 # print("列表b中全部元素與a中當前元素的總和爲:",sum) 447 # else: 448 # print("結束") 449 450 451 # while嵌套循環 452 # a = 5 453 # while (a > 0): 454 # print('&' * a) 455 # b = 3 456 # while(b > 0): 457 # print('*' * b) 458 # b -= 1 459 # a -= 1 460 461 462 463 464 # Break語句和Continue語句 465 # break:用於終止整個循環 466 # continue:用於跳過當前循環輪次,開始下一輪循環 467 468 # print("break語句示例") 469 # for letter in 'Python': 470 # if letter == 'h': 471 # continue 472 # print("當前字母爲:",letter) 473 474 # 475 # print("continue語句示例") 476 # for letter in 'Python': 477 # if letter == 'h': 478 # continue 479 # print("當前字母爲:", letter) 480 481 482 483 # Pass語句 484 # Python中的pass語句爲空語句,即不執行任何內容,表示直接跳過的意思。 485 # for letter in 'Python': 486 # if letter == 'h': 487 # pass 488 # print("這是pass塊") 489 # print("當前字母爲:",letter) 490 # print("循環結束,bye") 491 492 493 494 495 496 # 函數 497 # 函數是爲了重複使用的代碼塊,Python中提供了不少內建函數,不過咱們也能夠定義本身的函數,稱爲自定義函數。 498 # 定義函數 499 # def add(a,*b): 500 # "定義一個加法函數,返回兩個數的和" 501 # print("a的值爲:",a) 502 # sum = 0 503 # sum += a 504 # #print("b的值爲:",b) 505 # for var in b: 506 # sum += var 507 # return sum 508 # # 509 # # 510 # # # 調用函數 511 # print(add(1,8,3,2,4,5,6)) 512 513 # 參數類型 514 515 # 必備參數:必備參數必須以正確的順序傳入函數,調用時的數量必須和定義時的同樣 516 # 關鍵字參數:使用關鍵字參數容許函數調用時參數的順序與定義時不一致,由於此時Python解釋器可以用參數名稱匹配參數值 517 #默認參數:調用函數時,若是沒有傳入默認參數的值,那麼就會利用定義時的默認值 518 # 不定長參數:你可能須要一個函數能處理比當初定義時更多的參數,這些參數稱爲不定長參數,這種參數聲明時不會命名 519 520 # 必備參數 521 #print(add(1,2)) 522 523 # 關鍵字參數 524 #print(add(b = 3,a = 8)) 525 # 526 # # 默認參數,也稱缺省參數,默認參數必須在參數列表的最後一個 527 # def printinfo(name,age = 12): 528 # print("name:",name) 529 # print("age:",age) 530 # # 531 # printinfo("jack",34) 532 # printinfo("tom") 533 534 535 # 不定長參數,加了*號的變量名會存放全部未命名的變量參數 536 # def func_name([formal_args,] *var_args_tuple): 537 # statements 538 539 # def printinfo(name,*vartuple): 540 # print("輸出:") 541 # print("name:",name) 542 # print("打印不定長參數:") 543 # for var in vartuple: 544 # print(var) 545 # print("參數打印結束") 546 # 547 # # 548 # printinfo("jack") 549 # printinfo("tom",14,"john","shenzhen",5.03) 550 # printinfo("tom",14,"john") 551 552 553 # 變量做用域:全局變量 局部變量 554 # 定義在函數內部的變量擁有局部做用域,定義在函數外部的變量擁有全局做用域 555 # 局部變量只能在其被定義的函數內部訪問,而全局變量則能夠在整個程序範圍內訪問。 556 557 # total = 9 # 全局變量 558 # def sum (arg1,arg2): 559 # global total 560 # print(total) 561 # total = arg1 + arg2 # 局部變量total 562 # #print("函數內是局部變量:",total) 563 # return total 564 # 565 # print(sum(1,2)) 566 # print(total)