1. 程式人生 > >python基礎筆記

python基礎筆記

賦值 區別 數字 odi 多行註釋 執行 spa tuple 單擊

路徑和文件名不要有中文

#!/usr/bin/env python

#-*- coding:utf-8 -*- 2.7需要加此行。3.5不用

版本區別:

python3.5 print(‘hello,world‘) 默認utf-8 input("請輸入名字") utf-8轉換gbk: decode(‘‘utf8‘‘)先解碼成unicode,然後encode("gbk")

python2.7 print ‘hello,world‘ 默認ascii raw_input("請輸入名字:") utf-8轉換gbk:

單行註釋:# ; 多行註釋:‘‘‘ 很多行 ‘‘‘

.pyc文件:python在執行過程中:python-->字節碼-->機器碼-->計算機,這個.pyc就是字節碼文件,如果把py刪掉,pyc也可用

python中的賦值是賦值內存中的地址,a=6;b=a;如果a=7,b仍然是6,因為另外出了個空間裝7給a了

continue:跳出當前循環,繼續下次循環

break:跳出所有循環

查看對象有哪些方法:

方法1:print(type(temp)),先找到類,然後按住ctrl並在類上面單擊

方法2:help(type(temp)) 或dir(temp)

python2.7有的時候不顯示文字,而是現實十六進制,這時候需要編碼,b=a.decode(‘‘utf8‘‘) ;c=b.encode(‘gbk‘)或者x=str(y,encoding=‘utf-8‘)

修改自身與創建副本:

一般情況下,字符串的方法多數都是創建副本,list,tuple,dic多數都是修改自身

元組的元素雖然不能變,但tu=(1,2,[‘a‘,‘b‘])中的數組是可以變的,其實並不是元組的元素不可以變,只是說元組沒有相關的方法。

三元運算:name = 值1 if 條件 else 值2 //如果條件成立,name=值1,如果條件不成立,name=值2

深淺拷貝

一、數字和字符串

對於 數字 和 字符串 而言,賦值、淺拷貝和深拷貝無意義,因為其永遠指向同一個內存地址。

import copy
# ######### 數字、字符串 #########
n1 = 123
# n1 = "i am alex age 10"
print(id(n1))
# ## 賦值 ##
n2 = n1
print(id(n2))
# ## 淺拷貝 ##
n2 = copy.copy(n1)
print(id(n2))
  
# ## 深拷貝 ##
n3 = copy.deepcopy(n1)
print(id(n3))

技術分享

二、其他基本數據類型

1、賦值,只是創建一個變量,該變量指向原來內存地址,如:

n1 = {"k1": "wu", "k2": 123, "k3": ["alex", 456]}
  
n2 = n1

技術分享

2、淺拷貝

淺拷貝,在內存中只額外創建第一層數據

import copy
  
n1 = {"k1": "wu", "k2": 123, "k3": ["alex", 456]}
  
n3 = copy.copy(n1)

技術分享

3、深拷貝

深拷貝,在內存中將所有的數據重新創建一份(除了最後一層,即:python內部對字符串和數字的優化)

import copy
  
n1 = {"k1": "wu", "k2": 123, "k3": ["alex", 456]}
  
n4 = copy.deepcopy(n1)

技術分享

python基礎筆記