課程作業: ...
python基礎:
一 編程語言
什麼是編程語言?
上面提及的能夠被電腦所識別的表達方式即編程語言,語言是溝通的介質,而編程語言是程式員與電腦溝通的介質。在編程的世界里,電腦更像是人的奴隸,人類編程的目的就命令奴隸去工作。
什麼是編程?
編程即程式員根據需求把自己的思想流程按照某種編程語言的語法風格編寫下來,產出的結果就是包含一堆字元的文件。
強調:
程式在未運行前跟普通文件無異,只有程式在運行時,文件內所寫的字元才有特定的語法意義。
二 電腦組成部分
CPU
記憶體
外存
輸入設備
輸出設備
三 python的安裝與使用
1.安裝python解釋器
2.安裝pycharm編輯器
3.編寫python代碼,並輸出列印hello world!
四 變數
可變化的量。
變數值: 是真實存放在記憶體中的一塊記憶體地址。
變數名: 用於與變數值綁定關係的。
賦值=號: 將變數的值綁定給變數名的。
五 常量
不可變的量。
以全大寫命名。
並不是不能對其修改,而是大家都規定好凡是全大寫的變數都稱之為常量,不可對其進行修改。
六 用戶與程式交互
輸入:
input()
1 name = input("input your name:")
輸出:
print()
1 #輸出字元串 2 print("cjw") 3 #輸出變數 4 name = 'tank' 5 print (name) #tank
七 格式化輸出
尊敬的用戶,你好!您本月的話費扣除99元,還剩0元。
# 通過某種占位符,用於替換字元串中某個位置的字元。
占位符:
%s: 可以替換任意類型
1 #把100替換給%s 2 str_01 = '尊敬的用戶,您好!您本月的話費已經扣除%s元,還剩0元。'%100 3 # 尊敬的用戶,您好!您本月的話費已經扣除100元,還剩0元。
%d: 可以替換數字類型
1 #把一百替換給%s,50替換給%d 2 str_01 = '尊敬的用戶,您好!您本月的話費已經扣除%s元,還剩%d元。'%('一百',50) 3 print(str_01) 4 # 尊敬的用戶,您好!您本月的話費已經扣除一百元,還剩50元。
示例:
尊敬的用戶,你好!您本月的話費扣除%s元,還剩%d元。
1 #把一百替換給%s,50替換給%d 2 str_01 = '尊敬的用戶,您好!您本月的話費已經扣除%s元,還剩%d元。'%('一百',50) 3 print(str_01) 4 # 尊敬的用戶,您好!您本月的話費已經扣除100元,還剩50元。
八 基本數據類型
1.數字類型:
整型: int
1 # int 2 age = int(3) 3 print(age) 4 print(type(age)) 5 6 age2 = 11 7 print(age2) 8 print(type(age2))
浮點型: float
# float sal = 1.04 print(sal) print(type(sal))
2.字元串類型
作用:名字,性別,國籍,地址等描述信息
定義:在單引號\雙引號\三引號內,由一串字元組成
name='tank'
1 name = 'cjw'
優先掌握的操作:
1、按索引取值(正向取+反向取) :只能取
1 # 1、按索引取值(正向去+反向取):只能取 2 # 正向取 3 str1 = 'hello cjw!' 4 print(str1[0]) #h 5 print(str1[6]) #c 6 7 #反向取 8 print(str1[-3]) #j
2、切片(顧頭不顧尾,步長)
1 # 2、切片 2 srt1 = 'hello cjw!' 3 # 0 — (5 - 1) 4 print(str[0:5]) #hello 5 6 # 步長 7 print(str1[0:10]) #hello cjw! 8 print(str1[0:10:2]) #heocw
3、長度len
1 print(len(str1)) #10
4、成員運算in和not in
1 #成員運算in和not in 2 print('h' in str1) #Ture 3 print('h' not in str1) #False
5、移除空白strip
1 #移除字元串左右兩邊的空額 2 str1 = ' hello cjw! ' 3 print(str1) 4 print(str1.strip()) 5 6 #去掉指定字元串 7 str2 = '@cjw@' 8 print(str2.strip('@'))
6、切分split
str1 = 'hello cjw!' #根據str1內的空格進行切分 #切出來的值會存放在[]列表中。 print(str1.split(' ')) #['hello','cjw!']
7、迴圈
1 #對str1字元串進行遍歷,列印每個字元 2 for line in str1: 3 print(line) 4 #h 5 #e 6 #l 7 #l 8 #o 9 # 10 #c 11 #j 12 #w 13 #!
需要掌握的:
1、strip,lstrip,rstrip
1 # 1、strip,lstrip,rstrip 2 str1 = 'hello wuyuefeng' 3 print(str1) 4 # 去掉兩邊空格 5 print(str1.strip()) 6 # 去掉左邊空格 7 # print(str1.lstrip()) 8 # 去掉右邊空格 9 print(str1.rstrip())
2、lower,upper
1 # 2、lower,upper 2 str1 = 'hello WuYueFeng' 3 # 轉換成小寫 4 # print(str1.lower()) 5 # 轉換成大寫 6 print(str1.upper())
3、startswith,endswith
1 # 3、startswith,endswith 2 str1 = 'hello WuYueFeng' 3 # 判斷str1字元開頭是否等於hello 4 print(str1.startswith('hello')) # True 5 # 判斷str1字元末尾是否等於WuYueFeng 6 print(str1.endswith('WuYueFeng')) # True
4、format的三種玩法
1 # 4、format(格式化輸出)的三種玩法 2 # str1 = 'my name is %s, my age %s!' % ('tank', 18) 3 print(str1) 4 5 # 方式一: 根據位置順序格式化 6 print('my name is {}, my age {}!'.format('tank', 18)) 7 8 # 方式二: 根據索引格式化 9 print('my name is {0}, my age {1}!'.format('tank', 18)) 10 11 # 方式三: 指名道姓地格式化 12 print('my name is {name}, my age {age}!'.format(age=18, name='tank'))
5、split,rsplit
1 # 5、split 切分
6、join
1 # 6、join 字元串拼接 2 # 報錯,只允許字元串拼接 3 print(' '.join(['tank', 18])) 4 # 根據空格,把列表中的每一個字元串進行拼接 5 print(' '.join(['tank', '18', 'from GZ'])) 6 # 根據_,把列表中的每一個字元串進行拼接 7 print('_'.join(['tank', '18', 'from GZ']))
7、replace
1 # 7、replace:字元串替換 2 str1 = 'my name is WangWei, my age 73!' 3 print(str1) 4 str2 = str1.replace('WangWei', 'sb') 5 print(str2)
8、isdigit
1 # 8、isdigit:判斷字元串是否是數字 2 choice = input('請選擇功能[0, 1, 2]: ') 3 # 判斷用戶輸入的選擇是否是數字 4 print(choice.isdigit())
課程作業:
寫代碼,有如下變數,請按照要求實現每個功能:
name = " aleX"
1) 移除 name 變數對應的值兩邊的空格,並輸出處理結果
2) 判斷 name 變數對應的值是否以 "al" 開頭,並輸出結果
3) 判斷 name 變數對應的值是否以 "X" 結尾,並輸出結果
4) 將 name 變數對應的值中的 “l” 替換為 “p”,並輸出結果
5) 將 name 變數對應的值根據 “l” 分割,並輸出結果。
6) 將 name 變數對應的值變大寫,並輸出結果
7) 將 name 變數對應的值變小寫,並輸出結果
8) 請輸出 name 變數對應的值的第 2 個字元?
9) 請輸出 name 變數對應的值的前 3 個字元?
10)請輸出 name 變數對應的值的後 2 個字元?
11)請輸出 name 變數對應的值中 “e” 所在索引位置?
12)獲取子序列,去掉最後一個字元。如: oldboy 則獲取 oldbo。
1 #寫代碼,有如下變數,請按照要求實現每個功能: 2 name = " aleX" 3 4 #1) 移除 name 變數對應的值兩邊的空格,並輸出處理結果 5 print(name.strip()) 6 #2) 判斷 name 變數對應的值是否以 "al" 開頭,並輸出結果 7 #print('a1' in name[0:2]) 8 print(name.startswith('al')) 9 #3) 判斷 name 變數對應的值是否以 "X" 結尾,並輸出結果 10 #print('X' in name[-1]) 11 print(name.endswith('Nb')) 12 #4) 將 name 變數對應的值中的 “l” 替換為 “p”,並輸出結果 13 print(name.replace('1','p')) 14 #5) 將 name 變數對應的值根據 “l” 分割,並輸出結果 15 print(name.split('1')) 16 #6) 將 name 變數對應的值變大寫,並輸出結果 17 print(name.upper()) 18 #7) 將 name 變數對應的值變小寫,並輸出結果 19 print(name.lower()) 20 #8) 請輸出 name 變數對應的值的第 2 個字元? 21 print(name[1]) 22 #9) 請輸出 name 變數對應的值的前 3 個字元? 23 print(name[0:3]) 24 #10)請輸出 name 變數對應的值的後 2 個字元? 25 print(name[-2:2]) 26 #11)請輸出 name 變數對應的值中 “e” 所在索引位置? 27 loc = [] 28 for i, j in enumerate(name): 29 if j == 'e': 30 loc.append(i) 31 print(loc) 32 33 #12)獲取子序列,去掉最後一個字元。如: oldboy 則獲取 oldbo。 34 print(name[:-1])