python:函式和迴圈判斷
阿新 • • 發佈:2018-12-13
---恢復內容開始---
輸出顯示
先說一下最基礎的輸出:
print('hello world')
唯一值得提到是字串的format函式。
format函式代替了C中的%s。
print('{0} say:{0} {1}。'.format('python', 'hello world'))
{0}是format的第一個字串,{1}是format的第二個字串。
IF判斷
if 1 > 2: print('1>2') else: print('1<=2')
在if判斷中,還有elif,在之後的聯絡中,可能會用。
for迴圈
for item in [1, 2, 3]: print(item)
for item in [1, 2, 3]: print(item) if item == 2: break else: print(5)
在這裡我們要注意,for迴圈中還可以加else,我在C++,java中都沒有遇見怎麼好用的功能,只有全部迴圈完成,才能執行else;當break時,就不能執行else。
函式
普通引數
def f1(name): print('hello', name) f1('alex')
預設引數
def f1(name='no name'): print('hello', name) f1()
預設引數無引數傳入也可以執行
還有兩種是普通引數和預設引數的延伸——收集引數。
收集引數
def f2(*args): print(type(args)) for i in args: print(i) f2('alex', 'alen')
收集引數可以傳入好多引數,只要不是關鍵字引數,沒有被預設引數搶走,都會存成tuple。
def f3(**kwargs): print(type(kwargs)) for k, v in kwargs.items(): print(k + '-------' + v) f3(name = 'alex', sex = 'male')
而傳進的多餘的關鍵字引數,會存在字典(dictionary)中
關鍵字引數
在呼叫函式時,如果要指定傳某個引數,而不是按順序傳引數,就用到了關鍵字引數。
多種引數混合呼叫的順序問題