python學習記錄(一)-基礎
阿新 • • 發佈:2020-12-17
交換變數值
a,b = 10,20
print(a,b) #10 20
a,b = b,a
print(a,b) #20 10
大字串
str = '''最近在看的動漫:
黑之契約者、咒術回戰。。。'''
print(str)
#最近在看的動漫:
#黑之契約者、咒術回戰。。。
取消轉義字元
str = '取消\t轉義字元'
print(str) #取消 轉義字元
str = r'取消\n轉義字元'
print(str) #取消\t轉義字元
元組
vart = (1,2,3) print(vart,type(vart)) #(1, 2, 3) <class 'tuple'> vart = (1) print(vart,type(vart)) #1 <class 'int'> vart = (1,) print(vart,type(vart)) #(1,) <class 'tuple'> vart = 1,2,3 print(vart,type(vart)) #(1, 2, 3) <class 'tuple'>
集合
無序、內容不重複
vars = {3,1,8,2}
print(vars,type(vars)) #{8, 1, 2, 3} <class 'set'>
vars = {}
print(vars,type(vars)) #{} <class 'dict'>
vars =set()
print(vars,type(vars)) #set() <class 'set'>
集合運算
a = {1,2,3,'a','b','c'} b = {'a','b',4,5,6} print(a & b) #交集 {'a', 'b'} print(a - b) #差集 {1, 2, 3, 'c'} print(a | b) #並集 {1, 2, 3, 4, 5, 6, 'b', 'c', 'a'} print(a ^ b) #對稱差集 {'c', 1, 2, 3, 4, 5, 6}
集合操作
a = {1,2,3}
a.add(4)
print(a) #{1, 2, 3, 4}
a.discard(4)
print(a) #{1, 2, 3}
print(4 in a) #False
算術運算子
#+ - * / % ** //
a,b = 5,2
print(a/b) #2.5
print(a%b) #1
print(a//b) #2
print(b**3) #8
拼接字串
a = 'hello'
print(f'{a} world') #hello world
print('{} world'.format(a)) #hello world
是否引用同一個物件
a,b = 10,11 print(id(a),id(b)) #140730676310576 140730676310608 print(a is b,a is not b) #False True
引數們
def fun(var1,var2,*vars,keyvars,**kwvars):
print(var1,var2) # 10 20
print(vars,type(vars)) # ('收', '集', '參', '數') <class 'tuple'>
print(keyvars) # 關鍵字引數
print(kwvars,type(kwvars)) # {'k1': '關鍵字', 'k2': '收集', 'k3': '引數'} <class 'dict'>
fun(10,20,'收','集','參','數',keyvars='關鍵字引數',k1='關鍵字',k2='收集',k3='引數')
訪問變數
num = 10
str = '1234'
varlist = [1,2,3,4]
varset = {1,2,3,4}
vardict = {1:11,2:22}
def fun():
print(num) # 10
num = 11 # UnboundLocalError: local variable 'num' referenced before assignment
print(str) # 1234
str = '12345' # UnboundLocalError: local variable 'num' referenced before assignment
varlist[3] = 44
varset.add(5)
vardict[1] = 111
fun()
print(varlist) # [1, 2, 3, 44]
print(varset) # {1, 2, 3, 4, 5}
print(vardict) # {1: 111, 2: 22}
全域性變數
num = 10
str = '1234'
def fun():
global num,str,jubu
num = 11
str = '12345'
jubu = '函式內定義的全域性變數'
fun()
print(num) # 11
print(str) # 12345
print(jubu) # 函式內定義的全域性變數
檢視作用域
num = 10
def fun():
global var1
var1 = 1234
var2 = 3456
def inner():
pass
print(globals()) # {'num':10,var1:1234,...}
print(locals()) # {'var2': 3456,'inner':<function fun.<locals>.inner>}
fun()
print(globals()) # {'num':10,var1:1234,...}
print(locals()) # {'num':10,var1:1234,...}
nonlocal
def fun():
var = 1
def inner():
nonlocal var
print(var) # 1
var = 2
print(var) # 2
inner()
fun()