Python基礎學習筆記(一)

来源:https://www.cnblogs.com/tongtongtong/archive/2018/06/07/9138259.html
-Advertisement-
Play Games

因為自己有一些編程經驗,所以在學習Python的過程中過於急功近利,導致自己現在基礎不牢,所以專門又回過頭來複習一遍Python的基礎知識點。算是對自己的學習Python的整理和總結。夯實基礎,打牢基礎,才能走的更遠。 第一部分我打算著重總結一下Python的內置的數據結構。下麵的代碼都是親測可用的 ...


       因為自己有一些編程經驗,所以在學習Python的過程中過於急功近利,導致自己現在基礎不牢,所以專門又回過頭來複習一遍Python的基礎知識點。算是對自己的學習Python的整理和總結。夯實基礎,打牢基礎,才能走的更遠。

       第一部分我打算著重總結一下Python的內置的數據結構。下麵的代碼都是親測可用的。

首先,我們在編程時不可避免地在代碼中使用到漢字,所以這裡涉及就到Python編碼的問題。為了能夠在代碼中使用漢字,在註釋時能使用漢字,一般在程式的開頭額外需要加一條語句。這條語句的作用就是告訴電腦系統,代碼是按UTF-8格式保存的。

1 # -*- coding: utf-8 -*-

1.按照慣例,先來一個Hello World的程式,這個程式恰好反映出Pyhton短小精煉的語言特點。



1 print "Hello, World!"
2 print ("Hello, World!")

 

2.字元串:字元串是指用' '或" "括起來的任意文本。也可以用''' '''這種格式表示多行內容。

word = 'word'
sentence = "這是一個句子。"
paragraph = """這是一個段落。
包含了多個語句"""

print word    
#anwser  word
print sentence  
 #anwser 這是一個句子
print paragraph 
#anwser
這是一個段落。
包含了多個語句

       如果在字元串內部既有 ' 又有 " ,則可以使用轉義字元 \ 來標識區分哪些是字元串本身的內容。

1 a='i\'m\"OK\"!'
2 print a
3 #anwser  i'm"OK"!

      Python也允許使用r' '來表示’ ‘內部的字元串預設不轉義。

1 b='\\'
2 print b  #anwser \
3 c='\\\t\\'
4 print c
5 #anwser \t表示跳到下一個製表符
6 \    \
7 #使用r' '不轉義
8 print r'\\\t\\'
9 \\\t\\

      字元串的切片操作。字元串的第一個字元的標號是從0開始。

1 str = 'Hello World!'
2 print str   # 輸出完整字元串
3 print str[0]   # 輸出字元串中的第一個字元
4 print str[2:5]   # 輸出字元串中第三個至第五個之間的字元串
5 print str[2:]   # 輸出從第三個字元開始的字元串
6 print str[3:-1]  #從右往左數第一個字元標號是-1
7 print str * 2   # 輸出字元串兩次
8 print str + "TEST" # 輸出連接的字元串

3.列表(list):列表是一個可變的有序表,可以使用列表元素的索引來訪問列表元素。第一個元素的索引仍然是0。

1 list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
2 tinylist = [123, 'john']
3 
4 print list # 輸出完整列表
5 print list[0] # 輸出列表的第一個元素
6 print list[1:3] # 輸出第二個至第三個的元素 
7 print list[2:] # 輸出從第三個開始至列表末尾的所有元素
8 print tinylist * 2 # 輸出列表兩次
9 print list + tinylist # 列印組合的列表

           列表的一些操作函數:增加元素append(),插入元素insert(),刪除元素pop()。

1 tinylist.append('abc')  #在列表末尾增加元素
2 tinylist.insert(1,99)   #在索引為1的位置插入元素
3 tinylist.pop()  #在列表末尾刪除元素  返回刪除的元素
4 tinylist.pop(1)  #在索引為1 的位置刪除元素,返回刪除的元素

          對列表元素的更改就很簡單了,直接對索引位置進行賦值。

4.元組(tuple):元組也是Python內置的一個有序集合,它和列表有些類似,但是元組在初始化後就不能修改。是不可變對象。

1 tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 )
2 tinytuple = (123, 'john')
3 
4 print tuple # 輸出完整元組
5 print tuple[0] # 輸出元組的第一個元素
6 print tuple[1:3] # 輸出第二個至第三個的元素 
7 print tuple[2:] # 輸出從第三個開始至列表末尾的所有元素
8 print tinytuple * 2 # 輸出元組兩次
9 print tuple + tinytuple # 列印組合的元組

        元組由於是不可變的數據集合,所以不能修改其中的元素,但是元組元素的訪問方式和列表相同。

5.字典(dict):字典也是一種無序的數據集合,但是它使用鍵—值(key-value)進行存儲,具有很快的查找速度。

dict={}
dict['one']=1
print dict
#anwser  {'one': 1}
dict[2]='two'
print dict
#anwser {2: 'two', 'one': 1}

       把數據放入字典的方式,除了初始化的時候指定外,還可以通過鍵(key)放入。另外若是想刪除字典的數據,同樣使用pop(key)函數,鍵-值數據均會刪除。

1 tinydict[34]=66  #往字典里增加數據
2 tinydict['name']='Bob'  #也可以通過key修改字典里的數據
3 tinydict.pop('code')  #刪除鍵為‘code’的數據

       最後需要註意的是,字典的極快的查找速度是利用哈希演算法實現的,是通過key來計算value的存儲位置的,所以這就必須要求鍵(key)是不可變對象。

最後,這第一部分的Python基礎知識就總結到這吧,希望自己每天都可以進步一點點,每天都可以提升自己的能力。


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

-Advertisement-
Play Games
更多相關文章
  • 轉自:https://my.oschina.net/editorial-story/blog/1808757 本文是學習大型分散式網站架構的技術總結。對架構一個高性能、高可用、可伸縮及可擴展的分散式網站進行了概要性描述,並給出一個架構參考。文中一部分為讀書筆記,一部分是個人經驗總結,對大型分散式網站 ...
  • Java開源生鮮電商平臺-定時器,定時任務quartz的設計與架構(源碼可下載) 說明:任何業務有時候需要系統在某個定點的時刻執行某些任務,比如:凌晨2點統計昨天的報表,早上6點抽取用戶下單的佣金。 對於Java開源生鮮電商平臺而言,有定時推送客戶備貨,定時計算賣家今日的收益,定時提醒每日的提現金額 ...
  • 本文基於 jdk 1.8 。 CountDownLatch 的使用 "前面的文章" 中說到了 volatile 以及用 volatile 來實現自旋鎖,例如 java.util.concurrent.atomic 包下的工具類。但是 volatile 的使用場景畢竟有限,很多的情況下並不是適用,這個 ...
  • 譯者註:這是一篇很棒文章,使用有趣的敘述方式,從反面講解了作為一個優秀的 PHP 工程師,有哪些事情是你不能做的。請註意哦,此篇文章羅列的行為,都是你要儘量避免的。 隨著失業率越來越高,很多人意識到保全自己的工作是多麼的重要。那麼,什麼是保住自己工作,並讓自己無可替代的好方法呢?一個很簡單的事實是只 ...
  • 用 STS 創建 Maven 項目並不複雜,只是其中有一些坑在裡面,我在解決這些坑的時候發現很多人都遇到了相同的問題,因此把創建的步驟記錄在這裡。所有的步驟不外乎就是一些套路,並沒有什麼複雜的地方,只是在被套路的時候,找解決方法真是很煩人的一件事情。畢竟不是什麼大的技術問題,只是一個工具的使用,難道 ...
  • Java中的訪問控制修飾符一:Java修飾符的種類;二:訪問控制修飾符;1.預設訪問修飾符-不使用任何關鍵字;2.私有訪問修飾符-private;3.公有訪問修飾符-public;4.受保護的訪問修飾符-protected; ...
  • 本文參考《深入理解java虛擬機第二版》 一。什麼是線程安全? 這裡我借《Java Concurrency In Practice》裡面的話:當多個線程訪問一個對象,如果不考慮這些線程在運行時環境下的調度和交替執行,也不需要額外的同步,或者調用方進行任何其他的協調操作,調用這個對象的行為都可以獲得正 ...
  • 11.1.前臺用戶模型創建 (1)apps/front/models.py 首先安裝:pip install shortuuid (2)manage.py (3)生成表和添加前臺用戶 添加用戶 11.2.註冊界面完成 (1)front/views.py (2)common/images/logo.j ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...