python變量、資料類型、類型轉換、算術運算符
1、python基礎
python語言是一種解釋型、面向對象、動态資料類型的進階程式設計語言,python語言是資料分析師的首選資料分析語言之一。
解釋型:類比java,java是編譯型,首先寫一個javac檔案,會有一個編譯的過程,在java中,如果程式中出現錯誤,編譯時就會出現錯誤。 而python是解釋型的,沒有編譯的過程,是一行一行代碼執行的(假如一行代碼有錯誤,隻有執行到這一行代碼時,才會發生錯誤)。
動态資料類型:java是靜态資料類型,也就是說需要給資料類型,給過之後就不能再改變。python會根據後面賦的值的類型自動的去推斷變量的類型,是一個動态的過程
舉例:
i=1
print(type(i))
i='abc'
print(type(i))
# 輸出:<class 'int'>
# <class 'str'> 在python中檢視資料類型用的是type()
面向對象:和java一樣,封裝、繼承、多态。 面向函數:scala 面向過程: c
2、文法
1、變量
# 變量
# 命名規則:大小寫字母、數字、下劃線_,不能以數字開頭,并且對大小寫敏感,不能是關鍵字。
# 檢視關鍵字
import keyword
print(keyword.kwlist)
# 定義一個變量
# 直接取一個變量名即可,但要注意變量一旦定義就需要指派
# 不需要類型修飾:可以動态的根據所賦予的值自動判斷變量類型
i = 1
a = 3
# 1c=2 不能以數字開頭
# stu 定義的時候需要指派
print(type(a)) # 檢視變量類型
2、注釋
# 這是單行注釋 ,相當于java中的 //
# 多行注釋一般用于文檔說明
''' 三個成對的單引号 相當于java中的 /* */
多行注釋
在python中不嚴格的區分單雙引号,單雙引号括起來的都是字元串
'''
""" 三個成對的雙引号 相當于java中的 /* */
多行注釋
在python中不嚴格的區分單雙引号,單雙引号括起來的都是字元串
"""
3、print函數
# print函數
# sep :分隔符
# end:設定換行符
print(1,2,3,4) # 1 2 3 4
print(1,2,3,4,sep='|') # 1|2|3|4
print(7,end="") # 不換行
print(8)
4、五大基本類型
# 五大基本類型
# 整型int 、浮點float 、字元串str、布爾bool、空類型 none
i = 1
f = 1.1
str1 = 'abc' # python 中沒有char類型,統一為字元串
bool1 = True
bool2 = False
none1 = None
print(type(i))
print(type(f))
print(type(str1))
print(type(bool1))
print(type(bool2))
print(type(none1))
5、類型轉換
# 類型轉換
# int() 、float()、str()、bool() 四個方法
# 需要轉成什麼類型就調用什麼方法
# 注意:類型轉換的時候,是否符合對應類型的要求 例如:abc 轉 int 會有異常
# 注意:print("abc"+123) 也會抛出異常 ,python中不支援這樣拼接
str2='123'
print(str2,type(str2))
# str to int
str2int=int(str2)
print(str2int,type(str2int))
# float to str
f1 = 1.234
floatstr=str(f1)
print(floatstr,type(floatstr))
# int\float\str to bool
# 對于數值型的變量轉bool 除零以外都是True
# 對于字元串類型的變量轉bool 除 空字元串以外都是True
print(bool(1)) # True
print(bool(0)) # False
print(bool(-100)) # True
print(bool(-0)) # False
print(bool(1.1)) # True
print(bool(0.0)) # False
print(bool("False")) # True
print(bool("True")) # True
print(bool("abc")) # True
print(bool("")) # False
6、算術運算符
# 算數運算符
# + - * / % ** //
a = 10
b = 4
print(a + b)
print(a - b)
print(a * b)
print(a / b)
print(a % b) # 取餘數
print(a ** b) # 10的4次方
print(10 // 3) # 向下取整(直接舍棄餘數)
# 邏輯運算符
# & | not ^
bool1 = True
bool2 = False
print(bool1 & bool2) # 與
print(bool1 and bool2) # 與
print(bool1 | bool2) # 或
print(bool1 or bool2) # 或
print(not bool2) # 取反
print(bool1 ^ bool2) # 異或
7、格式化字元串
# 格式化字元串
# 第一種方式:
# %d : 整數
# %f : 小數
# %s : 字元串
# 3 * 2 = 6
a = 3
b = 2
c = 6.00000
print("%d %s %d = %0.3f" % (a, "*", b, c))
# 第二種方式
# {} * {} = {}
format1 = "{} * {} = {}"
print(format1.format(3, 3, 9))