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