計算機基礎知識
cpu : 人類的大腦 用途: 用於計算和處理
內存: 臨時存儲數據 用途: 解決硬盤和cpu的速度差
硬盤: 永久存儲數據
操作系統: 是一個特殊的軟件,調度硬件和軟件之間的數據交互
python2和python3區別
- Py2: 源碼不統一, 重複代碼, 維護成本高
- Py3: 源碼統一, 沒有重複代碼, 維護成本低
- 字符串類型不同 py3: str bytes,py2: unicode str,py2中的unicode對應py3中的str,py2中的str對應py3中的bytes
- 默認解釋器編碼 py2: 默認使用解釋器編碼asciipy3 默認使用解釋器編碼utf-8
- 輸入 py2:raw_input("你好") py3:input("你好")
- 輸入 py2:print "你好" py3:print("你好")
- int int long除法
- range和xrang py2:range 在內部立即把所有的值創建xrange 不會再內部立即創建,而是循環時,邊循環邊創建,py3:range 不會再內部立即創建,而是循環時,邊循環邊創建
- 模塊和包 py2:文件中必須有_ init _.py,py3:不需要
- 字典keys py2:列表,py3:迭代器,可以循環但不可以索引valuespy2:列表py3:迭代器,可以循環但不可以索引itemspy2:列表,py3:迭代器,可以循環但不可以索引
- map/filter py2:返回列表,py3:返回迭代器,可以循環但不可以索
python是一個編程語言(重點)
python是強類型定義語言 動態 解釋型
編譯型、解釋型語言的區別和特點
- 編譯型
特點: 只編譯一次
優點: 運行速度快
缺點: 開發速度慢
代表語言: C、C++
- 解釋型
特點:邊編譯邊執行
優點: 開發速度快
缺點: 運行速度慢
代表語言: Python
python的優缺點
優點:
開發效率高, 可跨平臺, 可嵌入, 可擴展, 高級語言, 代碼簡單, 優雅, 明確
缺點:
相對C慢, 代碼不能加密, 不能利用多線程
種類:
cpython 官方推薦安裝 轉成c的字節碼
jython 轉換成java的字節碼
irnopython 轉換成C#(.NET)字節碼
pypy 轉換成動態變異 開發快 運行快
print()
print(),字符串,數字,判斷,前期全靠print來排bug
<code>print('hello world!')# 輸出結果hello world!/<code>
變量
什麼是變量?
<code>x = 1+2+3+4+5 # x=15y = x*3/2 # 15*3/2=22.5z = (y+100) / 24 # (22.5+100)/24=5.104166666666667print(x,y,z)# 輸出結果1522.55.104166666666667/<code>
這裡的x,y,z就是變量,代指一些內容,簡單的可以理解就是把右邊的值給了左邊那個字母,左邊那個字母這個時候就稱之為變量,這裡的x、y、z就是變量。(後面還會繼續學習)
作用:
- 作為一個臨時存儲的中間值
- 給一些複雜難記的起一個容易記住的名字
定義變量:
- 變量名
- 賦值操作 =
- 值 = 後面的內容
變量命名規則:
- 變量全部由數字,字母,下劃線任意組合
- 不能以數字開頭
- 不能是python的關鍵字以下關鍵字不能聲明為變量['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
- 要具有描述性,要具有意義
- 不能使用中文和拼音
- 要區分大小寫
- 推薦寫法:駝峰體下劃線
變量的練習:
<code># 題目:看下面的變量設置是否正確?x8 = 100 # Trueb_ = 12 # True4g = 32 # True_ = 11# True*r = 12 # Falser3t4 = 10 # Truet_ = 66 # True/<code>
變量的小高級:
<code># 題目:給出以下的結果?age1 = 18age2 = age1age3 = age2age2 = 12print(age1,age2,age3)# 輸出結果181218# 為什麼會這樣?# 1. 執行順序,從上到下# 2. 賦值在下面的會將上面的賦值取代,變成下面新的值,指向發生了改變,而不是變量本身。/<code>
變量識記:
- 變量只能指向數據,不能指向變量
- 變量在內存中是唯一命名的
- 變量代指一些複雜過長的數據
常量
常量的定義
- 變量名全部大寫,放在文件的最上面,如:ALEX_AGE = 50常量不建議修改
- 生活中一直不變的,如π,身份證號碼
- 在python中沒有真正的常量,為迎合其他語言的口味,全部大寫的變量稱之為常量
- const int count = 60;一旦定義為常量,更改即會報錯
註釋
用途:
幫助理解,給一些不太能夠理解的的寫一個描述,讓咱們寫的程序好理解
兩種表示方法:
- 單行註釋: # 只能註釋一行,不能換行 註釋的代碼是不執行的
- 多行註釋: ''' ''' 支持換行
格式:
<code>s1 = 'hello world!'單行註釋:# s2 = 'ni hao shi jie' # 我就是被#號註釋掉的內容多上註釋:'''床前明月光地上鞋兩雙舉頭望明月其中就有你'''/<code>
基礎數據類型初識
整型 (int): 數值型
<code>print(23+37)print(25-3)print(2*6)print(6/3)# 輸出結果6022122.0/<code>
字符串 (str): 漢字、字母
- python中用引號引起來的就是字符串 如:c = """shijie""" # 是字符串
- 字符串拼接只能相乘或相加字符串+: 字符串和數字不能進行相加字符串* : 字符串和數字相乘
布爾值 (bool):
- True 真 1
- False 假 0
還有其他的都是比較重要的:列表(list)如[1,a]、元組(tuple)如:(1,a,)、字典(dict)如:{'a':1,'b':2}、集合(set)如:{'apple', 'orange', 'apple'}
input (用戶輸入)
用途:
用戶輸入
識記點:
python3版本中, input獲取到的類型全部都是字符串類型(重點)
格式:
<code>示例一improt getpass # 調用python getpass模塊username = input('請輸入一個內容: ') # 提示語句passwd = getpass.getpass('請輸入密碼: ')示例二# 輸出結果>>> my_input = int(input('請輸入一個數字: '))請輸入一個數字: 6>>> num = my_input + 4>>> print(num)10>>> print(type(num))<class># 字符串與數值型無法相加# 通過int將str轉換成數值型/<class>/<code>
if 如果條件判斷
if 如果選擇的5種條件
- 單獨if (單純選擇)
切記:tab和空格不能混著用
格式:
<code>if 條件: # 條件 一般用來做判斷 > < ==print(1)/<code>
例題:
<code> print(111) if 2 < 1: # 如果該條件成立 print(666) # 就進入到這個裡面執行print(666) print(222) # 如果條件不成立就執行print(222) # 輸出結果 111 222# 思考以下的結果 if 2 > 1: print(666) print(222)/<code>
練習題:
<code> print(123) if 3 > 5: print(4) print(456) if 4 > 3: print(7) print(8)/<code>
- if else (二選一)
格式:
<code> if 條件: 結果 else: 結果/<code>
例題:
<code>print(1)if 3 > 2: print(11) print(23) my_input = input('請輸入你要選擇的數字: ') print(my_input)else: print(45)print(3)# 輸出結果:11123/<code>
- if elif elif (多選一)
格式:
<code> if 條件: 結果 elif 條件: 結果 elif 條件: 結果/<code>
例題:
<code>num = int(input('猜點數:'))if num == 1: print('晚上請你吃飯')elif num == 3: print('一起溜達')elif num == 2: print('請你大寶劍')/<code>
- if elif elif else (多選一)
格式:
<code> if 條件: 結果 elif 條件: 結果 elif 條件: 結果 else: 結果/<code>
例題:
<code> s1 = '100' i1 = int(s1) print(i1,type(l1)) age = input('請輸入年齡:') if int(age) > 18: print('恭喜你,成年了') else: print('小屁孩兒')/<code>
練習題:
<code>num = int(input('猜點數:'))if num == 1: print('晚上請你吃飯')elif num == 3: print('一起溜達')elif num == 2: print('請你大寶劍')else: print('太笨了....')print('組合')/<code>
- if if if if : 多選
用途:
執行多次,只要滿足就執行
可以選所有, 也可以一個都不選
格式:
<code> if 3>2: print(1) if 4>3: print(2) if 5>4: print(3) if 6>5: print(4) # 輸出結果 1 2 3 4/<code>
例題:
<code>num = int(input('猜點數:'))if num == 1: print('晚上請你吃飯')elif num == 3: print('一起溜達')elif num == 2: print('請你大寶劍')/<code>
- if 嵌套
格式:
<code> if 條件: 結果 if 條件: 結果 if 條件: 結果 else: 結果 else: 結果 else: 結果/<code>
例題:
<code>sex = '女'age = 20if sex == '女':if age > 18: print('進來一坐')else: print('回去上學吧')else:print('滾')# 輸出結果回去上學吧/<code>
練習題:
<code> username = input('請輸入用戶名:') password = input('請輸入密碼:') code = 'qwer' your_code = input('請輸入驗證碼:') if your_code == code: if username == 'taibai' and password == '123': print('登錄成功') else: print('賬號或者密碼錯誤') else: print('驗證碼錯誤')/<code>
本節完~
閱讀更多 咋鬧運維組 的文章