變數的作用範圍:
legb
def fun():
global b1
b1=100
print("i am in fun")
b2=99
print(b2)
fun()
print(b1)
a=100
b=200
def fun(c,d):
e=111
print('local='.format(locals()))
print('globals='.format(globals()))
fun(300,400)
x='jjc'
y='wcx'
z=eval('x+y')
print(z)
x='jjc'
y='wcx'
z1=eval('x*2')
z=exec("print('x+y:',x+y)")
print("*" * 20)
print(z)
print(z1)
x=0
def fun():
global x
x += 1
print(x)
#函式自己呼叫自己
fun()
fun()
#斐波那契額數列
#一列數字,第乙個為1,第二個為1,從第三個開始,每乙個數字的值都前兩個數值的和
#數學公式為f(1)=1,f(2)=2,f(n)=f(n-1)+f(n-2)
#例,1、1、2、3、5····
def fib(n):
if n==1:
return 1
if n==2:
return 1
#else:
return fib(n-1)+fib(n-2)
print(fib(6))
#1.建立空列表
l1=#2.建立帶值的列表
l2=[100]
#3.建立多個值的列表
l3=[1,2,3,4,5]
#4.使用list
l4=list()
# -*- coding: utf-8 -*-
l=[1,2,3,4,5,6]
#包含左邊的下標值,不包含右邊的下標值
print(l[0:5])
#下標值可以為空,如果不寫,左邊下標值為0,右邊下標值為最大值+1,即標示擷取的最後乙個資料
print(l[:4])
print(l[3:])
print(l[:])
#分片可以控制增長幅度,預設增長幅度為1
print(l[1:5:1])
#列印從下標1開始,每次隔乙個
print(l[::2])
#分片之負數下標
#下標值,增長值可以為負數,順序為從右往左
print(l[-4:-2])
#如果分片一定左邊比右邊值大,則步長引數要為負
print(l[-4:-2:-1])
通過id可以直接判斷出分片是重新生成了乙份資料還是使用同乙份資料
如果兩個id值一樣,則表明分片產生的列表是使用同乙個位址同乙份資料
否則則表明分片是重新生成了乙份資料,即乙個新的列表,然後把數值拷貝到新的列表中
#!/usr/bin/python
# -*- coding: gbk -*-
# -*- coding: utf-8 -*-
def hano(n,a,b,c):
'''漢諾塔的遞迴實現
n:代表幾個盤子
a:代表第乙個塔,開始的塔
b:代表第二個塔,中間過渡的塔
c:代表第三個塔,目標塔
'''if n==1:
print(a,'-->',c)
print('1')
return none
# 把n-1個盤子,從a塔借助於c塔,挪到b塔上去
hano(n-1,a,c,b)
hano(1,a,b,c)
#把n-1個盤子,從b塔,借助於a塔,挪到c塔上去
hano(n-1,b,a,c)
a='a'
b='b'
c='c'
n=3hano(n,a,b,c)
js 函式中的作用域和作用域鏈
js看似有 塊級作用域 其實它沒有,取而代之的是 函式作用域 在乙個 塊 一對花括號內 定義的變數在 塊外部是不可見的,且在 塊執行結束後被釋放掉。定義在該函式中的引數和變數在函式外部不可見 例子1 而乙個函式內部任何位置定義的變數,在該函式內部任何地方都可見 例子2 解釋二 也就是說,變數不僅在宣...
字典和集合的相關函式
dic dic top 南韓the shy dic middle 肉雞rookie dic bottom a water dic jungle 鞋王 dic support bao blue print dic lst a b c dic fromkeys lst,none print dic di...
函式的巢狀和作用域
函式的巢狀定義 內部函式可以使用外部函式的變數 作用域鏈 在內部函式使用變數時,是從小區域性到大區域性到全域性到內建名字的過程中一級一級網上找,找到最近的乙個就使用 nonlocal a 宣告乙個上層區域性變數,往上走一級離得最近並且有a 1 對全域性無效 2 對區域性的最近的一層產生影響 閉包巢狀...