1. 程式人生 > >python-前20天的著重知識點

python-前20天的著重知識點

參數 error: 類型 解決 htm 取出 不能 遇到 while

1.CPU存在兩種工作狀態:一種是內核態,操作系統在運行--可以操作硬件;
另一種是用戶態,是應用軟件在運行--不可以操作硬件。
應用軟件要控制硬件,就要從用戶態切換成內核態



2.多道技術:(多道指的是多道/個程序)
空間上的復用:內存中進入多個程序
PS:內存必須實現物理級別的隔離
時間上的復用:cpu要切換:
1. 一個程序占用cpu的時間過長
2. 一個程序遇到I/O阻塞


3.定義一個變量,就會有三個特征:
id
type
value:才是我們存儲的數字


4.tag=True
while tag:
name=input(‘please input your name: ‘)
password=input(‘please input your password: ‘)

if name == ‘egon‘ and password == ‘123‘:
print(‘login successfull‘)
while tag:
cmd=input(‘>>: ‘)
# if cmd == ‘quit‘:
# tag=False
# continue
# print(‘====>‘,cmd)

if cmd == ‘quit‘:
tag=False
else:
print(‘====>‘,cmd)



5.python2 的input 與raw_input
python3只有input
x=raw_input(‘>>: ‘) #python2的raw_input與python3的input的一樣的
print(x,type(x))

x=input(‘>>: ‘) #python2的input,用戶輸入什麽類型,就原封不動的存成什麽類型
print(x,type(x))



6.常見報錯: ValueError: not enough values to unpack (expected 2, got 1)

一看就想到是字典出錯了, 解決: for k,v in dict.items():



7.nonlocal關鍵字
1.外部必須有這個變量
2.在內部函數聲明nonlocal變量之前不能再出現同名變量
3.內部修改這個變量如果想在外部有這個變量的第一層函數中生效
def f1():
a = 1
def f2():
nonlocal a
a = 2
f2()
print(‘a in f1 : ‘,a)
f1()



8.函數和方法的區別?
class Foo(object):
def __init__(self):
self.name = ‘alex‘
def func(self):
print(self.name)

from types import FunctionType,MethodType

obj = Foo()
print(isinstance(obj.func,FunctionType)) # False
print(isinstance(obj.func,MethodType)) # True

print(isinstance(Foo.func,FunctionType)) # True
print(isinstance(Foo.func,MethodType)) # False
"""
註意:
方法,無需傳入self參數
函數,必須手動傳入self參數



9.裝飾器叠代和生成器的區別:
裝飾器就是開放封閉原則的一種實現,利用語法糖在被裝飾的函數執行前後執行一些操作
可叠代對象是內部實現了__iter__方法
叠代器是具有__iter__方法和__next__ 方法,生成器是具有生成的功能還有__next__方法
生成器本質就是叠代器,用一下動一下
分別用在哪?
可叠代對象在strak組件的組合查找時用到
生成器函數(yield)在後端取出數據需要循環處理傳給前端後,在前端還需要循環時,這時候在後端就用 yield 處理,減輕服務器壓力




10.http://www.cnblogs.com/liuwei0824/p/7269576.html 內置函數

python-前20天的著重知識點