1. 程式人生 > >python 學習筆記(基礎輸入輸出,字串,迴圈,三種陣列)

python 學習筆記(基礎輸入輸出,字串,迴圈,三種陣列)

學習python發現這門語言和其他語言有很多不同之處,比如python的變數不需要要宣告型別,python是解釋性語言所以要注意函式定義的位置,python注重程式碼格式而不注重符號。python方便得陣列元組和強大的內建爬蟲庫。寫的可能不夠詳細不夠好但是主要想通過文章以後看的時候回想知識點。

  1. python的輸入輸出:python輸入預設為String型別,如果需要int或其他型別需要轉換。python輸出預設為換行,如果不換行需要加endwith=’ '(後面有),python的輸出和c的printf方法類似。
print("請輸入年齡")

age=int
(input())#input預設是string型別,需要型別轉換 print(age) st="歲" print('age等於%d%s'%(age,st)) name = input("Please intput your name:") print('Hello '+name)
  • 輸入 輸出結果為
請輸入年齡
16
16
age等於16歲
Please intput your name:bigsai
Hello bigsai

2. python字串:python字串和Java的常規方法很像,但是有一點不同的是,python的字串可以直接當作陣列輸出對應位置的內容。

str='adgddsgsgs'
print(str[0:2])
print(str[1:])#1到最後一個
print(str[0:-2])#0到倒數第二個
print(str[0:5:2])#首尾和 跳的間隔

str="hello zhang sai"
print(str.find('zhang',0,12))#如果為false返回-1
#str.index()用法一樣。如果錯誤會報異常

str='zhang zhang zhang sai sai'
print(str.count('zhang'))
print(str.count('sai',0,12))

name="aa aa aa aa bb"
name=name.replace('aa','cc')#老字串,新字串 print(name) name=name.replace('cc','aa',2)#最多替換兩次 print(name) str='ha hah hhahah hha' str1=str.split(' ',2)#陣列 print(str1[1]) str=str.capitalize() print(str)#第一個字元大寫 str=str.title() print(str)#每個單詞開頭都大寫 #str.startswith('Ha') bool型別 #str.endswith('Hha') print(str.lower()) print(str.upper()) #左右對齊,居中 print(str.ljust(40)) print(str.rjust(50)) print(str.center(50)) #mystr.lstrip() mystr.rstrip() 左右字串去除空格 print(' sg dg '.strip()) #rfind rindex print(str.rfind('ha'))#右側開始找 #partition rpartition splitlines(按照行分割) str.isalpha()是否全是字母 是否全是數字 #isalnum 字母或數字 isspace只包含空格 name=['zhang','sao','hfs'] str3='=' str3=str3.join(name) print(str3)#相當於name後面加str3構成新字串
  • 對應的輸出為:
ad
dgddsgsgs
adgddsgs
agd
6
3
0
cc cc cc cc bb
aa aa cc cc bb
hah
Ha hah hhahah hha
Ha Hah Hhahah Hha
ha hah hhahah hha
HA HAH HHAHAH HHA
Ha Hah Hhahah Hha                       
                                 Ha Hah Hhahah Hha
                Ha Hah Hhahah Hha                 
sg  dg
15
zhang=sao=hfs

3:陣列列表:python的陣列跟Java還是不一樣的,首先,java和其他的陣列要宣告陣列的類別,而python不需要,python的陣列就像map/json陣列一樣,可以放入各種資料。還有一起其他的強大功能。例如:

a=[1,2,3,4]
b=[8,9]
a.append(b)
print(a)
print(a[4][0])
a=[1,2,3,4]
a.extend(b)
print(a)
a.insert(2,99)#位置,內容a[2]=99;
print(a)

輸出為:

[1, 2, 3, 4, [8, 9]]
8
[1, 2, 3, 4, 8, 9]
[1, 2, 99, 3, 4, 8, 9]

4:迴圈語句:
python的迴圈以及函式的定義格式很類似,python的主要遍歷用for x in y:格式

i=10
while i>0:
    print(i,end='')
    i-=1
print()
name='zhangsai'
for x in name:#遍歷
    print(x,end='')
print()
for o in range(5,10):
    print(o,end='')
print()
c='c0';
print('c='+c)#只有字串可以直接加減
for o in range(0,15,4):#   其他語言  for(int o=0;o<15;o+=4)
    print(o,end='')

輸出為:

10987654321
zhangsai
56789
c=c0
04812
import random

# 定義一個列表用來儲存3個辦公室
offices = [[],[],[]]

# 定義一個列表用來儲存8位老師的名字
names = ['A','B','C','D','E','F','G','H']

i = 0
for name in names:
    index = random.randint(0,2)
    offices[index].append(name)
i = 1
for tempNames in offices:
    print('辦公室%d的人數為:%d'%(i,len(tempNames)))
    i+=1
    for name in tempNames:
        print("%s--"%name,end='')
    print("\n")#輸出空行
    print("-"*20)#竟然還有這種操作輸出20個-

輸出

辦公室1的人數為:3
C--E--G--

--------------------
辦公室2的人數為:2
D--H--

--------------------
辦公室3的人數為:3
A--B--F--

--------------------

5:元組和字典
元組:Python的元組與列表類似,不同之處在於元組的元素不能修改。
元組使用小括號,列表使用方括號。
元組建立很簡單,只需要在括號中新增元素,並使用逗號隔開即可。
字典:Python 字典(Dictionary)
字典是另一種可變容器模型,且可儲存任意型別物件。
字典的每個鍵值 key=>value 對用冒號 : 分割,每個鍵值對之間用逗號 , 分割,整個字典包括在花括號 {} 中

a1=(88,99,'張賽')
for a in a1:
    print('%s '%a,end='')
print('\n')
print(a1[2]+'eheh')
#index count

info={'name':'zhangsai','age':100}
print(info['name'])
age=info.get('name')
print(age)#沒有的化會報noll

info = {'name': '班長', 'sex': 'f', 'address': '地球亞洲中國北京'}

print('刪除前,%s' % info['name'])
#刪除操作
del info['name']

print('刪除後,%s' % info['sex'])

info = {'name': 'monitor', 'sex': 'f', 'address': 'China'}

print('清空前,%s' % info)

info.clear()

print('清空後,%s' % info)