python筆記04

来源:https://www.cnblogs.com/cuiyongchao007/archive/2020/02/08/12284517.html
-Advertisement-
Play Games

數據類型(二) 今日內容 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

獨有功能(無)

元組嵌套


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 併發編程之線程第二篇 3.12 五種狀態 3.13 六種狀態 4.1 共用帶來的問題 4.2 synchronized解決方案 4.4 變數的線程安全分析 4.6 Monitor概念 1. 輕量級鎖 2. 鎖膨脹 3.12 五種狀態 這是從操作系統層面來描述的 【初始狀態】僅是在語音層面創建了線程對 ...
  • 上一篇我們看了一下這個隊列ConcurrentLinkedQueue,那就是一個無界非阻塞鏈表,我們這次來看看LinkedBlockingQueue,這個隊列看名字就知道是一個阻塞式隊列(也就是一個單向鏈表),基於獨占鎖實現的,比較簡單; 一.LinkedBlockingQueue基本結構 內部也是 ...
  • unit2 面向對象 1.面向對象:封裝 繼承 多態 面向對象強調結果 面向過程強調步驟 2.類與對象:對象是具體的實體(行為+屬性),類是抽象的模板(成員方法+成員變數) 導包--創建對象--使用: import cn.itcast.first.demo06.Student;//導包 Studen ...
  • 如果我們像給任務配置監聽,按照常規的做法是這樣的 一個個配置,比較麻煩。 現在利用ActivitiEventListener,監聽全局事件,並且可以判斷不同的事件類型,進而執行不同的業務邏輯。 1.定義事件處理handler介面 用介面來定義統一約定 2.實現不同事件 任務結束事件 任務創建事件 還 ...
  • 列印九九乘法表 #include <stdio.h> int main() { int n,i,j; for (i=1;i<=9;i++) printf("%-4d",i); printf("\n"); for(i=1;i<=9;i++) for(j=1;j<=i;j++) { printf("%- ...
  • 集成MyBatis (1)在pom.xml中添加依賴 <!-- mybatis的起步依賴。包含了mybatis、mybatis-spring、spring-jdbc(事務要用到)的坐標 --> <dependency> <groupId>org.mybatis.spring.boot</groupI ...
  • 慕課網-bennyhuo-新版Kotlin從入門到精通 筆記 微雲:https://share.weiyun.com/81aa12bb98016e200add31fb8e191cdf百度網盤:鏈接:https://pan.baidu.com/s/1IiClTkQwFJgBL2NqlptKbA 提取碼 ...
  • 查詢緩存 一級緩存:同一個sqlSession對象 MyBatis預設開啟一級緩存,如果用同樣的sqlSession對象查詢相同的數據,則會在第一次查詢時向資料庫發送SQL語句,並將查詢的結果放入到SQLSESSION中,後續再次查詢該同樣的對象時,則直接從緩存中查詢該對象即可(即忽略了資料庫的訪問 ...
一周排行
    -Advertisement-
    Play Games
  • 基於.NET Framework 4.8 開發的深度學習模型部署測試平臺,提供了YOLO框架的主流系列模型,包括YOLOv8~v9,以及其系列下的Det、Seg、Pose、Obb、Cls等應用場景,同時支持圖像與視頻檢測。模型部署引擎使用的是OpenVINO™、TensorRT、ONNX runti... ...
  • 十年沉澱,重啟開發之路 十年前,我沉浸在開發的海洋中,每日與代碼為伍,與演算法共舞。那時的我,滿懷激情,對技術的追求近乎狂熱。然而,隨著歲月的流逝,生活的忙碌逐漸占據了我的大部分時間,讓我無暇顧及技術的沉澱與積累。 十年間,我經歷了職業生涯的起伏和變遷。從初出茅廬的菜鳥到逐漸嶄露頭角的開發者,我見證了 ...
  • C# 是一種簡單、現代、面向對象和類型安全的編程語言。.NET 是由 Microsoft 創建的開發平臺,平臺包含了語言規範、工具、運行,支持開發各種應用,如Web、移動、桌面等。.NET框架有多個實現,如.NET Framework、.NET Core(及後續的.NET 5+版本),以及社區版本M... ...
  • 前言 本文介紹瞭如何使用三菱提供的MX Component插件實現對三菱PLC軟元件數據的讀寫,記錄了使用電腦模擬,模擬PLC,直至完成測試的詳細流程,並重點介紹了在這個過程中的易錯點,供參考。 用到的軟體: 1. PLC開發編程環境GX Works2,GX Works2下載鏈接 https:// ...
  • 前言 整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本為 v11 最新的版本。 開源項目 從零手寫實現 tomcat minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。 系列文章 web server apache tomcat11-01-官方文檔入門介紹 web serv ...
  • 1、jQuery介紹 jQuery是什麼 jQuery是一個快速、簡潔的JavaScript框架,是繼Prototype之後又一個優秀的JavaScript代碼庫(或JavaScript框架)。jQuery設計的宗旨是“write Less,Do More”,即倡導寫更少的代碼,做更多的事情。它封裝 ...
  • 前言 之前的文章把js引擎(aardio封裝庫) 微軟開源的js引擎(ChakraCore))寫好了,這篇文章整點js代碼來測一下bug。測試網站:https://fanyi.youdao.com/index.html#/ 逆向思路 逆向思路可以看有道翻譯js逆向(MD5加密,AES加密)附完整源碼 ...
  • 引言 現代的操作系統(Windows,Linux,Mac OS)等都可以同時打開多個軟體(任務),這些軟體在我們的感知上是同時運行的,例如我們可以一邊瀏覽網頁,一邊聽音樂。而CPU執行代碼同一時間只能執行一條,但即使我們的電腦是單核CPU也可以同時運行多個任務,如下圖所示,這是因為我們的 CPU 的 ...
  • 掌握使用Python進行文本英文統計的基本方法,並瞭解如何進一步優化和擴展這些方法,以應對更複雜的文本分析任務。 ...
  • 背景 Redis多數據源常見的場景: 分區數據處理:當數據量增長時,單個Redis實例可能無法處理所有的數據。通過使用多個Redis數據源,可以將數據分區存儲在不同的實例中,使得數據處理更加高效。 多租戶應用程式:對於多租戶應用程式,每個租戶可以擁有自己的Redis數據源,以確保數據隔離和安全性。 ...