天天看點

python學習筆記1

變量(variables)

變量命名習慣

駝峰體

AgeOfOldboy = 56

NumberOfStudents = 80

下劃線(官方推薦)

age_of_oldboy = 56

number_of_student = 80

定義變量的low方式

1.變量名為中文、拼音     老男孩的年齡=56

2.變量名過長             oldboy_nianling=56

3. 變量名詞不達意        name2=‘北京市昌平區’

理想的表達方式

oldboy_gf_name = lisa

常量

常量即指不變的量,或在程式運作過程中不會改變的量

常量約定俗成用變量名全部大寫代表常量

AGE_OF_OLDBOY = 56 

讀取使用者輸入

#name = input("what is your name")

#print("hello" + name )

#print("hello", name )

username = input("username: ")

password = input("password: ")

注釋

用#

數字類型

整數:int

小數:float

python 自動識别數字類型

type(age)

資料類型

基本類型:數字、字元串、布爾

資料集:清單、元祖、字典、集合

資料類型-數字類型

int(整型):32位取值範圍-2**31~2**31-1

64位取值範圍-2**63~2**63-1

long(長整型)

實際大小取決于記憶體,python3中取消long

字元串

加了引号的字元都被認為是字元串

name = "alex li"

hometown = 'shanghai'

msg = '''my name is alex, iam 22 years old!'''

單雙引号功能基本相同,區分情景

msg = "my name is alix, i'm 22 years old!"

多引号

msg = ''' 今天我想寫詩,歌頌一個我的同學'''

不加引号字元串預設為變量

字元串拼接

使用+實作拼接如 name=alice age= 10   name +age =alice10

資料類型-布爾型

兩個值:TRUE(真)和FALSE(假)

格式化輸出

name = input("name: ")

age = int(input("Age: "))

job = input("job: ")

hometown = input("howntown: ")

info = """======info of %s======

name = %s

age = %s

job = %s

hometown = %s

===========end========

"""%(name,name,age,job,hometown)

#%S = string

#%d = digit

#%f = float

print(info)

print(type(age))

運算符

算術、比較、邏輯、指派、成員、身份、位

算術:+、-、*、/、%(取餘)、//(取整除)、**(次方)

比較:==/<>(等于)、!=(不等于)、>、<、>=、<=

指派:=、+=(c+=a等于c=c+a)、-=、*=、/=

邏輯: and、or、not(反向值)

流程控制

單分支

if 條件:

滿足條件後要執行的代碼

雙分支

滿足條件執行代碼

else:

if條件不滿足就執行這段代碼

多分支

滿足條件執行代碼

elif 條件:

上面的條件不滿足就走這段

上面所有的條件不滿足就走這段

while循環

while 條件:

執行代碼。。。。。

if count ==50:

pass #過

Dead Loop

死循環

while True:

循環終止

break:完全跳出循環

continue: 跳出這一次循環

while else

python裡使用編碼

python 2代碼第1行輸入 #! -*- coding: utf-8 -*-

清單

功能:建立、查詢、切片、增加、修改、删除、循環、排序

L1 = [] #定義空清單

L2 = ['a','b','c','d'] #存4個值,索引未0-3

L3 = ['abc',['def','ghi']] #嵌套清單

建立空清單:list()、[]

L2 = ['a','b','c','d','a','e',1,2]

查詢:L2[2]->'c'

  L2.index('a')-> 1

  L2.count(4) ->  查找重複數

切片:L2[0:3] 顧頭不顧尾 -> ['a','b','c']

  L2[0:-1] -> ['a','b','c','d','a','e',1]

  L2[3:6]-> ['d','a','e']

  L2[3:]-> ['d','a','e',1,2]

  L2[:3]-> ['a','b','c']

  L2[1:6:2]-> ['b','d','e']

  L2[:]-> ['a','b','c','d','a','e',1,2]

  L2[::2]-> ['a','c','a',1] 步長為2

增加

L2.append(‘peiqi’)//在表最後追加

L2.insert(1(表索引),'peiqi'(所插内容)) //插入

修改

L2[2] = 'ABC'

L2[1:3] = 'jack liu' -> ['a','j','a','c','k',' ','l','i','u','d','a','e',1,2]

删除

L2.pop()//删除表最後一個元素

L2.remove(‘j’)

del L2[0] -> ['j','a','c','k',' ','l','i','u','d','a','e',1,2]

del L2[2:6]

del L2 //删除表

循環

for i in L2:(i為臨時變量)

print(i) -> ['j','a','c','k',' ','l','i','u','d','a','e',1,2]

range(10) 循環臨時清單

排序

n = [1,3,4,5,7,9,13]

n.sort() //排序位置按照ASCII碼表順序排序

n.reverse() //反轉

清單拼起來 //n與n2都為清單

n + n2 

n.extend(n2)

清空表元素

n.clear()

深淺copy

1.檢視記憶體位址

names = ['a','c','e',1,3,2,4,5]

id(names)

id(name[0])

a = 1 b = a  b指向1的位址

n2 = names.copy()

names =  ['a','c','e',1,3,2,4,5,['LT',24]

name [-1][0]-> 'LT'

import copy

n4 = copy.deepcopy(names)

字元串類型

 1. 有序

 2. 不可變