國慶八天的休假說長不短,說短不長,趁着宅在家中的時間,打算從0開始學python。java
python變量定義比較簡單,不須要定義數據類型,直接寫,就能夠賦值python
num=1 str="str"
與之相比,java中定義變量就得定義數據類型c++
int num = 1; String str = "str";
還有不一樣的是,python中有複數的定義,java中就沒有git
查看變量的類型api
print(type("i")) #<class 'str'>
數字,字母,下劃線組成,區分大小寫,數字不能開頭。數組
關鍵字能夠用keyword查看。app
import keyword keywordList = keyword.kwlist print(keywordList)
python2 裏面輸入是raw_input(),而python3裏面是input()。dom
輸出是 print()。函數
python的輸出和C++有點相似spa
str =input("請輸入內容") print("輸入的內容%s長度是%d"%(str,len(str)))
+,-,*,/,%。
須要注意的是 / 返回的類型是根據參數而定的,若是除數被除數都是整型返回的就是整型,若是有浮點型,那返回的就是浮點型。
#round(num,取值位數) print(round(2.5/2,1)) #1.2
與java不一樣的地方有**表明冪運算,//表明結果取整
#冪運算 print(2**10)#1K print(2**20)#1M print(2**30)#1G
與java的花括號不一樣,python的if格式是用縮進來判斷,if判斷成功後,執行縮進中的內容
python中沒有else if的寫法,elif替代
inputNum =int(input("please input any number")) if inputNum >=0 and inputNum <10: print("0 <= num < 10,num=%d"%inputNum) elif inputNum >=10 and inputNum <20: print("10 <= num < 20,num=%d"%inputNum) else: print("%d"%inputNum)
知足條件不停循環,和java沒什麼區別
for有點像java的foreach循環,但for不只支持列表,也支持字符串
''' 輸出: a b c d e ''' str = "abcde" for i in str: print(i)
for...else表示for循環正常結束後(即不是break跳出),執行else代碼塊
for num in range(10,20): # 迭代 10 到 20 之間的數字 for i in range(2,num): # 根據因子迭代 if num%i == 0: # 肯定第一個因子 j=num/i # 計算第二個因子 print('%d 等於 %d * %d' % (num,i,j)) break # 跳出當前循環 else: # 循環的 else 部分 print (num, '是一個質數')
不支持break/continue a的語法,只能break/continue最近一層循環
寫了個猜拳小遊戲練習了下基礎
import random while True: player = input("請輸入 剪刀(0) 石頭(1) 布(2),結束遊戲請輸入end") if(player == "end"): break if(not player.isnumeric()): print("請輸入數字") continue else: player = int(player) if(player <0 or player > 2): print("請輸入0,1,2") continue system = random.randint(0,2) if player - system == 1 or player - system == -2: print("獲勝") elif player == system: print("平局") else: print("輸了")
函數定義
#分割線 def line(): print("-"*12+"華麗的分割線"+"-"*12)
import time # 引入time模塊 currentTime = time.time() #返回從1970.1.1開始至今的秒數 nowTime = time.asctime(time.localtime(currentTime)) print("當前時間戳爲:", currentTime) print("本地時間爲:",nowTime)
import calendar cal = calendar.month(2017, 10) print("2017年10月份的日曆:") print(cal)
import random for i in range(0,10): print(random.randint(0,100))
python對字符串操做有一套現成的方法,操做起來異常簡單
str = "hello world" print(str[2:-1]) #從下標2的地方取到倒數第一位。'llo worl' print(str[2:]) #從下標2的地方取到最後一位。'llo world'
和c++的相似
經常使用的就%s,%d,%f
檢測 str 是否包含在 mystr中,若是是返回開始的索引值,不然返回-1
find:從左邊開始找
rfind:從右邊開始找
str = "hello world" print(str.find('world', 0, len(str))) #6
跟find()方法同樣,只不過找不到,會報異常.
index:從左邊開始找
rindex:從右邊開始找
str = "hello world" print(str.index('world', 0, len(str))) #6
返回出現的次數
str = "hello world" print(str.count('world', 0, len(str))) #1
替換內容,若是 count 指定,則替換不超過 count 次.
str = "hello world" print(str.replace('world', 'python', str.count('world'))) #hello python
切割返回列表
str = "hello world" print(str.split(' ')) #['hello', 'world']
第一個字母大寫
str = "hello world" print(str.capitalize()) #Hello world
判斷是否以什麼開頭,以什麼結尾
str = "hello world" print(str.startswith("h")) #True print(str.endswith("d")) #True
字符串所有轉爲小寫,所有轉爲大寫
ljust:返回一個原字符串左對齊,並使用空格填充至長度 width 的新字符串
rjust:返回一個原字符串右對齊,並使用空格填充至長度 width 的新字符串
center:返回一個原字符串居中,並使用空格填充至長度 width 的新字符串
str = "hello world" print("|"+str.ljust(20)+"|") #|hello world | print("|"+str.rjust(20)+"|") #| hello world| print("|"+str.center(20)+"|") #| hello world |
lstrip:刪除左邊的空格
rstrip:刪除右邊的空格
str = " hello world " print("|"+str.lstrip()+"|") #|hello world | print("|"+str.rstrip()+"|") #| hello world|
分割成三部分,str前,str和str後
partition:從左邊開始
rpartition:從右邊開始
str = "hello world" print(str.partition('l')) #('he', 'l', 'lo world') print(str.rpartition('l')) #('hello wor', 'l', 'd')
按照行分隔,返回一個包含各行做爲元素的列表
str = "hell\no wor\nld" print(str.splitlines()) #['hell', 'o wor', 'ld']
若是字符都是字母或數字則返回 True,不然返回 False
若是字符只包含字母則返回 True,不然返回 False
若是字符只包含數字則返回 True,不然返回 False
若是字符只包含空格,則返回 True,不然返回 False.
若是字符都是大寫,則返回 True,不然返回 False.
若是字符都是小寫,則返回 True,不然返回 False.
每一個字符後面插入,構造出一個新的字符串
str = "hello world" print("*".join(str)) #h*e*l*l*o* *w*o*r*l*d
列表支持不一樣數據類型在同一個列表中,java一個數組只支持一種數據類型
''' 輸出 xiaoWang xiaoZhang xiaoHua ''' A = ['xiaoWang','xiaoZhang','xiaoHua'] print(A[0]) print(A[1]) print(A[2]
''' 輸出 xiaoWang xiaoZhang xiaoHua ''' A = ['xiaoWang','xiaoZhang','xiaoHua'] for tempName in A: print(tempName)
經過append能夠向列表添加元素,添加到最後位置
A = ['xiaoWang','xiaoZhang','xiaoHua'] A.append("xiaoMing")
經過下標來賦值
A = ['xiaoWang','xiaoZhang','xiaoHua'] A[0] = "xiaoMing"
A = ['xiaoWang','xiaoZhang','xiaoHua'] if 'xiaoWang' in A: print("find")
del:根據下表刪除
remove:根據內容刪除
pop:刪除最後一個元素(最新添加的元素)