1. 程式人生 > 實用技巧 >python學習記錄(一)-基礎

python學習記錄(一)-基礎

交換變數值

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()