2018-09-26 Day 02 python基礎(chǔ)語法、數(shù)據(jù)類型、變量、運算符部分

Day01

1認(rèn)識python

print()在控制臺打印出括號的內(nèi)容,print 和后面的括號是固定寫法,括號內(nèi)內(nèi)容是變化的
注意:代碼中的符號必須是英文狀態(tài)下輸入的符號,例如:
hellp world
歡迎來到編程世界

print("hellp world")
print("歡迎來到編程世界")

常用快捷鍵

# 適用于任何位置,編程中為注釋
'''code'''前后個三個單引號,注釋多行代碼或者長代碼

ctrl + / 添加注釋或者取消注釋
ctrl + s 保存
ctrl + b 編譯
ctrl + r 執(zhí)行
ctrl + c 拷貝
ctrl + v 黏貼
ctrl + x 剪切
ctrl + z 撤銷
ctrl + shift + y /ctrl + y 反撤銷
ctrl + f 查找
ctrl + a 全選
ctrl + n 新建一個沒有命名的文件
shift / ctrl 選中部分

2python基礎(chǔ)語法

1.注釋:寫在代碼中,不參與編譯執(zhí)行的部分

作用:對代碼進行注釋說明的,方便更好的閱讀代碼
注意:要勤寫注釋,方便自己也方便別人

a.單行注釋:在文本內(nèi)容的前面+#

# 我是單行注釋

b.多行注釋(盡量使用#進行注釋)

每一行前都加一個#號
'''我是多行注釋
我是注釋1
我是注釋2'''
將注釋內(nèi)容放在三個單引號或者雙引號中

推薦使用雙引號

"""
我是多行注釋1
我是多行注釋2
"""

'''
我是多行注釋1
我是多行注釋2
'''

2.標(biāo)識符

標(biāo)識符是用來命名的(比如變量名、函數(shù)名、類名)
要求:

a.由字母、數(shù)字和下劃線組成,并且數(shù)字不能開頭 Python2.x
b.在Unicode編碼中除了ASCII碼表中的字母、數(shù)字、下劃線 python3.x
以外的符號不能作為標(biāo)識符一部分,其他都可以,數(shù)字不能開頭
簡要意思:字母、數(shù)字、下劃線、中文都可以作為標(biāo)識符,數(shù)字不能開頭
推薦使用python2.x的規(guī)范
num = 100
一百 = 100
# 1abc = 100  數(shù)字開頭報錯SyntaxError
print(一百)

3.語句

C/Java語法,每條語句結(jié)束必須加分號。python中可以加分號,也可以不加,如果要一行顯示多句語句,那么就必須加分號

print("Hello, python");print("Hello, world")

4.行和縮進

python中對縮進由嚴(yán)格規(guī)范,要求同樣等級的代碼對于的縮進必須一致

print(123)
print(345)

# print(123)
#  print(345)   這樣寫是報錯unexpected indent(意外縮進),只有需要代碼塊才加縮進

行:格式要求函數(shù)的聲明和類的聲明的前后需要有兩個空行

5.多行顯示問題

a.需要換行的位置加反斜杠,然后再換行,注意\不要去破壞數(shù)據(jù)本身

sum1 = 282828 + 92922 +\
29
print(sum1)

b.如果是數(shù)組、字典、元組和集合的值可以直接換行

num =[12, 89, 90, 
88, 
87,
 22]
print(num)

6.常見數(shù)據(jù)類型及其字面量

整型(int)、浮點型(float)、布爾(nool)、字符串(str)、列表(list)、

字典(dict)、元組(tuple)、集合(set)等

整型(int)相當(dāng)于數(shù)學(xué)中的整數(shù),例如:100、-20、+10
浮點型(float) 帶小數(shù)點的數(shù),例如:3.14 、-1.0 、+3.3
布爾(bool) 只有兩個值 True(真)、False(假)
字符串(str) 用單引號或者雙引號括起來的數(shù)據(jù),例如:"100"、"我是字符串"

關(guān)鍵字:又叫保留字,在python中有特殊功能和特殊意義的一些標(biāo)識符,一般是一些單詞

import keyword
print(keyword.kwlist)
KW = ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 
'def','del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 
'import','in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 
'try', 'while', 'with', 'yield']

注意:上面KW列表中的才是關(guān)鍵字,其他的都不是

3. python中的數(shù)字類型有四個:

不同的類型在存儲數(shù)據(jù)中所占的內(nèi)存不一樣

整型(int)、浮點型(float)、布爾(bool)、復(fù)數(shù)(complex)

整型(int):包含python所有的整數(shù),python3.x整型只有int型一種,

但是python2.x中還有Long
100
123
-78
+78

浮點型(float):包含python中所有的小數(shù),

注意:浮點型支持科學(xué)計數(shù)法
13.12.89
5.20
+6.66
-123
print(12e2)  # 12 * 10^2    1200.0
print(12e-3) # 12 * 10^(-3) 0.012

布爾(bool):布爾類型的值只有兩個,True、False

注意:首字母大寫,布爾值還是關(guān)鍵字

print(True + 0)      # 1
print(False + 0)     # 0
print(False + True)  # 1

復(fù)數(shù)(complex):由實數(shù)和虛數(shù)組成的數(shù)字

5 + 10j

4. type():獲取括號中數(shù)據(jù)的類型

print(type(True))
print(type(10j))
print(type(100))
print(type(12e9))

5. 類型名():將其他類型的數(shù)據(jù)轉(zhuǎn)換成當(dāng)前類型

print(int(3.1415926))
print(float(666))
print(bool(10))

print(int(12 + 5j)) 復(fù)數(shù)不能轉(zhuǎn)換為其他數(shù)字類型,任何數(shù)字類型

都能轉(zhuǎn)換為bool類型,復(fù)數(shù)類型不能轉(zhuǎn)換為整型、浮點型。

6. 什么是變量

變量就是程序在內(nèi)存中存儲數(shù)據(jù)的容器,聲明變量,就是在內(nèi)存中開辟空間存儲數(shù)據(jù)

7. 怎么定義(聲明)變量

C/Java聲明變量: 類型 變量名 = 10;

python賦值(聲明): 變量名 = 初始值

變量名 = 初始值

說明:

a. 變量名:程序員自己命名

要求:變量名就是標(biāo)識符,并且不能是關(guān)鍵字

規(guī)范:所有的字母必須是小寫,如果變量名由多個單詞組成,多個單詞之間用下劃線隔開

看見變量名要知道大概存儲的是什么數(shù)據(jù)(見名知義)

b. =:賦值符號

功能:將=右邊的值賦給左邊的變量

c. 初始值:值或者有值的表達(dá)式(具體的字面量、已經(jīng)聲明過的變量)

聲明一個變量number并且賦值為100

number = 100
print(number)

# True =12.4    報錯SyntaxError:can't assign to keyword
# 1abc = True   報錯SyntaxError:invalid syntax

聲明一個變量student_name,賦值給小明

student_name = "小明"
print(student_name)

注意:雖然int、float、bool、str等不是關(guān)鍵字,但是在需要命名的時候最好不要

用他們來命名,否則會改變他們原來的功能

int = 100
print(int)
int(89.0)
help(int)

8. 聲明完變量可以給變量重新賦值

student_name = "小花"
print(student_name)

在python中,同一個變量可以存儲不同類型的值

student_name = 100
print(student_name)

9. 同時聲明多個變量

變量名1 = 變量名2 = 變量名3 = 初始值

a = b = c = 123
print(a,b,c) # 同時打印多個數(shù)據(jù),多個數(shù)據(jù)之間用逗號隔開

將變量student_name中的值賦給new_name

new_name = sutdent_name

注意,變量只有在賦完值之后才能使用(只有聲明后才能使用)

print(new_name2)  報錯沒有聲明,definedNameError:name'new_name2' is not 
age = 18
age += 1

10. python中的運算符:

數(shù)學(xué)運算符、比較運算符、邏輯運算符、賦值運算符、位運算

1. 數(shù)學(xué)運算符:

+    加
-    減
*    乘
/    除
%    取余
//   求整
**   求冪

加減乘除和數(shù)學(xué)中的一樣

+:求和 
print(1 + 2) # 3
print(2 + 3) # 5

-:減
result = 5 - 4 # 1

*:乘
print(2 * 10) # 20

/:除  
res = 10 / 5 # 2

%:取余,小數(shù)和整數(shù)都能求余數(shù)
print(6 % 5) # 1
print(5 % 0.2) # 0
//:求整(求商取整數(shù)部分)
print(5 // 3) # 1
print(6 // 3) # 2
print(5 // 6) # 0
print(6.4 // 2) # 3

**:冪運算:求冪
print(x ** y)  x^y  得x的y次方

小技巧,可以把y值設(shè)置為1/2(0.5)達(dá)到開平方作用

2. 比較運算符: > < = != >= <=

比較運算的結(jié)果是布爾值:True 或者False
==:判斷左右兩邊的值是否相等,=:將右邊的值賦給左邊的變量
print(1 > 2)  #False
print(2 < 3)  #True
print(1 != 2)  #True
print(1 <= 2)  #True
print(2 >= 1)  #True
num = 10
print(num == 10)  #True

3. 邏輯運算符:

邏輯運算符的結(jié)果都是布爾值,運算對象也必須是布爾值
and    與
or     或
not    非

a. 值1 and 值2:兩個都為True,結(jié)果才為True,否則為False

print("===========================")
print(True and True)    #True
print(True and False)   #False
print(False and True)   #False
print(False and False)  #False
print("===========================")
練習(xí):設(shè)置獲得獎學(xué)金的條件:績點在3.5以上,并且操評分高于90
grade = 2.8
score = 95
print((grade > 3.5) and (score > 90))  # False
什么時候使用and:要求多個條件同時滿足的時候使用and連接

b. 值1 or 值2:兩個都為False的時候結(jié)果才為False,否則為True

print("===========================")
print(True or True)    #True
print(True or False)   #True
print(False or True)   #True
print(False or False)  #False
print("===========================")
練習(xí):是否穿毛衣 溫度低于20度或者風(fēng)速高于五級
temperature  = 22
wind_speed = 6
print((temperature < 20) or (wind_speed > 5)) # True
什么時候使用or:要求多個條件中只要有一個條件滿足

c. not 值 讓值取反,True變False,F(xiàn)alse變True

print(not True)
print(not False)
條件:年齡不大于18
age = 18
print(age <= 18)
print(not age > 18)

4. python中的and和or會有短路現(xiàn)象

and的短路現(xiàn)象:值1 and 值2 值1為真就返回值2,值1為假,返回值1

or的短路現(xiàn)象:值1 or 值2 值1為真,返回值1,值1位假,返回值2

不加括號的情況下,and的優(yōu)先級要高于or

print(5 and 4 or 1 and 3)   # 4
print(5 and (4 or 1) and 3)   # 3

5. 賦值運算符,先算右邊的結(jié)果,然后再賦值給左邊的變量

=   等于
+=  加等于
-=  減等于
*=  乘等于
/=  除等于
%=  取余等于
//= 整除等于
**= 求冪等于

# 100 = 100  報錯 SyntaxError:can't assign to literal
result = 10 > 10
print(result)

= 是單純將右邊的值賦給左邊

+= -= *= /= %= //= **= 要求左邊的變量本身有值

num1 = 100
num1 += 1  #相當(dāng)于:num1 = num1 + 1  依次類推
print(num1)  # 101

6. 運算符的優(yōu)先級

數(shù)學(xué)運算符 > 比較運算符 > 邏輯運算符 > 賦值運算符
數(shù)學(xué)運算符 ** > * / // % > + -
邏輯運算符 沒有括號的情況下and > or
先算優(yōu)先級搞得,如果優(yōu)先級相等就依次運算
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容