day01 Python基礎

来源:https://www.cnblogs.com/cooperstar/archive/2019/06/24/11079787.html
-Advertisement-
Play Games

課程作業: ...


python基礎:

一 編程語言

什麼是編程語言?
上面提及的能夠被電腦所識別的表達方式即編程語言,語言是溝通的介質,而編程語言是程式員與電腦溝通的介質。在編程的世界里,電腦更像是人的奴隸,人類編程的目的就命令奴隸去工作。

什麼是編程?
編程即程式員根據需求把自己的思想流程按照某種編程語言的語法風格編寫下來,產出的結果就是包含一堆字元的文件。

強調:
程式在未運行前跟普通文件無異,只有程式在運行時,文件內所寫的字元才有特定的語法意義。

二 電腦組成部分
CPU
記憶體
外存
輸入設備
輸出設備

三 python的安裝與使用
1.安裝python解釋器
2.安裝pycharm編輯器
3.編寫python代碼,並輸出列印hello world!


四 變數
可變化的量。
變數值: 是真實存放在記憶體中的一塊記憶體地址。
變數名: 用於與變數值綁定關係的。
賦值=號: 將變數的值綁定給變數名的。

五 常量
不可變的量。
以全大寫命名。
並不是不能對其修改,而是大家都規定好凡是全大寫的變數都稱之為常量,不可對其進行修改。

六 用戶與程式交互
輸入:
input()
 1 name = input("input your name:") 
輸出:
print()
1 #輸出字元串
2  print("cjw")
3 #輸出變數
4  name = 'tank'
5  print (name)  #tank

 


七 格式化輸出
尊敬的用戶,你好!您本月的話費扣除99元,還剩0元。

# 通過某種占位符,用於替換字元串中某個位置的字元。

占位符:
%s: 可以替換任意類型
1 #把100替換給%s
2  str_01 =  '尊敬的用戶,您好!您本月的話費已經扣除%s元,還剩0元。'%100 
3 # 尊敬的用戶,您好!您本月的話費已經扣除100元,還剩0元。

%d: 可以替換數字類型
1 #把一百替換給%s,50替換給%d
2 str_01 =  '尊敬的用戶,您好!您本月的話費已經扣除%s元,還剩%d元。'%('一百',50)
3 print(str_01)
4 # 尊敬的用戶,您好!您本月的話費已經扣除一百元,還剩50元。

 



示例:
尊敬的用戶,你好!您本月的話費扣除%s元,還剩%d元。
1 #把一百替換給%s,50替換給%d
2 str_01 =  '尊敬的用戶,您好!您本月的話費已經扣除%s元,還剩%d元。'%('一百',50)
3 print(str_01)
4 # 尊敬的用戶,您好!您本月的話費已經扣除100元,還剩50元。

 



八 基本數據類型
1.數字類型:
整型: int
1 # int
2 age = int(3)
3 print(age)
4 print(type(age))
5 
6 age2 = 11
7 print(age2)
8 print(type(age2))

浮點型: float
      # float sal = 1.04 print(sal) print(type(sal)) 
2.字元串類型
作用:名字,性別,國籍,地址等描述信息

定義:在單引號\雙引號\三引號內,由一串字元組成
name='tank'
       1 name = 'cjw' 
優先掌握的操作:
1、按索引取值(正向取+反向取) :只能取
1 # 1、按索引取值(正向去+反向取):只能取
2 # 正向取
3 str1 = 'hello cjw!'
4 print(str1[0]) #h
5 print(str1[6]) #c
6 
7 #反向取
8 print(str1[-3])  #j

2、切片(顧頭不顧尾,步長)
1 # 2、切片
2 srt1 = 'hello cjw!'
3 # 0 — (5 - 1)
4 print(str[0:5]) #hello
5 
6 # 步長
7 print(str1[0:10]) #hello cjw!
8 print(str1[0:10:2])  #heocw 

3、長度len
 1 print(len(str1)) #10 
            4、成員運算in和not in

1 #成員運算in和not in
2 print('h' in str1)     #Ture
3 print('h' not in str1)     #False

5、移除空白strip
1 #移除字元串左右兩邊的空額
2 str1 = '    hello cjw!   '    
3 print(str1)
4 print(str1.strip())
5 
6 #去掉指定字元串
7 str2 = '@cjw@'
8 print(str2.strip('@'))

6、切分split
str1 = 'hello cjw!'
#根據str1內的空格進行切分
#切出來的值會存放在[]列表中。
print(str1.split(' '))     #['hello','cjw!']

7、迴圈
 1 #對str1字元串進行遍歷,列印每個字元
 2 for line in str1:
 3     print(line)
 4 #h 
 5 #e
 6 #l
 7 #l
 8 #o
 9 #
10 #c
11 #j
12 #w
13 #!

 


需要掌握的:
1、strip,lstrip,rstrip
       
1 # 1、strip,lstrip,rstrip
2   str1 = 'hello wuyuefeng'
3   print(str1)
4 #  去掉兩邊空格
5   print(str1.strip())
6 #  去掉左邊空格
7 # print(str1.lstrip())
8 #  去掉右邊空格
9  print(str1.rstrip())

2、lower,upper
1 # 2、lower,upper
2  str1 = 'hello WuYueFeng'
3 #  轉換成小寫
4 # print(str1.lower())
5 #  轉換成大寫
6  print(str1.upper())

3、startswith,endswith
1 # 3、startswith,endswith
2  str1 = 'hello WuYueFeng'
3 #  判斷str1字元開頭是否等於hello
4  print(str1.startswith('hello'))  # True
5 #  判斷str1字元末尾是否等於WuYueFeng
6  print(str1.endswith('WuYueFeng'))  # True

4、format的三種玩法
 1 #  4、format(格式化輸出)的三種玩法
 2 #  str1 = 'my name is %s, my age %s!' % ('tank', 18)
 3  print(str1)
 4 
 5 #  方式一:  根據位置順序格式化
 6  print('my name is {}, my age {}!'.format('tank', 18))
 7 
 8 #  方式二:  根據索引格式化
 9  print('my name is {0}, my age {1}!'.format('tank', 18))
10 
11 #  方式三:  指名道姓地格式化
12  print('my name is {name}, my age {age}!'.format(age=18, name='tank'))

5、split,rsplit
 1 # 5、split 切分 
6、join
1 # 6、join 字元串拼接
2 # 報錯,只允許字元串拼接
3  print(' '.join(['tank', 18]))
4 #  根據空格,把列表中的每一個字元串進行拼接
5  print(' '.join(['tank', '18', 'from GZ']))
6 #  根據_,把列表中的每一個字元串進行拼接
7  print('_'.join(['tank', '18', 'from GZ']))

       7、replace
1 # 7、replace:字元串替換
2  str1 = 'my name is WangWei, my age 73!'
3  print(str1)
4  str2 = str1.replace('WangWei', 'sb')
5  print(str2)

8、isdigit
1 # 8、isdigit:判斷字元串是否是數字
2 choice = input('請選擇功能[0, 1, 2]: ')
3 # 判斷用戶輸入的選擇是否是數字
4 print(choice.isdigit())

 

課程作業:

  

寫代碼,有如下變數,請按照要求實現每個功能:
name = " aleX"

1) 移除 name 變數對應的值兩邊的空格,並輸出處理結果
2) 判斷 name 變數對應的值是否以 "al" 開頭,並輸出結果

3) 判斷 name 變數對應的值是否以 "X" 結尾,並輸出結果

4) 將 name 變數對應的值中的 “l” 替換為 “p”,並輸出結果
5) 將 name 變數對應的值根據 “l” 分割,並輸出結果。
6) 將 name 變數對應的值變大寫,並輸出結果

7) 將 name 變數對應的值變小寫,並輸出結果

8) 請輸出 name 變數對應的值的第 2 個字元?
9) 請輸出 name 變數對應的值的前 3 個字元?
10)請輸出 name 變數對應的值的後 2 個字元?

11)請輸出 name 變數對應的值中 “e” 所在索引位置?

12)獲取子序列,去掉最後一個字元。如: oldboy 則獲取 oldbo。
 1 #寫代碼,有如下變數,請按照要求實現每個功能:
 2     name = " aleX"
 3 
 4     #1) 移除 name 變數對應的值兩邊的空格,並輸出處理結果
 5         print(name.strip())
 6     #2) 判斷 name 變數對應的值是否以 "al" 開頭,並輸出結果 7         #print('a1' in name[0:2])
 8         print(name.startswith('al'))
 9     #3) 判斷 name 變數對應的值是否以 "X" 結尾,並輸出結果10         #print('X' in name[-1])
11         print(name.endswith('Nb'))
12     #4) 將 name 變數對應的值中的 “l” 替換為 “p”,並輸出結果
13         print(name.replace('1','p'))
14     #5) 將 name 變數對應的值根據 “l” 分割,並輸出結果
15         print(name.split('1'))
16     #6) 將 name 變數對應的值變大寫,並輸出結果17         print(name.upper())
18     #7) 將 name 變數對應的值變小寫,並輸出結果19         print(name.lower())
20     #8) 請輸出 name 變數對應的值的第 2 個字元?
21         print(name[1])
22     #9) 請輸出 name 變數對應的值的前 3 個字元?
23         print(name[0:3])
24     #10)請輸出 name 變數對應的值的後 2 個字元?25         print(name[-2:2])
26     #11)請輸出 name 變數對應的值中 “e” 所在索引位置?27         loc = []
28         for i, j in enumerate(name):
29          if j == 'e':
30          loc.append(i)
31        print(loc)
32 
33     #12)獲取子序列,去掉最後一個字元。如: oldboy 則獲取 oldbo。
34         print(name[:-1])

 


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

-Advertisement-
Play Games
更多相關文章
  • [TOC] 題目 "戳" 思路 利用Prim求該圖的最小生成樹,然後找到當中最大的那個數值輸出,具體看代碼吧,qwq。 _Code_ cpp include include include include include define max_(a,b) a b?a:b; using namespa ...
  • 所屬網站分類: 程式員的那點事 作者:慧雅 鏈接: http://www.pythonheidong.com/blog/article/277/ 來源:python黑洞網 www.pythonheidong.com “我打算年後第一天上班就提離職,下家已經找好了。”程式員海濱說。 他猶豫道,“我這樣 ...
  • 一、快速排序的介紹 快速排序(英語:Quicksort),又稱劃分交換排序(partition-exchange sort),通過一趟排序將要排序的數據分割成獨立的兩部分,其中一部分的所有數據都比另外一部分的所有數據都要小,然後再按此方法對這兩部分數據分別進行快速排序,整個排序過程可以遞歸進行,以此 ...
  • 裝飾模式:就是動態地給一個對象添加一些額外的職責(功能)。那麼如何動態的給一個對象添加功能呢,以下給出了例子。 測試的結果為: hatpantsT-shirt穿衣服的人 根據具體裝飾類的創建順序的改變,結果也會“動態”變化。 測試的結果為: hatT-shirtpants穿衣服的人 總結:當給一個類 ...
  • [TOC] Socket抽象層 我們知道兩個進程如果需要進行通訊最基本的一個前提是能夠唯一標示一個進程,在本地進程通訊中我們可以使用PID來唯一標示一個進程,但PID只在本地唯一,網路中的兩個進程PID衝突幾率很大,這時候我們需要另闢它徑了,我們知道IP層的IP地址可以唯一標示主機,而TCP層協議和 ...
  • 昨天的問題解決了,用戶界面一分為三,原本的用戶頁面變成了現在的瀏覽歷史界面,並多了一個修改信息界面和收貨地址設置界面。同時,購物車和訂單的代碼完善,之前的bug進行修改。前臺顯示算是完成了。還差管理員的管理界面,以及填充資料庫了。哦,對了,我今天新加了一個表,專門用來存收貨地址,和用戶表是n對1的。 ...
  • 摘要: 根評論(文章的普通評論) 子評論(一篇文章中評論的評論) 一、根評論(普通的評論) ①文章詳情下方點贊的下方評論區頁面的搭建(渲染): article_detail.html頁面: 這裡提交評論的數據請求到後端,需要新建一個路由專門處理評論數據 urls.py路由文件 先看看效果 點擊提交評 ...
  • 與C表達式 bool ? a : b類似,但是bool and a or b,當 a 為假時,不會象C表達式 bool ? a : b 一樣工作 應該將 and-or 技巧封裝成一個函數: def choose(bool, a, b): return (bool and [a] or [b])[0] ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...