Excel2016打印預覽表格的教程是什么(excel2016怎么看打印預覽)">Excel2016打印預覽表格的教程是什么(excel2016怎么看打印預覽)
672
2022-05-29
一、python安裝及第一個python程序
(1)官網下載最新版的python 64位安裝包并進行安裝
(2)配置環境變量
在安裝的時候,直接勾選Add? Python 3.7 to Path,單擊Customize installation可以在安裝時指定自定義的安裝路徑 單擊該選項即
可開始安裝。在接下來 安裝界面中只 改變 Python 安裝路徑(建議安裝在指定盤符的根路徑下 ,比如安裝在 D:\Python\目錄下), 其他地方使用默認選項即可。
安裝完成之后,打開cmd 面板,輸入python 看到如下輸出說明安裝成功!
C:\Users\段朝旭>python
Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
輸入以下代碼進行測試
>>>? print("hello world")
hello world
>>> 1 + 2
3
>>> 5.3 + 2.3
7.6
>>> 1.3-2.4
-1.0999999999999999
>>> 1.3 * 2
2.6
>>> 3.5 / 3
1.1666666666666667
>>> 3.5 // 3
1.0
>>> 3.5 ** 2
12.25
>>> 5 ** 3
125
>>> import math
>>> math.sin(1.57)
0.9999996829318346
>>> math.cos(0.78)
0.7109135380122773
>>> math.tan(math.pi / 4)
0.9999999999999999
二、python基礎知識
(1)單行注釋和多行注釋
# 代表單行注釋
#print("hello,world")
"""代表多行注釋
"""
this is a duo hang de zhu shi
"""
(2)變量
Python 是弱類型語言?,弱類型語言有兩個典型特征
變量無須聲明即可直接賦值 對一個不存在的變量賦值就相當于定義了一個新變量。
變量的數據類型可以動態改變:同一個變量可以一會兒被賦值為整數值,一會兒被賦值為 字符串。
type()函數返回 傳入數據的數據類型
>>> type("hello")
>>> type(1)
print()函數用法
user_name = "Charlie"
user_age = 8
#打印時默認的間隔符是空格
print("用戶姓名",user_name,"用戶年齡",user_age)
#使用sep參數將默認的間隔符修改為|
print("用戶姓名",user_name,"用戶年齡",user_age,sep="|")
#print函數默認會換行,因為end參數默認是\n,我們可以指定為空字符串,打印的時候就不會換行了
print(40,"\t",end="")
print(60,"\t",end="")
#可以直接輸出內容到一個文件中
f=open("D:\\open.txt","w")
print("鋤禾日當午",file=f)
輸出結果:
用戶姓名 Charlie 用戶年齡 8
用戶姓名|Charlie|用戶年齡|8
40 60
(3)python的關鍵字和內置函數
使用keyword 查看 python的關鍵字
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
python的內置函數
basestring()
bin()
bool()
enumerate()
execfile()
isinstance()
issubclass()
object()
oct()
open()
ord()
pow()
print()
property()
range()
raw_input()
reduce()
reversed()
staticmethod()
str()
sum()
super()
unichr()
__import__?()
以上python內置的關鍵字以及內置的函數不應該作為標識符。
(4)Python 整型數值有4種 表示形式
十進制形式 最普通的整數就是十進制形式的整數
二進制形式:以 Ob OB 開頭的整數就是 進制形式的整數
八進制形式:以Oo或00 開頭的整數就是八進制形式的整數(第 二個字母是大寫或小寫的O)
十六進制形式:以 Ox或?ox 開頭 整數就是十六進制形式的整數,其中 10 ~15 分別以a~f(此處的a~f不區分大小寫)來表示
>>> 0x13
19
>>> 0XaF
175
>>> 0b111
7
>>> 0B101
5
>>> 0o54
44
>>> 0O17
15
(5)浮點型
浮點型數值用于保存帶 數點的數值, python 浮點數有兩種表示形式。
十進制形式:這種形式就是平常簡單的浮點數,例如 5.12 512 0.512 。浮點數必須包含 一個小數點,否則會被當成整數類型處理。
科學計數形式 例如 5.12e2 (即 5.12 *10^2?)、 5.12E2 (也是 5.12*10^2)必須指出的是,只有浮點型數值才可以使用科學計數形式表示。例 51200 個整型值,但
512E2 則是浮點型值.
(6) 復數
導入cmath模塊,例如:3 + 0.2j
(7) repr和字符串
sl ”這本書的價格是
p = 99.8
#字符串直接拼接數值,程序報錯
print(sl + p)
#使用 str()將數值轉換成字符串
print(sl + str(p))
#使用 repr()將數值轉換成字符串
print (sl+repr(p))
str()?和?repr()函數都可 將數值轉換成字符串,其 str 本身是 Python 類型( 和int float 一樣〉,而 repr()則 只是 個函數 ,此外, repr 還有 一個功能, 它會以?Python 表達式 形式來表示 值。對 比如下兩行粗體 碼。
st?= "i will play my life";
print (st)
print(repr(st))
上面代碼中 st 本身就是 個字符串 但程序依然使用了 repr() 對字符串進行轉換。運行上面程 序,可以看到如下輸出結果。
I will play my fife
’ I will play my fife ’
通過上面的輸出結果可以看出,如果直接使用print()函數輸出字符串 將只能看到字符串的內容,?沒有引號,但如果先使用 repr()函數對字符串進行處理,然后再使用?print() 執行輸出,將可以 看到帶引號 字符串一一 就是字 Python的表達式形式。
(8)使用input()函數獲取用戶輸入
python3中input()函數用于向用戶生成一條提示,然后獲取用戶輸入的內容,由于input()函數總會將用戶輸入的內容放入字符串中,因此用戶可以輸入任何內容,input()函數總是返回一個字符串
msg = input("請輸入你的值:")
print("您輸入得值是:",msg, "值的類型是:",type(msg))
請輸入你的值:2
您輸入得值是: 2 值的類型是:
請輸入你的值:1.2
您輸入得值是: 1.2 值的類型是:
請輸入你的值:Hello
您輸入得值是: Hello 值的類型是:
(9)長字符串
myPhone = """這是一個長字符串"""
print(myPhone)
myPhone ="這是一個" \
"長字符串"
print(myPhone)
num = 20+3/4+ \
2*3
print(num)
(10)原始字符串
由于字符串中的反斜線都有特殊的作用,因此當字符串中包含反斜線時,就需要對其進行轉義。 比如寫一條 Windows 的路徑 G:\publish\codes\02\2.4 ,如果在 Python?程序中直接這樣寫肯定 是不行的,需要寫成: G:\\publish\codes\\02\\2.4 ,這很煩人,此時可借助于原始字符串來解決這個 問題 ,原始字符串以“r?”開頭,?原始字符串不會把反斜線當成特殊字符。因此,上面的 Windows 路徑可直接寫成 r' G:\publish\codes\02\2.4
url = "D:\\sadasda\\asdsadasd"
url = r"D:\sadasda\asdsadasd";
print(url)
(11) 字節串bytes
#創建一個空的bytes
bttes1 = bytes()
print(bttes1)
#創建一個空的bytes
bttes2 = b''
print(bttes2)
#通過前綴指定hello是bytes類型的值
b3 = b'hello'
print(b3)
print(b3[0])
print(b3[2:4])
# 調用bytes方法將字符串轉換成bytes對象
b4 = bytes('我愛kxm',encoding='utf-8')
print(b4)
# 利用字符串的encode()方法編碼成bytes,默認使用UTF-8字符集
b5 = "我愛kxm".encode('utf-8')
print(b5)
# 將bytes解碼成字符串
b5str = b5.decode("utf-8")
print(b5str)
(12)字符串格式化
price = 108
print ("the book ’s price is %s" % price)
格式化字符串中的“ %s ”被稱為轉換說明符(Conversion Specifier),其作用相當于一個占位符,?它會被后面的變量或者?表達式的?值代替。?%s?指定將變量或值使用 str?() 函數轉換為字符串。 如果格式 字符串 包含多個“%s?”占位符,第三部分也應該對應地提供多個變量,并且使 用圓括號將這些變量括起來。?如下代碼:
print("the book price is %s %s" % ("我","是一個粉刷匠"))
轉換說明符
d, i
轉換為帶符號的十進制形式的整數
轉換為帶符號的八進制形式的整數
x
X
轉化為科學計數法表示 的浮點數( e小寫)
轉化為科學計數法表示 的浮點數( E大寫)
g
智能選擇使用 f或者e格式
智能選擇使用 f或者e格式
轉換為單字符(只接受整數或者單字符字符串)
(13)序列相關方法
# 希望kxm能夠快點好起來
test = "希望kxm能夠快點好起來"
# 獲取test 從右邊開始,索引為4的字符
print(test[-4])
# 獲取test從2開始到結束的字符串
print(test[2:])
# 獲取test 從索引為2到4的字符串
print(test[2:4])
# 獲取test從索引 -6到-3的字符串
print(test[-6:-3])
# 使用in關鍵字判斷 test 是否包含 very 字符串
print('very' in test)
print('kxm' in test)
# 獲取test字符串的長度
print(len(test))
# 獲取test字符串中的最大字符
print(max(test))
# 獲取test字符串中的最小字符
print(min(test))
(14)大小寫相關方法
dir() :?列出指定類或模塊包含的全部內容(包括函數、方法、類、變量等)。
help():?查看某個函數或方法的幫助文檔。
str類中與大小寫相關的常用方法如下:
test = " abC jkL"
# 將每個單詞首字母改為大寫
print(test.title())
# 將整個字符串改為大寫
print(test.upper())
# 將整個字符串改為小寫
print(test.lower())
print(dir(str))
print(help(str.lower))
# 刪除字符串前后的空白
print(test.strip())
# 刪除字符串前面(左邊)的空白
print(test.lstrip())
# 刪除字符串后面(右邊)的空白
print(test.rstrip())
#判斷字符串是否 以指定子串開頭
print(test.startswith(" "))
print(test.endswith("l"))
#查找指定子串在字符串中出現的位置,如果沒有找到指定子串 ,則返回-1
print(test.find("a"))
#查找指定子串在字符串中出現的位置,如果沒有找到指定子串 ,則引發 ValueError錯誤。
print(test.index("a"))
#使用指定子串替換字符串中的目標子串
print(test.replace("jk","mk"))
#定義翻譯映射表
table = {97:945 , 98:946 , 116: 964}
print(test.translate(table))
"""str的translate()方法需要根據翻譯映射表對字符串進行查找、替換。在
上面程序中自己定義了一個翻譯映射表,這種方式需要開發者能記住所有字符的編碼 ,這顯然
不太可能 為此, Python 為由類提供了一個 maketrans ()方法,通過該方法可以非常方便地創建翻
譯映射表"""
table1 = str.maketrans("ab","OP")
print(test.translate(table1))
myStr = "my.org is a good site"
#使用空白對字符串進行分割
print(myStr.split())
#使用空白對字符串進行分割,最多只分割前兩個單詞
print(myStr.split(None,2))
#使用點進行分割
print(myStr.split("."))
mylist = myStr.split()
#使用 /作為分割符,將 mylist 連接成字符串
print("/".join(mylist))
#使用 ,作為分割符,將 mylist 連接成字符串
print(",".join(mylist))
(15) 運算符
# 連續賦值
a = b = c = 20
print(a, b, c)
x = - 5.0
x = -x
print(x)
y = -5.0
y = +y
# n 個字符串拼接起來
s3 = 'crazy'
print(s3 * 5)
"""“/表示普通除法,使用它除出來的結果與
平常數學計算的結果是相同的(即除不盡時,會產生小數部分);而“//”表示整除,使用它除出
來的結果只有整數部分,小數部分將會被舍棄。"""
print(19 / 4)
print(19 // 4)
"""%:求余運算符 Python要求求余運算符的兩個操作數都是整數, Python 的求余運算符完全
支持對浮點數求余。求余運算的結果不一定總是整數,它是使用第一個操作數來除以第二個操作數,
得到一個整 結果后剩下的值就是余數。"""
print(5 % 3)
print(5.2 % 3.1)
# ** 乘方/ 開方運算
print('5的2次方:', 5 ** 2) # 25
print('4的3次方', 3) # 64
print('4的開平方:', 4 ** 0.5) # 2.0
print('27的開3次方', 27 ** (1 / 3)) # 3.0
"""
& : 按位與
0 0 0 (兩個數都是0,所以結果才是0)
0 1 0 (兩個數只有一個為1,所以結果是0)
1 1 1 (兩個數結果都是1,所以結果才是1)
| :按位或
0 0 0 (兩個數都是0,所以結果是0)
0 1 1 (兩個數只要其中一個是1,結果就是1)
1 1 1 (兩個數都是1,所以結果是1)
^ : 按位異或。
0 0 0 (相同為0,不同為1)
0 1 1
1 1 0
~ : 按位取反。(0變成1,1變成0)
0 0
1 1
<<: 左位移運算符:左移運算符是將操作數的二進制碼整體左移指定位數,左移后右邊空出來的位以0來填充
0010101 << 2
1010100
>>: 右位移運算符: Python 右移運算符為 >>。對于“>>”運算符而言,把第一個操作數的二進制右移指定
位數后,左邊空出來的位以原來的符號位來填充。即 :如果第一個操作數原來是正數,則 左邊補 0;
如果第一個操作數是負數,則 邊補 o
1010011 >>2
1010000
必須指出的是,位移運算符只適合對整型數進行運算
"""
a = 'abcdefghijklmn'
# 獲取索引2到索引8的子串,步長為3
print(a[2:8:3]) # 輸出cf
# 獲取索引2到索引8的子串,步長為2
print(a[2:8:2]) # 輸出ceg
a = 3
b = a
# 判斷兩個變量所引用的對象是否相同,
print(a is b)
# 判斷兩個變量所引用的對象是否不相同.
print(a is not b)
# 使用id()獲取所引用的對象的內存地址
print(id(a))
print(id(b))
# 布爾值也可以進行運算
print(True + False)
print(False - True)
print(-True)
print(-False)
# ==只比較兩個變量的值,但 is要求兩個變量引用同一個對象。
import time
a = time.time()
b = time.time()
print(a == b) # 輸出True
print(a is b) # 輸出False
# 邏輯運算符 and or not
a = "book"
if a.startswith("b") and len(a) > 2:
print(True)
else:
print(False)
a = 75
b = 60
st = a if a > b else b
print(st)
小練習:
(1)
num1, num2 = int(input("請輸入第一個整數:")), int(input("請輸入第二個整數:"))
print(num1 // num2)
print(num1 / num2)
print(num1 + num2)
print(num1 - num2)
print(num1 * num2)
輸出結果:
請輸入第一個整數:10
請輸入第二個整數:2
5
5.0
12
8
20
(2)
# 打印一個字串在一個字符串中出現的次數
string, sub_string = input("請輸入字符串:"), input("請輸入子串:")
count = 0
subLen = len(sub_string)
print(range(len(string) - 1))
for i in range(len(string) - 1):
if string[i:i + subLen] == sub_string:
count += 1
print("子串出現的次數是 %s" % count)
輸出結果:
請輸入字符串:abcabcabc
請輸入子串:ab
range(0, 8)
子串出現的次數是 3
(3)
num1 = int(input("請輸入一個整數:"))
print("十進制:%d" % num1)
print("八進制:%s" % oct(num1))
print("十六進制(大寫):%s" % hex(num1))
print("二進制:%s" % bin(num1))
輸出結果:
請輸入一個整數:50
十進制:50
八進制:0o62
十六進制(大寫):0x32
二進制:0b110010
(4)
string, sub_string = input("請輸入字符串:"), input("請輸入子串:")
list = sub_string.split(" ")
index,repStr = list[0],list[1]
tem = string[int(index)]
#方法一
print(string.replace(tem,repStr,1))
#方法二
str_new = string[:int(index)] + repStr + string[int(index)+1:]
print(str_new)
請輸入字符串:ab.ccc
請輸入子串:3 p
ab.pcc
ab.pcc
Python
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。