匿名作用域
全局變量使用外部的,局部變量是使用內部。
作用域:使用的範圍。
當全局變量和局部變量同名時,局部變量有先。全局變量,全局變量和局部變量的作用域不同。
生命週期:存在時間的長短不同。
形式參數:只佔一個坑、實際參數:實際運用。
匿名函數:沒有名字的函數。Lambda
隨機數
Sort()排序方法 sorted排序函數
迭代器
迭代是Python最強大的功能之一,是訪問集合元素的一種方式。。
迭代器是一個可以記住遍歷的位置的對象。
迭代器對象從集合的第一個元素開始訪問,直到所有的元素被訪問完結束。迭代器只能往前不會後退。
迭代器有兩個基本的方法:iter() 和 next()。
字符串,列表或元組對象都可用於創建迭代器:
#匿名函數 lambda
sum = lambda arg1, arg2: arg1 + arg2;
print( sum(10, 20))
sum = lambda arg1, arg2: arg1 + arg2;
print( sum(20, 20))
def add(a,b,fun):
print(fun(a,b))
add(11,22,lambda ar1,ar2:ar1-ar2)
list1=[1,4,6,7,9,12,17]
list1 = filter(lambda i : i%2==1,list1)
for i in list1:
print(i)
#reverse -- 排序規則,reverse = True 降序 , reverse = False 升序(默認)
students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
print(sorted(students, key=lambda s: s[2]) )
students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
print(sorted(students, key=lambda s: s[2], reverse=True))
#sorted排序
a = [5,7,6,3,4,1,2]
b = sorted(a)
print(b)
#sort
a = [5,7,6,3,4,1,2]
a.sort()
print(a)
#1關鍵字參數
# 可寫函數說明
def printme(str):
"打印任何傳入的字符串"
print(str);
return;
# 調用printme函數
printme(str="菜鳥教程");
#2關鍵字參數 函數參數的使用不需要使用指定順序
# 可寫函數說明
def printinfo(name, age):
"打印任何傳入的字符串"
print("名字: ", name);
print("年齡: ", age);
return;
# 調用printinfo函數
printinfo(age=50, name="runoob");
#默認參數
# 可寫函數說明
def printinfo(name, age=35):
"打印任何傳入的字符串"
print("名字: ", name);
print("年齡: ", age);
return;
# 調用printinfo函數
printinfo(age=50, name="runoob");
print("------------------------")
printinfo(name="runoob");
#全局變量和局部變量
total = 0; # 這是一個全局變量
# 可寫函數說明
def sum( arg1, arg2 ):
#返回2個參數的和."
total = arg1 + arg2; # total在這裏是局部變量.
print ("函數內是局部變量 : ", total)
return total;
#調用sum函數
sum( 10, 20 );
print ("函數外是全局變量 : ", total)
#迭代器
list=[1,2,3,4]
it = iter(list) # 創建迭代器對象
for x in it:
print (x, end=" ")
#使用 next() 函數迭代器
import sys # 引入 sys 模塊
list = [1, 2, 3, 4]
it = iter(list) # 創建迭代器對象
while True:
try:
print(next(it))
except StopIteration:
sys.exit()