天天看點

python變量、資料類型、類型轉換、算術運算符

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))