def
test
(num)
:print
("在函式內部%d對應的記憶體位址是%d "
%(num,
id(num)))
pass
a=10
#資料位址的本質就是乙個數字
#使用python內建函式id()返回物件的記憶體位址
print
("a變數儲存資料的記憶體位址為%d"%id
(a))
#呼叫test函式,實際上傳遞的是實參儲存資料的引用,而不是實參儲存的資料
test(a)
num=
10def
demo()
:global num#global宣告全域性變數,可以在函式中修改全域性變數
num=
99print
("%d"
%num)
defdemo1()
:print
("%d"
%num)
demo(
)demo1(
)"""
#注意:開發時把所有全域性變數定義在所有函式上方
#保證所有函式都可以訪問到全域性變數
g_num =
10def
demo()
:print
("%d"
% g_num)
print
("%s"
%title)
#再定義乙個全域性變數
title=
"b"#注意title全域性變數需要在函式上方,否則訪問不到。
demo(
)
def
measure()
:"""測量溫度和濕度"""
print
("測量開始..."
) temp=
39#溫度
wetness=
50#濕度
print
("測量結束"
)return
(temp,wetness)
#元組可以包含多個資料,可以使用元組一次返回多個值
#= return temp,wetness
#如果函式返回型別是元組,小括號可以省略
result=measure(
)print
(result)
###如果函式返回值是元組同時希望單獨處理元組中的元素,可以使用多個變數一次接受函式的返回結果
#變數個數和元組中元素個數一致
gl_temp,gl_wetness=measure(
)print
(gl_temp)
print
(gl_wetness)
a=6b=
100#不使用中間值交換數字的解法如下:
"""a=a+b
b=a-b
a=a-b
print(a)
print(b)
"""#python專有解法如下:
a,b=
(b,a)
print
(a)print
(b)
def
demo
(num,numlist)
:print
("函式內部的**:"
)#在函式內部,針對引數使用賦值語句
num=
100#修改區域性變數的引用,不會影響到外部變數的引用
#numlist=[1,2,3]
##!!!在函式內如果使用方法修改了資料的內容,會影響到外部的資料9)
#將9加入到元組中
print
(num,numlist)
print
("函式修改完成"
)gl_num=
99#全域性變數
gl_numlist=[4
,5,6
]print
("未修改前的資料:"
)print
(gl_num,gl_numlist)
demo(gl_num,gl_numlist)
print
(gl_num,gl_numlist)
#python中有兩種多值引數:
# (1)引數名前加乙個*可以接收元組(2)引數名前增加兩個 *可以接收字典。
#使用多值引數求和
defsum_numbers
(*args)
: num=
0print
(args)
for n in args:
num+=n
return num
result=sum_numbers(1,
2,3,
4,5)
print
(result)
#使用元組引數求和
defsum
(agrs)
: num=
0print
(agrs)
for n in agrs:
num+=n
return num
resulta=
sum((1
,2,3
,4,5
))#需要多加乙個括號,不如多值引數方便
print
(resulta)
#定義乙個函式sum_numbers
#能夠接收乙個num的整數引數
#計算1+2+3...num的結果
defsum_numbers
(num)
:#出口
if num ==1:
return
1#假設sum_numbers能夠正確處理累加,再設計累加
temp=sum_numbers(num-1)
return num +temp
result=sum_numbers(3)
print
(result)
class
cat:
defeat
(self)
:print
("%s愛吃魚"
% self.name)
defdrink
(self)
:print
("小貓要喝水"
)tom=cat(
)#新建物件tom
tom.name=
"tom"
tom.eat(
)tom.drink(
)print
(tom)
#列印物件的位址
#再建立乙個貓物件
lazy_cat=cat(
)lazy_cat.name=
"大懶貓"
lazy_cat.eat(
)lazy_cat.drink(
)print
(lazy_cat)
#列印物件位址
lazy_cat2=lazy_cat
#print(lazy_cat2)#列印lazy_cat2物件的位址,和lazy_cat一樣
Python學習筆記(1)
在工作的業餘時間學習了一下python,個人覺得如果有下liunx下工作的習慣話,寫一些小的python指令碼很容易提高工作效率,以下主要是針對python與c 的區別而寫的一些學習筆記,共同溝通一起進步。1 python中不用 表示語句塊,而是用 來表示乙個塊的開始,而用縮進來表示各個語句塊之間的...
Python 學習筆記 1
2.讀了 python簡明教程 前面5章內容,很久之前看過一遍,現在是重溫,加做練習。教程是python v2.x,許多地方都不一樣了 help,print,exit 需要以函式的標準形式來替換,help print exit 之前的 raw input 被去掉,統一作input 3.python ...
python學習筆記(1 )
1 在確定自己不會匯入多個同名函式 從不同的模組匯入 的情況下,可以使用 from math import sqrt from 模組 import 函式 這樣就可以直接使用sqrt 9 而不用每次都用math.sqrt 9 2 可以使用變數來引用函式 及python中的大多數物件 如 import ...