# 1.算數(shù)婴程、字符串與變量
#基于python3.5
##算數(shù)
importmath
print(5+5)
print(5-5)
print(5*5)
print(5/5)
print(5//5)#整除,不是四舍五入廓奕,而是直接舍棄小數(shù)位
print(5%5)#取余數(shù)
print(5**5)#乘方
#運(yùn)算符優(yōu)先級(jí)從低到高+-*///%**
print(2**2//4/2*2)# >>>1.0
#只有整型和浮點(diǎn)型,沒(méi)有Long類型,整型沒(méi)有溢出桌粉,浮點(diǎn)型有溢出蒸绩,有精度誤差。
print(35**100)
print(1-2/3)# >>>0.33333333333333337精度誤差
#不常用的復(fù)數(shù)铃肯,涉及到-1的平方根的叫復(fù)數(shù)患亿,python中用1j表示
print(1j*1j)# >>>(-1+0j)
# math模塊
#一個(gè)常用的模塊,提供一些常用的計(jì)算函數(shù)押逼,需要import math模塊
a = math.sqrt(4)
b = math.pow(2,3)
print("開(kāi)方的結(jié)果是{}步藕,乘方的結(jié)果是{}".format(a,b))# >>>開(kāi)方的結(jié)果是2.0,乘方的結(jié)果是8.0
#引入模塊的三種方式
#1. import math使用: math.sqrt(4)
#2. from math import *使用:sqrt(4)
#3. from math import sqrt使用:sqrt(4)
#推薦使用第一種挑格,第二種是強(qiáng)烈不建議使用的咙冗,如函數(shù)與math模塊中的某個(gè)函數(shù)同名,將被math中的同名函數(shù)覆蓋
##字符串
#字符串的表示
# 1. "單雙引號(hào)都可以表示字符串可包含'
# 2. '單雙引號(hào)都可以表示字符串可包含"
# 3. '''或者"""三引號(hào)表示多行字符串漂彤,可包含" '
print("""this is a test\nthis is a demo\ni'm a "coolboy" """)
#字符串的長(zhǎng)度len()函數(shù)返回一個(gè)整數(shù)
str1='hello world'
print("str1的長(zhǎng)度是{}".format(len(str1)))# >>> str的長(zhǎng)度是11
print(len('')+len('abc')*len('123'))# >>> 9
#字符串拼接--返回的是一個(gè)新的字符串
#和java,javascript一樣雾消,可以用+號(hào)拼接
print("this is a"+" test")
#還可以運(yùn)算拼接
print('abc'*5)
print('abc'*5+1*'!')
#小貼士:遇到函數(shù)不懂,除了百度挫望,可以直接打印簡(jiǎn)短的文檔
print(len.__doc__)# >>> Return the number of items in a container
#命令行輸入dir(m)或者h(yuǎn)elp(m)也可以哦
#類型轉(zhuǎn)換
#同java一樣仪或,有隱式的轉(zhuǎn)換和顯式的轉(zhuǎn)換
#隱式轉(zhuǎn)換同java類似,像'大的'方向轉(zhuǎn)換
change =25*0.2
print("整數(shù)*浮點(diǎn)型會(huì)往浮點(diǎn)型轉(zhuǎn)換士骤,所以結(jié)果是{}".format(change))# >>>整數(shù)*浮點(diǎn)型會(huì)往浮點(diǎn)型轉(zhuǎn)換范删,所以結(jié)果是5.0
#顯式轉(zhuǎn)換
#1.整數(shù)、字符串轉(zhuǎn)小數(shù)
print(float('2'))
print(float('3.2'))
print(float(5))
#2.整數(shù)和浮點(diǎn)數(shù)轉(zhuǎn)換為字符串
print(str(123))
print(str(.2))
print(str(2.5))
#3.浮點(diǎn)數(shù)轉(zhuǎn)整數(shù)int()是直接刪除小數(shù)位round是圓整拷肌,但是對(duì).5的圓整與我們數(shù)學(xué)中的圓整不一樣到旦,可能向上加1,可能不加1
print(int(1.5))# >>> 1
print(round(1.5))# >>> 2
print(round(6.5))# >>> 6
#4.字符串轉(zhuǎn)化為數(shù)字
print(int('5'))
print(float('.5'))
#5.math方法
print(math.ceil(1.25))# >>> 2
print(math.floor(1.25))# >>> 1
##變量和值
# python的變量不需要聲明的修飾符巨缘,比如js中的var letjava中的int String
val1 ='test'## LHS = RHS
(LHS,RHS是編譯階段查找變量的規(guī)則)
print(val1)
#在python中添忘,不可能修改字符串和數(shù)字
s ='apple'
print(s+'s')# >>> apples
print(s)# >>> apple
#你也不可能改變數(shù)字,比如5 = 1若锁,肯定會(huì)報(bào)錯(cuò)啊
#多重賦值
x,y,z =1,'test',3.0
print(x,y,z)
#多重賦值使用技巧:實(shí)現(xiàn)交換賦值
#以前實(shí)現(xiàn)的方式是加一個(gè)temp
v,k =5,9
temp=v
v=k
k=temp
print(v,k)
# now
g,h=5,9
g,h=h,g
print(g,h)