目錄
1. pycharm 解碼網站:
lookdiv.com 打開這個網址 在框裏輸入密鑰:lookdiv.com
2. Python的運行過程,
Python是通過將代碼運行在解釋器,由解釋器轉換成二進制計算機代碼進行運行常用的解釋器,Python自帶的Ppython解釋器,Java編寫的JPython解釋器,將Python代碼轉化成字節碼(class)進行運行,還有pypy解釋器
3. Python的註釋:
#、'''a'''、"""a"""
4. python的變量類型:
Python中變量會自動賦值類型,類型有:
number:(int/float/complex(複數類型))
boolean/str(字符串)/Tuple(元組)/list(列表)/set(集合)/dictionary(字典)
查看某個變量的數據類型type(msg)或者:print(isinstance(msg,str))---返回TRUE/false
5. keyword:
查看:import keyword keyword.kwlist查看所有的關鍵字
6. 輸入輸出函數
輸出:
print('aaa') print('hello','world',sep=';',end='/'): spe:是分隔符、end是結束符默認是\n換行
print('aaa',file='') file參數是將內容輸出到某一個文件中
7. 運算符
7.1 賦值運算符
python中支持變量互換的方式:
a, b = 5, 10
a, b = b, a # 此時,a=10,b=5
7.2 比較運算符
==、 !=、 >、 <、 >=、 <=
7.3 邏輯運算符
and/or/not
7.4 三目運算符
x = 2
print("true" if x == 1 else "false")
此時輸出的值爲false
條件爲真的值 if (表達式) else 條件爲假的值
8. 循環
8.1 while循環
while i < 3:
print(i)
完成循環
8.2 for循環
listVal = [0, 1, 2] == range(0, 3, 1) == 從0開始,間隔1,一直到3 range(parm1, parm2, parm3) parm1=從幾開始(初始標爲0)/parm2=一直到幾/Parm3=相隔幾個
for i in listVal:
print(i)
完成循環
可進行嵌套循環
可以使用break跳出循環,使用continue跳過當前循環
8.3 while else && for else
for i in listVal:
print(i)
else:
print("運行結束")
語法意思就是,當循環正常結束時,就會執行else語句,通常適用在循環中有if判斷跳出的情況,如果走了if條件,則不會輸出else內容
推導式創建序列
1. 列表推導式
list_a = [i for i in range(1,100) if i % 5 == 0] # 雙重循環推導式 print([(x, y) for x in range(1,10) for y in range(1, 10)])
2. 字典推導式: {鍵:值 for x in 迭代對象}, 可以添加判斷可以多個循環
# 通過推導式兩層循環完成字典的創建 chars = {i: j for i in range(5) for j in range(i)}
3. 元組是沒有推導式的,通過生成生成器完成推到
gnt = (x for x in range(10)) # gnt是一個生成器,即可迭代對象 print(gnt) tuples = tuple(gnt) print(tuples)
9. str字符串常用方法
9.1 str = 'name',通過index查詢字符串,可以是一個區間str[0:1],可以是某一個index的字符str[1],也可以是按照數量隔開str[0:10:2]
9.2 join()函數:sep.join(str),就可以把某個值,按照sep分隔符進行分割
exp:
list = ['www','baidu','com']
'.'.join(list)
輸出結果就是www.baidu.com
name = 'hello'
'.'.join(name)
輸出結果就是h.e.l.l.o
9.3 大小寫函數
upper() 將值全部轉化成大寫
lower() 將值全部轉化成小寫
title() 將每個字符的首字母轉化成大寫
capitalize() 將一整個字符串首字母設置爲大寫
swapcase() 將大小寫互換
9.4 字符串的查詢
count('被檢索的字符串','檢索起始位置(可省略)','檢索結束位置(可省略)'):用於查詢某個字符串出現的次數,return int(次數),無 返回0
find('被檢索的字符串','檢索起始位置(可省略)','檢索結束位置(可省略)'):用於查詢是否包含子字符串, return 出現的下邊, 無 返回-1
index('被檢索的字符串','檢索起始位置(可省略)','檢索結束位置(可省略)'):用於查詢是否包含子字符串, return 出現的下邊, 無 拋出異常
startswith('被檢索的字符串','檢索起始位置(可省略)','檢索結束位置(可省略)'):查詢該字符串是否以子字符串開頭,return true/false
startswith('被檢索的字符串','檢索起始位置(可省略)','檢索結束位置(可省略)'):查詢該字符串是否以子字符串結尾,return true/false
9.5 字符串的分割
split('分隔符',需要分割的次數):按照規則進行分割,如果沒有參數,默認按照空格換行等進行分割,返回的是一個list
partition('分隔符'):返回的是將這個字符串按照分隔符進行隔開,返回的是一個Tuple
exp:
str1 = 'ILoveYouPython'
print(str1.partition('o'))
return:
('IL', 'o', 'veYouPython')
9.6 字符串的修剪
strip('需要修剪的內容,空則處理\r\n\t等'):將該字符串的頭尾進行修剪,不修剪中間部分
rstrip()/lstrip():對字符串的左/右進行修剪
exp:
str1 = 'ILoveYouPython'
print(str1.lstrip('I'))
return:
LoveYouPython
9.7 字符串的格式化(相當於java中的string.format)
print('歡迎%s登錄,這是您第%d次登錄' % (userName, times))
result:歡迎lemon登錄,這是您第10次登錄
# format的方式1
print('歡迎{}登錄,這是您第{}次登錄,本次消費{:.2f}元,{}已經成爲VIP'.format(userName, times, cost, userName))
# format的方式2
print('歡迎{name}登錄,這是您第{log}次登錄,本次消費{cost:.2f}元,{name}已經成爲VIP'.format(name=userName, log=times, cost=cost))
# f-string方式/F-string方式
print(f'歡迎{userName}登錄,這是您第{times}次登錄,本次消費{cost:.2f}元,{userName}已經成爲VIP'):直接使用{變量名}
f'string的使用:
f'''today is {"週六"},我將要去{now()}'''
①對齊:
s = 3.1415926
f'{s:<13}' 左對齊輸出
f'{s:>13}' 右對齊輸出
f'{s:^13}' 居中對齊輸出
s:<13 意思是將S變量左對齊,並且輸出13位
②進制轉化
f'{s:#0b} 二進制
f'{s:#0o} 八進制
f'{s:#0x} 十六進制(小寫字母)進制
f'{s:#0X} 十六(大寫字母)進制
③寬度與精度
f'{s:.2f}' 保留兩位數字
f'{s:8.2f}' 長度爲8 保留兩位數字(空位在前面)
f'{s:08.2f}' 長度爲8 保留兩位數字,其餘用0表示(空位在前面)
f'{s:8.2%}' 長度爲8 保留兩位數字 轉化爲百分進制
f'{s:8s}' 字符串保留8位,不足用空格表示
f'{s:8.3s}' 輸出8位,截取三位進行輸出
f'{s:,f}' 將數字進行按照千位符進行分割,還可以聯合使用f'{s:,.2f}' 表示按照','分割千位符,並且精確到小數點兩位
④日期類型
f'{s:%d} 將時間格式輸出日,自動補0
f'{s:%m} 將時間格式輸出月,自動補0
f'{s:%H} 時間的小事(24小時制),自動補0
f'{s:%I} 將時間格式輸出月,自動補0