使用循環(huán).
函數(shù)(functions)和模塊(modules)
函數(shù)如:
print(list(range(10,20,3)))
結(jié)果:
● 預(yù)定義的函數(shù)
● def語句創(chuàng)建自己的函數(shù)
def my_func():
print("你好,中國")
my_func()
定義函數(shù),并調(diào)用
●每個(gè)函數(shù)中的代碼塊都以冒號: 開始并且要縮進(jìn)
def print_double(x):
print(2*x)
print_double(3)
結(jié)果為:6
使用逗號分隔多個(gè)參數(shù)
def print_double(x,y)
函數(shù)參數(shù)可以在函數(shù)內(nèi)部當(dāng)變量使用.但是,它們不能在函數(shù)的定義之外被引用.函數(shù)內(nèi)部創(chuàng)建的其他變量也不能再函數(shù)外部被引用.
def function(variable):
variable+=1
print(variable)
function(7)
print(variable)
結(jié)果:
定義的函數(shù)使用return語句執(zhí)行返回操作
return語句不能在函數(shù)定義之外使用.
一旦從一個(gè)函數(shù)返回一個(gè)值,函數(shù)立即停止運(yùn)行.返回語句之后的任何代碼都不會執(zhí)行.
def add_numbers(x,y):
total=x+y
return total
print("this won't be printed")
print(add_numbers(34,23))
結(jié)果:57
# 這是一個(gè)注釋
python沒有通用的多行注釋
Docstrings(文檔字符串)個(gè)注釋的目的類似.因?yàn)樗麄冎荚诮忉尨a.但是它們更具體,并且具有不同的語法.
def shout(word):
"""給一個(gè)詞后邊加一個(gè)感嘆號,并打印這個(gè)詞"""
print(word+"!")
shout("heartbeat是心跳,脈搏的意思")
結(jié)果:heartbeat是心跳,脈搏的意思!
與傳統(tǒng)的注釋不同,文檔字符串在整個(gè)程序運(yùn)行時(shí)保留.這運(yùn)行程序員在運(yùn)行時(shí)檢查這些文檔注釋.
函數(shù)與其他類型的值一樣.可以將他們重新分配給變量,并在稍后由這些名稱引用函數(shù).
def multiply(x,y):
return x*y
a=4
b=9
operation=multiply
print(operation(a,b))
結(jié)果:36
函數(shù)也可以作為其他函數(shù)的參數(shù).
def add(x,y):
return x+y
def do_twice(func,x,y):
return func(func(x,y),func(x,y))
a=5
b=10
print(do_twice(add,a,b))
結(jié)果:30
do_twice接收一個(gè)函數(shù)作為參數(shù),并在它的函數(shù)內(nèi)部調(diào)用它
模塊是其他人為完成常見任務(wù)而編寫的代碼.例如:生成隨機(jī)數(shù)字,執(zhí)行數(shù)學(xué)運(yùn)算等
import module_name 導(dǎo)入模塊
module_name.var 訪問模塊中名稱為var的函數(shù)和值
import random
for i in range(5):
value=random.randint(1,10)
print(value)
結(jié)果:
代碼使用random模塊中定義的randint函數(shù)打印1到10范圍內(nèi)(不包括10)的9的隨機(jī)數(shù).
from module_name import var 從某個(gè)模塊中導(dǎo)入某個(gè)功能(函數(shù))
from math import pi
print(pi)
結(jié)果:
使用逗號分隔列表導(dǎo)入多個(gè)對象.
例如:from math import pi,sqrt
●可以使用*導(dǎo)入模塊中的所有對象.例如:from math import *
●通常不推薦這么做,因?yàn)樗鼤⒋a中的變量與外部模塊中的變量混淆.
使用as關(guān)鍵字,給導(dǎo)入的模塊或?qū)ο笾孛?模塊或?qū)ο竺Q較長或容易混淆的時(shí)候比較常用.
from math import sqrt as square_root
print(square_root(100))
結(jié)果:10.0
python中有三種主要的模塊類型.a 你自己編寫的;b 從外部來源安裝的; c python預(yù)定義的. 最后一種稱為標(biāo)準(zhǔn)庫,并包含許多有用的模塊.
一些常用的標(biāo)準(zhǔn)庫:string,re(正則表達(dá)式),datetime,random,os,multiprocessing,subprocess,socket(套接字),email,json,doctest,unittest,pdb,argparse和sys
標(biāo)準(zhǔn)庫可以完成的任務(wù)包括字符串解析,數(shù)據(jù)序列化,測試,調(diào)試和操作日期,電子郵件,命令行參數(shù)等等.
python中的標(biāo)準(zhǔn)庫中的一些模塊是用python寫的,有些是c語言寫的.大多數(shù)都可以在所有平臺上使用.
許多第三方python模塊都存儲在python package index(PyPI)中.
最好的安裝方法是使用pip程序.
命令行中輸入: pip install library_name 安裝第三方庫