數據類型(二) 今日內容 1、列表 2、元組 內容回顧和補充 1、電腦基礎 ①硬體:cpu,記憶體,硬碟,主板,網卡 ②操作系統:linux,centos, Ubuntu,redhat windows mac ③解釋器,編譯器 補充:編譯型語言和解釋型語言 編譯型:寫完代碼後,編譯器一次性編譯交給計 ...
數據類型(二)
今日內容
1、列表
2、元組
內容回顧和補充
1、電腦基礎
①硬體:cpu,記憶體,硬碟,主板,網卡
②操作系統:linux,centos, Ubuntu,redhat
windows
mac
③解釋器,編譯器
補充:編譯型語言和解釋型語言
編譯型:寫完代碼後,編譯器一次性編譯交給電腦。c,c++,java,c#,go
解釋型:寫完代碼交給解釋器,一行一行解釋,從上到下進行。py,php,ruby
④軟體:應用程式
2、環境安裝
①py解釋器,py2,py3
②開發工具:pycharm/文本編輯器
3、py語法
解釋器路徑:#!/usr/bin/env python
linux系統應用:賦予文件可執行許可權:chmod +x hello.py;. ./hello.py;source hello.py
①if,elif,else,while,break,contine
②編碼
編碼種類:acsii,unicode,utf-8,utf-16,bgk/gb2312
中文表示:
utf-8:3位元組
gbk:2位元組
py預設編輯器編碼:
py3:utf-8
py2:ascii
③輸入輸出:
py2:
輸入:raw_input
輸出:print“ ”
py3:
輸入:input
輸出:print()
④數據類型
整型,int:
py2中有:int/long;py3中有int。
強制轉換:int(‘67’)
除法:py2,import( from__ future__ import division) ,py3預設精確計算除法。
布爾類型,bool:
true/False 其他語言:true/false
特殊為False的其他類型:0和“”
字元串,str:
獨有功能:
upper,lower
replace
strip,lstrip,rstrip
isdigit
startwith(' ') ,endwith('')以什麼開頭,結尾
join:連接,"**".join(name)
name='alex'
print('_'.join(name))#迴圈每個元素,以_進行連接。
格式化:format(類似%占位符)
name="我叫{0},年齡:{1}".format('老男孩',73)
print(name)
編碼:encode
name='李傑',解釋器讀取到記憶體後,按照Unicode編碼存儲
V1=name.encode('utf-8')
print(v1)
v2=name.encode('gbk')
print(v2)
公共特性:
長度:len,後去字元串長度。
索引:獲取一個字元。
切片:獲取一段字元串。
步長:name='alexalexalsc'
val=name[0:-1:2]---2是步長 val=name[-1:0:-2]--步長是負,從右到左取值
索引為負,從右到左。
val=name[::-1] 將字元串反轉
print(val)
for 迴圈
name='alex' for item in name: print(item) name='alex' for item in name: print(itsm) break print(123) name='alex' for item in name: print(itsm) continue print(123)
for迴圈列印字元串的每個元素:for>while。
死迴圈:while > for。
break:跳出全部迴圈
continue;跳出本次迴圈,進行下次迴圈
列印數字:range(0,10)
for i in range(0,10):
if i==7:(if i!=7:print(i))
pass/contine
else:
print(i)
註意:for,while使用環境,while無窮盡。
布爾型
True,False
False:0和空字元
輸入輸出
py2:輸入:raw_input
輸出:pinrt" "
py3:輸入:input()
輸出:print()
變數
字母數字下劃線
條件語句,迴圈語句
while,for,break,continue
運算符
字元串格式化,format
%s,
%d,
%%取百分號
編碼
acsii
unicode
utf-8/utf-16
gbk/gb2312
中文表示:utf-8,3位元組,gbk,2位元組
解釋器路徑:
#!/usr/bin/env python
今日內容詳細
1、列表
表示多個事物,使用列表。
user=['alex','zhangsan','lilei',99]
公共功能:
len:列表len,按照逗號計算
索引:從0開始。
切片:user]0:2]
步長:user[0:5:2],2是步長。
練習題:
"""
實現一個整數加法計算器(兩個數相加):
如:content = input("請輸入內容:") 用戶輸入:5+9或5+ 9或5 + 9(含空白),然後進行分割轉換最終進行整數的計算得到結果。
"""
方法1
num=[]
content=input('請輸入加法:')
content=content.strip()
num=content.split('+')
print(num)
num1=int(num[0])
num2=int(num[1])
print(num1+num2)
方法2
num=[]
content=input('請輸入加法:')
l=len(content)
print(l)
for i in range(l):
if content[i].isdigit():
num.append(content[i])
print(int(num[0])+int(num[1]))
方法3:
num=[]
content=input("請輸入加法:")
content=content.split('+')
n1=int(content[0])
n2=int(content[-1])
print(n1+n2)
for迴圈:(字元串,列表,可嵌套)
輸入:66+99,輸出相應的結果。
通過for迴圈和數字計數器實現:
users=['zhangsan','lisi','wangwu']
輸出每個名字,帶索引號
# 練習題:請通過for迴圈和數字計數器實現:users = ['李邵奇','利奇航','張三豐','李子森']
"""
0 李邵奇
1 利奇航
2 張三豐
3 李子森
"""
users = ['李邵奇','利奇航','張三豐','李子森']
l=len(users)
for i in range(l):
print(i,users[i])
print("方法二")
count=0
for i in users:
print(count,i)
count+=1
刪除:
del users[1]##刪除索引1的元素。
字元串本省不能刪除或者修改,列表可以。
修改:
users[2]=66
users[0][1]
列表的獨有功能:
append()
users=[]
while True:
name=input('please input:')
users.append(name)
print(users)
輸入次數限制:
users=[]
for i in range(0,3):---3次限制。
user=input('請輸入用戶名和密碼:')
users.append(user)
username=input('請輸入用戶名:')
password=input('請輸入密碼:')
for item in users:
result=item
user=result[0]
pwd=result[1]
if user==username and pwd==password:
print('登錄成功!')
else:
print('登錄失敗!')
users=[]
for i in range(3):
name=input('請輸入用戶名和密碼:')
users.append(name)
username=input('請輸入用戶名:')
password=input('請輸入密碼:')
for item in users:
name=users[0].split(',')[0]
psswd=users[0].split(',')[1]
if username==name and password==psswd:
print("登陸成功!")
break
else:
print("登陸失敗!")
break
insert
users.insert(1,'zhangsi')##在指定的索引位置插入元素。
remove:
users.remove('zhangsan')##刪除zhangsan
pop()
users.pop(2) ##刪除索引2元素
users.pop()##刪除最後一個元素
clear()##清空列表
列表總結:
增
append,insert
刪
remove,pop,clear,del users[2]
改
users[3]='wuxi'
查
索引,切片
列表嵌套:
users[3][2][0]
2、元組
元組書寫規範
users = [11,22,33,"老男孩"] # 列表(可變)
users = (11,22,33,"老男孩") # 元組(不可變)
公共功能
索引
users = (11,22,33,"老男孩")
print(users[0])
print(users[-1])
切片
users = (11,22,33,"老男孩")
print(users[0:2])
步長
users = (11,22,33,"老男孩")
print(users[0:2:2])
刪除(排除:tuple/str/int/bool)
修改(排除:tuple/str/int/bool)
for迴圈
users = (11,22,33,"老男孩")
for item in users:
print(item)
len
users = (11,22,33,"老男孩")
print(len(users))
獨有功能(無)
特殊:元組中的元素不可被修改,刪除。
# 示例一:
v1 = (11,22,33)
v1[1] = 999 # 錯誤
v1 = 999 # 正確
# 示例二:可以嵌套
v1 = (11,22,33,(44,55,66),(11,2,(99,88,),3))
# 示例三:嵌套
v2 = [11,22,33,(11,22,33)]
v2[-1][1] = 99 # 錯誤
v2[-1] = 123 # 正確
# 示例四:嵌套
v3 = (11,[1,2,3],22,33)
v3[1] = 666 # 錯誤
v3[1][2] = 123
內容總結:
1、解釋型語言和編譯型區別以及列舉你瞭解的語言。
2、字元串補充功能
獨有
- startswith、endswith
- format
- encode
- join
公共
- 切片
- 索引
- len
- 步長
- for迴圈
- range(0,10)
特性:不可變。
列表(可變)
公共
- 索引
- 切片
- 步長
- 修改
- 刪除
- for
- len
獨有
- append
- insert
- pop
- remove
- clear
列表嵌套
元組(不可變)
公共
- 索引
- 切片
- 步長
- for
- len
獨有功能(無)
元組嵌套