可以使用中文命名變量名
Pycharm中Ctrl + D 快速復制
#單行注釋,Pycharm中用Ctrl + ? 加或者去注釋
#單行注釋
#print(‘hello world’)
注釋是個好習慣,不是越多越好,在關鍵性代碼加注釋,要求簡單明了,可以在上面,也可以在同行(如果在同行,就要求#前加倆個空格)
PEP8規范
Pycharm中,選擇Code再Reform Code,自動規范代碼,或者按Ctrl + Alt + L快捷鍵
Pycharm中用Shift + Enter快捷鍵到下一行
Python用’’’ ‘’’或者””” “””用于多行注釋
‘’’
多行注釋
多行注釋
多上注釋
‘’’
“””
多行注釋
多行注釋
多行注釋
“””
為何數據要區分類型?
數據類型指的是變量值的類型,變量值之所以區分類型,是因為變量值是用來記錄事物狀態的,而事物的狀態有不同的種類,對應著,也必須有不同類型的值去記錄它們。
一、數字類型
1、整型int
? ????作用:記錄年齡、等級、數量...
? ????定義:
?????age = 18
? ????使用:算術運算,比較運算
?????print(10/3)
?????print(10>3)
2、浮點型float
作用:記錄薪資、身高、體重…
? ????定義:
?????salary = 3.1
? ????使用:算術運算與比較運算
?????print(3.1 + 2)
?????print(3.1 > 2)
? ????int與float可以一起使用
? ????int與float邏輯上統稱為數字類型(實際上沒有)
? ????Python2里有長整型、復數(看博客)
二、字符串str
? ??作用:記錄描述性質的狀態
定義:在單引號或雙引號或三引號(單雙引號)中包含一系列字符
name = ‘egon’
? ??使用:注意引號配對;字符串內部有雙引號,則外部用單引號,字符串內部有單引號,則外部用雙引號;字符串也可以相加,用+,表示拼接字符串,不推薦使用,浪費內存空間,如,x = ‘hello’,y = ‘world’,x
+ y,print(x + Y),x占用一塊內存空間,y占用一塊內存空間,x+y也占用一塊內存空間;整型可以與整型相加,整型可以與浮點型相加,字符型不可以與整型或者浮點型相加,字符串只能與字符串相加,字符串可以與整型相乘。
三、列表類型list
作用:按照位置記錄多個值,并且可以取出指定位置的某一個值(推薦記錄同種屬性的值)(索引對應值,索引從0開始,代表的就是位置)
定義:在[ ]內用逗號分隔開多個任意類型的值
? 0? 1? 2?????? 3
l=[100,3.2,'aaa',['a','b',['d','e']]]
使用:
print(l[0])
print(l[2])
print(l[3][1])
print(l[3][2][1])
hobbies=['read','music','eat','sleep']
取出第一個學生的第一個愛好
students_info=[['egon',18,['play',]],['alex',18,['play','sleep']]]
print(students_info[0][2][0])
四、字典dict
? ??作用:記錄多個不同屬性的值
定義:在{ }內用逗號分開多個元素,每一個元素都有key:value組成,value就是我們存放的值(可以是任意類型)一個key唯一對應一個value,key應對value有描述性的功能,所以,key通常是str類型
dic={'name':'egon','age':18,'gender':'male'}
print(type(dic))
列表與字典:
? 都能記錄多個值,列表是索引對應值,有序;字典是key對應值,無序
使用:
print(dic['name'])
print(dic['age'])
記錄多個同屬性的值,推薦列表;記錄多個不同屬性的值,推薦字典,個數少時,可以用列表
info={
??? 'name':'egon',
??? 'hobbies':['play','sleep'],
??? 'company_info':{
??????? 'name':'Oldboy',
??????? 'type':'education',
??????? 'emp_num':40,
??? }
}
print(info['company_info']['name'])
????????? ????0??1? 2? 3??? 4
emp_info=['egon',18,10,'male',1.81]
print(emp_info[0])
print(emp_info[1])
print(emp_info[2])
info=['egon',18,'male']
print(info[0])
print(info[1])
print(info[2])
info={'name':'egon','age':18,'gender':'male'}
info=[
????{'name':'egon','age':18,'sex':'male','height':1.81,'weight':70},
???? 第二個學生的信息,
???? 第三個學生的信息,
]
五、布爾類型bool
True、False
作用:用于判斷
定義:
x=True
y=False
print(type(x))
print(type(y))
print(10 > 11)
print(10 == 10)
使用:
if []:
???? print('ok')
else:
???? print('不ok')
強調:所有的數值都有自帶布爾值,其中0、None、空的布爾值為False,其余都為True
六、輸入輸出(與用戶交互)
1、接手用戶輸入
name = input(‘請輸入存的用戶名’) input輸出的是字符串即name = ‘egon’
2.格式化輸出
name = input(‘username>>>’)
age = input(‘age>>>’)
print(‘my nameis xxx my age is xxx’)
print(‘my nameis’ + name + ‘my age is ‘ + age)
print(‘my name is%s my age is %s’ %(name,age))
%s s代表str能接受int、flaot、list、dict型數值類型
print('my age is%s' %'aaa')
print('my age is%s' %10)
print('my age is%s' %['a',1])
%d 只能接受數字,小數可以,但是只保留整數部分
print('my age is%d' %10)
print('my age is%d' %'aaaa')
print('my age is%d' %10.1)
了解
在Python3中只有一個input,會將用戶輸入的任何內容都保存為字符串
x=input('>>>>:') # x='[1,2,3]'
print(x,type(x))
在Python2中,有倆種接收用戶輸入的機制:
? raw_input:和Python3的input一樣
? input:要求輸入者必須輸入一個明確的數據類型,輸入什么類型,就是什么類型
為了用戶方便改為Python3
七、運算符
1、算數運算符
+?-?*?/?//(地板除)?%(取余)?**用在數值類型,+? *能用于字符串
print(10 / 3)
print(10 // 3)
print(10 % 3)
print(10 ** 2)
2、比較運算符
==? !=? >? <?>=? <=
print(10 == 10)
print(10 != 10)
print(10 > 3)
print(10 < 3)
print(10 >= 10)
print('egon' == 'egon')
了解:
? x =‘abcdef’,y = ‘z’,print(x>y) False因為z大于a
? 字符串比大小是按照同位置字符比大小,僅限字符串與字符串比大小
? L1= [1,’abc’,3]
L2 = [2,’ddd’]
? Print(L1> L2) False因為2大于1
? 列表比大小,僅限對應位置同類型才能比大小
3、賦值運算符
? 3.1增量賦值
age = 18
age = age + 1
以上倆行等同于age += 1
age -= 1
age *= 10
age /= 10
age %= 2
age //= 2
age **= 2
? 3.2交叉賦值
x = 11,y =22
temp = x
x = y
y = temp
上面三行等同于x,y = y,x
? 3.3鏈式賦值
x = 10
y = 10
z = 10
上面三行等同于x = y = z= 10
? 3.4解壓賦值:等號左邊的變量名必須與右面所包含的值一一對應
? L1 =[ ‘a’,’b’,’c’,’d’,’e’]
? x =L[0]
y = L[1]
z = L[2]
m = L[3]
n = L[4]
? 上面5行等同于x,y,z,m,n = L 其中x y z m n 一個不能少,一個不能多
? x,y,_,_,_= L
?print(x,y,_)
? a be
?x,y,*_ = L通常用這個,不用下面那個
?print(x,y,_)
? a b[‘c’,’d’,’e’]
? x,y,*z= L
?print(x,y,z)
? a b[‘c’,’d’,’e’]
? x,y,*_,z= L
?print(x,y,_,z)
? a b[‘c’,’d’] e
4.邏輯運算
and 邏輯與,用來接左右倆個條件,在左右倆個條件同時為True的情況下,最終結果為True
其具有短路效應,即只要一個條件為假即為假,只要有假就不管
or 邏輯或,用來連接左右倆個條件,在左右倆個條件,但凡有一個為True的情況下,最終結果為True,其具有。。。。,即只有一個條件為真即為真,只要有真就不管
not 取反
5.身份運算
==:判斷的是值是否相等
is:判斷的是id是否相等
值相等,id可以不相等
id相等,值一定相等
了解:
? Python解釋器具有小整數池:-5到256,范圍內的數值相等并且id相等
? Python解釋器具有小字符池:范圍內的字符相等并且id相等
? Pycharm整數池很大