一、python關鍵字
1. and :表示邏輯判斷 【與】
a = '1'
b = 1
if a and b:
print('Hello Python')
2.as :單獨沒有實際意思,常與with組合使用,with...as 例如:
with open('./test.txt', 'w') as f:
f.write('人生苦短, 我用python')
3.assert : 表示斷言, assert語句用來聲明某個條件是真的。例如,如果你非常確信某個條件為真,而你想要檢驗這一點,并且在它非真的時候引發一個錯誤,那么assert語句是應用在這種情形下的理想語句。當assert語句失敗的時候,會引發一AssertionError。
a = 2
assert a >= 2
print(a)
a = 1
assert a >= 2
print('a')
4.break : 跳出循環體 與continue比較記憶 continue跳出本次循環。 例如 break
list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for i in list:
if i == 6:
break
print(i)
continue:
list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for i in list:
if i == 6:
continue
print(i)
5.class : 創建類
class Student():
def __init__(self, name, age):
self.name = name
self.age = age
def info(self):
print('name:', self.name)
print('age:', self.age)
stu = Student('didi', 20)
stu.info()
結果:6.continue : 跳出本次循環 不終止循環 參考4 break
7.def : 定義函數
def return_max(x, y):
return max(x, y)
print(return_max(3, 5))
8.del : 刪除
list = [1, 2, 3, 4, 5, 6, 7]
del list[1]
print(list)
del list
print(list)
結果:9.elif : 和if配合使用的,if語句中的一個分支用elif表示。
num = int(input('請輸入一個數:'))
if num > 0:
print(num,' 是正數')
elif num == 0:
print(num, '等于0')
else:
print(num, '是負數')
10.else : 參照9 elif, else 還可以和try 一起使用用來捕捉異常,參照下面 try的用法
- except :和try一起使用,用來捕獲異常。
try:
raise EOFError
except EOFError:
print('EOFError異常。')
和else一起使用
list = [1, 2, 3, 4, 5, 6, 7, 8]
try:
list.append(100)
print(list[8])
except IndexError:
print('數組越界')
else:
print(list)
和finally一起使用:
list = [1, 2, 3, 4, 5, 6, 7, 8]
try:
list.append(100)
print(list[8])
except IndexError:
print('數組越界')
finally:
print(list)
12.exec : exec語句用來執行儲存在字符串或文件中的Python語句。例如,我們可以在運行時生成一個包含Python代碼的字符串,然后使用exec語句執行這些語句。
str = 'print(\'Hello World\')'
exec(str)
13.finally : 始終模塊里的代碼始終都會執行,參照11 excep
14.for 循環遍歷 乘法口訣
for i in range(1, 10):
for j in range(1, i + 1):
print('{} * {} = {} '.format(j, i ,j * i), end = '\t')
print('')
15.from : 導入相應的模塊,用import或者from...import
16.global : 定義全局變量
#定義全局變量:變量名全部大寫
NAME = 'didi'
#得到NAME
def get_NAME():
return NAME
#重新設置NAME的值
def set_NAME(name_value):
global NAME
NAME = name_value
print(get_NAME())
set_NAME('didididi')
print(get_NAME())
17.if : 條件語句參照11 elif
18.import :導入相應的模塊,用import或者from...import
19.in : 查找列表中是否包含某個元素,或者字符串a是否包含字符串b。需要注意的是:不可以查看list1是否包含list2。
list1 = [1, 2, 3]
list2 = [1, 2, 3, 4, 5]
str1 = 'abcd'
str2 = 'abcdef'
print( str1 in str2) #True
print(1 in list1) #true
print(list1 in list2) #False
20.is : Python中的對象包含三要素:id、type、value
其中id用來唯一標識一個對象(id 就相當于內存地址 指針),type標識對象的類型,value是對象的值, is判斷的是a對象是否就是b對象,是通過id來判斷的, is not 用于判斷兩個對象不相等。==判斷的是a對象的值是否和b對象的值相等,是通過value來判斷的。
list1 = [1, 2, 3, 4, 5]
list2 = [1, 2, 3, 4, 5]
list3 = list2
print(id(list1))
print(id(list2))
print(id(list3))
- lambda : 匿名函數,提升代碼的簡潔程度,便于閱讀
f = lambda : 'Hello World !'
f()
max_value = lambda x, y = 2: max(x, y)
print(max_value(5))
22.nonlocal : 關鍵字nonlocal的作用與關鍵字global類似,使用nonlocal關鍵字可以在一個嵌套的函數中修改嵌套作用域中的變量。
def foo1():
num = 2
def foo2():
num = 5
foo2()
print('num = ', num)
foo1() # num = 2
def foo1():
num = 2
def foo2():
nonlocal num
num = 5
foo2()
print('num = ', num)
foo1() # num = 5
22.not : 表示邏輯‘非’
23.or : 表示邏輯‘或’
24.pass : pass的意思就是什么都不做。相當于占位:當我們寫一個軟件的框架時,具體方法和類來不及實現,就在方法和類里面加上pass,這樣編譯起來就不會報錯,如下:
def test():
pass # 不加pass 會報錯
25.print : 打印函數,python3.0之后 print() 要加括號
26.raise : raise 拋出一個異常,一旦執行raise語句,后面的代碼就不執行了,可以結合try 使用
try:
raise EOFError
print('Hello World !') #不執行
except EOFError:
print('EOFError 錯誤') # 打印 EOFError錯誤
27.return : 跳出函數或者跳出的同時返回一個值
28.try : 補貨異常使用,參照11 except的使用
29.with : 不單獨使用,和as一起使用,參照 2 as
30.yield : 要理解yiled還需要理解生成器,而要理解生成器,首先需要理解迭代器。
迭代器:所有你可以用在for...in...語句中的都是可迭代的:比如lists,strings,files...因為這些可迭代的對象你可以隨意的讀取所以非常方便易用,但是你必須把它們的值放到內存里,當它們有很多值時就會消耗太多的內存.
生成器:生成器也是迭代器的一種,但是你只能迭代它們一次.原因很簡單,因為它們不是全部存在內存里,它們只在要調用的時候在內存里生成:
def test_yield(num):
for i in range(num):
print('============', i)
yield i * 2
# return i * 2
for i in test_yield(10):
print('------------------', i)
print(i, end='\t')
print('')