1.python的基礎語法元素_基本數字類型

#-*- coding: utf-8 -*-

print ("=============數字類型===========")
#1.1數字類型
#int整形 整數 默認輸入十進制 另外二進制是0b,八進制是0o,十六進制是0X
print (2)
print (16==0b10000==0o0==0x10)
#10進制與其他進制的轉換,轉換後爲字符串類型
a = bin(16) #轉二進制
b = oct(16) #轉八進制
c = hex(16) #轉十六機制
print (a,b,c)
#其他進制轉十進制
d = int(a,2) #二進制轉十進制
e = int(b,8) #八進制轉十進制
f = int(c,16) #十六進制轉十進制
print (d,e,f)


#浮點型 帶小數帶數 具有不確定性
#計算機採用二進制小數來表示浮點數的小數部分,部分小數不能用二進制小數完全表示
#通常不會影響計算精度
print (2.5)
print (0.1+0.2)== 0.3
a = 3*0.1
print (a)
#四捨五入獲取精確解
a = 0.300000001
b = round(a,1)
print (b == 0.3)

#複數類型 a+bj 大寫J或者小寫j均可
print (3+4j)
print (2+5J)
#當虛部係數爲1時,需要顯式寫出
print (2+1j)
#數字運算操作符 加減乘除 + - / *
print ((1*3-4*2)/5)
#取反運算 - 乘方運算 ** 整數商 //  模運算 %
#整數與浮點數運算當結果是浮點數  除法運算當結果是浮點數
#數字運算操作函數
#求絕對值
print (abs(-5))
#求冪次方
print (pow(2,5))
#求2的5次冪然後對3求餘數
print (pow(2,5,3))
#四捨五入函數 round第一位爲需要四捨五入的數,第二位爲保留的小數位數,不寫則默認爲整數
a = 1.618
print (round(a))
#序列的最大最小值,求和
print (max(3,2,1,3,5,2))
print (min(3,2,1,3,5,2))
print (sum([4,3,2,4,5]))
#藉助科學計算庫
import math
print (math.exp(1)) #指數運算 e^x
print (math.log(8)) #對數運算 ?
print (math.sqrt(4)) #開平方運算
import numpy as np
a = [1,2,3,4,5]
print (np.mean(a)) #求均值
print (np.median(a)) #求中位數
print (np.std(a)) #求標準差

print ("=====================字符串類型===================")


# 1.2字符串類型,由數字 字母 空格或者其它字符組合而成,用 ""或'' 表達
print ("pyhton 124  ")
print  ('pyhton &678')
#單中有雙 雙中有單
print ("i'm 18 year old")
print ('"Python" is good')
#雙中有雙,單中有單 -- 轉義符 \
print ("\" Python\" is good")
#轉義字符可以用來換行
s = "py\
thon "
print (s)
#字符串的索引
#正向索引
s = "My name is Peppa Pig"
print (s[0])
print (s[1])
print (s[2])
#反向索引  從-1開始遞減
print (s[-1])
print (s[-2])
print (s[-3])

#字符串的切片  變量名[開始位置:結束位置:切片間隔]
#切片間隔(位置之差)如不設置默認爲1,可省略,切片範圍不包括結束位置
s = "Python"
print (s[0:4:2])
#起始位置是0可以省略,結束位置省略,代表可以取到最後一個字符,可以使用反向索引
s = "Python"
#以下的輸出都是python
print(s[0:6])
print(s[:6])
print(s[:])
print(s[-6:]) #使用反向索引
#反向切片
#起始位置是-1可以省略 結束位置省略,代表可以取到第一個字符
s = "123456789"
#以下輸出都是987654321
print(s[-1:-10:-1])
print(s[:-10:-1])
print(s[::-1])

#字符串的拼接
a = "I love "
b = "my wife"
print(a+b)
#字符串的成倍複製  字符串*n  n*字符串
c = a + b
print (c*3)
print (3*c)
#成員運算
#子集in全集  任何一個連續的切片都是原字符串的子集
folk_sigers = "Peter, Paul and Mary"
print ("Peter" in folk_sigers)
print ("PPM" in folk_sigers)
#遍歷字符串字符  for 字符 in 字符串
for s in "Python":
    print (s)

#字符串處理函數
#字符串的長度
s = "python"
print (len(s))

#字符編碼
#將中文字庫,英文字母,數字,特殊字符等編碼轉化成計算機可識別的二進制數
#每個單一字符對應一個唯一的互不重複的二進制編碼,python中使用的是Unicode編碼
#將字符轉化爲 Unicode碼 - ord(字符)
print(ord("1"))
print(ord("a"))
print(ord("*"))
#將Unicode碼轉化爲字符  chr(Unicode碼)
# print (chr(1010))
# print(chr(10000))
# print(chr(12345))
# print(chr(23456))
#字符串的處理方法
#字符串的分割--字符串.split(分割字符)
#返回一個列表 原字符串不變
languages = "Python C C++ Java PHP R"
languages_list = languages.split(" ")
print(languages_list)
print(languages)
#聚合 "聚合字符".join(可迭代數據類型)
#可迭代數據類型 :字符串 字符串列表
s = "12345"
s_join = ",".join(s) # 將可迭代對象沒相鄰的兩個元素之間加一個逗號
print (s_join)
s =  ["1","2","3","4","5"]
s_join1 = "*".join(s)
print  (s_join1)
#刪除兩端特定字符--字符串.strip(刪除字符)
#strip從兩側開始搜索,遇到指定字符執行刪除,遇到非指定字符,搜索停止
#類似的還有左刪除lstrip和rstrip
s = "  I have many blanks  "
print (s.strip(" "))
print (s.lstrip(" "))
print (s.rstrip(" "))
#字符串替換 字符串.replace("被替換","替換成")
s = "Python is coming"
sl = s.replace("Python","Py")
print(sl)
#字符串統計 字符串.count("待統計字符串")
s = "Python is an excellent language"
print("an:", s.count("an"))
print("e:",s.count("e"))
#字符串大小寫
#字符串.upper() 字母全部大寫
s = "Python"
print(s.upper())
#字符串.lower 字母全部小寫
print (s.lower())
#字符串.title() 首字母大寫
print ("python".title())


print("=============布爾類型==============")


#1.3 布爾類型 主要用於邏輯運算
print (2>1)
print (True)
#any()只要有一個是非零 就是true
#all()所有元素都是非零纔是true
print (any([False,1,0,None]))
print (all([False,1,0,None]))
#布爾類型作爲指示條件
while True:
    print ("test")
    break
#布爾類型作爲掩碼
x = np.array([[1,3,2,5,7]])
print (x>3)
print (x[x>3])

#數據類型的判別 type(變量)
age = 20
name = "Ada"
print (type(age))
print (type(name))
# 預判類型) 承認繼承
#變量類型是預判類型的字類型,則爲真,否則爲假
print(isinstance(age,int))  # 判斷age是否是int這個類的實例
print(isinstance(age,object)) #object是所有類的父類
print(isinstance(name,object))

#字符串檢查方法
#字符串.isdigit()檢查字符串是否只有數字組成
#字符串.isalpha()檢查字符是否只有字母組成
#字符串.isalnum()檢查字符串是否只有字母和數字組成
age = "20"
name = 'Ada'
print (age.isdigit())
print (name.isdigit())
print ("Ada".isalpha())
print ("Ada20".isalnum())
#類型轉換
#數字類型轉字符串 str(數字類型)
age = 20
print ("My age is "+str(age))
#僅有數字組成的字符串轉數字 int(),float(),eval()
s1 = "20"
s2 = "10.1"
print (int(s1))
print (float(s1))
print (float(s2))
#用eval可以直接取出字符串裏面的內容
print (eval(s1))














 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章