Python基礎一: 電腦基礎,Python相關介紹,變數,常量,註釋,基礎數據類型(int,str,bool),用戶交互input,流程式控制制語句if

来源:https://www.cnblogs.com/xiaomage666/archive/2019/05/02/10803341.html
-Advertisement-
Play Games

1.CPU 記憶體 硬碟 操作系統 CPU:電腦的運算和控制中心,相當於人類的大腦。 記憶體:用於暫時存放CPU中的運算數據,以及與硬碟等外部存儲器交換的數據。(暫時存儲數據,臨時載入數據及應用程式) 4G,8G,16G,32G 速度快,效率高,造價高 斷電數據丟失 硬碟:磁碟,長期存儲數據,存放文件 ...


1.CPU 記憶體 硬碟 操作系統

  • CPU:電腦的運算和控制中心,相當於人類的大腦。

  • 記憶體:用於暫時存放CPU中的運算數據,以及與硬碟等外部存儲器交換的數據。(暫時存儲數據,臨時載入數據及應用程式) 4G,8G,16G,32G

    • 速度快,效率高,造價高 斷電數據丟失
  • 硬碟:磁碟,長期存儲數據,存放文件,視頻,音頻等等。500G,1T

    • 造價相對低
  • 操作系統:是一個連接電腦硬體與所有軟體的一個軟體。

2.Python的發展與應用

  • Python的創始人為吉多·範羅蘇姆(Guido van Rossum)。

  • Python主要應用領域:

    雲計算:雲計算最火的語言, 典型應用OpenStack

    WEB開發: 眾多優秀的WEB框架, 典型WEB框架有Django
    科學運算、人工智慧: 典型庫NumPy, SciPy, Matplotlib, Enthought librarys,pandas
    系統運維: 運維人員必備語言
    金融:量化交易,金融分析,在金融工程領域,Python不但在用,且用的最多,而且重要性逐年提高。
    圖形GUI: PyQT, WxPython,TkInter

3.Python的歷史

  • Python崇尚優美、清晰、簡單

  • python2x,python3x源碼有區別:

    ​ python2x: C,java大牛貢獻源碼: 重覆代碼多,冗餘,代碼不規範。

    ​ python3x: 源碼規範,清晰,簡單

  • python3.x不向下相容

4.編程語言分類(重點)

  • 編譯型:將代碼一次性全部編譯成二進位,然後再執行。如C語言,C++,Go
    • 優點:執行效率高
    • 缺點:開發效率低,不能跨平臺
  • 解釋型:逐行解釋成二進位,逐行運行。如Python,PHP
    • 優點:開發效率高,可以跨平臺
    • 缺點:執行效率低
    • python是一門動態解釋性的強類型定義語言

5.Python的優缺點:

  • 優點:
    開發效率非常高
    高級語言
    可移植性
    可擴展性
    可嵌入性
  • 缺點:
    速度慢
    代碼不能加密
    線程不能利用多CPU問題

6.Python的種類:

  • Cpython:官方推薦解釋器,這個解釋器是用C語言開發的,所以叫CPython。可以將python代碼轉化成C語言能識別的位元組碼。
  • Jpython: Jython(Jpython)是運行在Java平臺上的Python解釋器,可以把python代碼轉化成Java語言能識別的位元組碼
  • Ironpython:可以轉化成.net語言能識別的位元組碼。
  • pypy: 動態編譯,一次性全部轉化
  • 註:不同解釋器書寫Python的規則一樣

7.安裝Python解釋器的流程

8.運行第一個Python代碼

print('hello 老鐵')

win+R ---cmd---輸入:python 空格 文件的路徑 回車

  • 所有的標點都要是英文的,print後的引號內可以有中文。
  • cmd下按方向鍵的上鍵可以選擇最近輸入的內容
  • Notepad++: 在上一行結尾按ctrl+d 將上一行內容全部複製。

9.變數(重點)

  • 變數:把程式運行的中間結果臨時的存在記憶體里,以便後續的代碼調用。
  • 變數只是一個指代關係,必須有實實在在對應的數據類型。同一個變數,在記憶體中只能出現一個。

  • 變數在記憶體中是唯一的,變數必須有它真正指向的實際數據。

why:使程式更加簡潔

print(1+2+3+4+5)

print((1+2+3+4+5)*3/2)

print((((1+2+3+4+5)*3/2)+100)/24)

# x,y,z 變數
x = 1+2+3+4+5
y = x*3/2
z = (y + 100) / 24
print(x,y,z)    #print輸出列印多個,用逗號分隔


x8 = 100  # True
b__ = 12  # True
4g = 32  # False  變數名不能以數字開頭
_ = 11  # True
*r = 12  # False  變數名只能由字母,數字,下劃線任意組合。
r3t4 = 10  # True    
t_ = 66  # True

# 變數的小高級:
age1 = 18
age2 = age1
age3 = age2
age2 = 12
print(age1,age2,age3)  # 18 12 18 

程式從上到下執行,變數只能指向數據,不能指向變數。
變數在記憶體是唯一命名的,不會出現兩個age2。出現多個age2,只有1個age2。

what:x y z 變數:代指一些內容

how變數命名規範

  • 變數全部由數字,字母,下劃線任意組合。
  • 不能以數字開頭。
  • 不能是python的關鍵字。
    • ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
  • 要具有描述性。見名知意 name= '太白金星'
  • 不能使用中文。
  • 不能過長。
  • 推薦
    • 駝峰體:AgeOfOldboy = 73
    • 下劃線:age_of_oldboy = 73 number_of_students = 56

where:

​ 代指一些複雜過長的數據。

content = '''sfkdsjalfjdslfksdjkfhsdajkfhsdjkfshdfsdkfhsdkfjsldakfjsdaflsdafjshdafjkdsfhkjsdlf

fskdfhsdkfhsdkjfhsdkjfhskdfhsdkjfhsdkfkhsdflsafksjdfhskdajfhskdjfhskda'''

10.常量

why :生活中一直不變的:π,身份證號碼,歷史發生的時間

what: 常量:一直不變的量或在程式運行過程中不會改變的量。python中沒有真正的常量,為了應和其他語言的口味,程式員約定俗成用變數名全部大寫代表常量

how: 將變數名全部大寫,放在文件的最上面

where: 設置一些不變的量 :身份證號,id等

​ BIRTH_OF_CHINA = 1949

# 常量
# 約定俗成,不能改變
NAME = '太白'
print(NAME   #太白

11.註釋(重點)

why:文言文中對一些晦澀難懂的成語或者經典的出處作解釋說明,便於你理解。

​ 便於你理解對方的代碼,自己的代碼。

what: 註釋

how: (怎麼用)

單行註釋: #

多行註釋: '''被註釋內容''' (3個單引號) """被註釋內容"""(3個雙引號)

where:(用在哪)

​ 難以理解的代碼後面,加註釋。

​ 函數,類,文件都需要註釋,解釋說明。

12.基礎數據類型(重點)

why:

​ 人類接觸一些信息會做一些比較精準的劃分。比如數字,漢字,英文......

​ 100, '中國' 機器是很傻的,你要是不給他區分,他是分辨不出來的。人要按一定規則區分,然後告訴它是什麼。

​ 我們告訴電腦:

​ 100 ,102 ,就是數字(int), 可以+ - * / ....

​ '中國','hello' ,'薩瓦迪卡' 文字,:用來記錄信息,描述信息等等。【單,雙引號均可】

​ [1, 2, 3, '中國'] 列表,他能做他相應的一些操作即可。

python的基礎數據類型

int(整型): 1 ,2, 123, ....

進行+ - * / . 運算
  • i = 100
    i1 = 2
    i2 = i*i1
    print(i2)  #200
    
    變數的數據類型:與變數指向的數據的數據類型相同。

str: 凡是用引號引起來的數據就稱之為字元串。

​ ' '," ", ''' ''' , """ """

 # str:
 s1 = 'day01'
 s2 = "Python22期"
 s2 = '''Python22期'''
 
 #單雙引號可以配合使用
 content = 'I am taibai, 18 year old'
 content = "I'm taibai, 18 year old"
 
 #三引號:用於換行的字元串,【多引號什麼作用呢?作用就是多行字元串必須用多引號】比如一首詩
 msg = '''
 今天我想寫首小詩,
 歌頌我的同桌,
 你看他那烏黑的短髮,
 好像一隻炸毛雞。
 '''
 print(msg)
 
 # str 可否加減乘除?     ------>  + *
 1.  str + str   字元串的拼接(重點)--字元串與字元串相加,相加就是簡單的拼接,字元串的拼接只能是雙方都是字元串
 
 s1 = 'alex'
 s2 = 'sb'
 print(s1 + s2)   #alexsb
 
 
 2.  str * int  ---字元串與整數相乘
 
 s1 = '堅強'
 print(s1*8)  #堅強堅強堅強堅強堅強堅強堅強堅強

bool :True False

# bool : True False    不帶引號
 print(2 > 1)   #True
 print(3 < 1)   #False
 print(True)    #True
 print('True')  #True          'True'是字元串
 直接列印出來,不能判斷是哪種類型。可以用 type() 查看:判斷該變數指向的數據是何種數據類型
 
  s1 = '100'
  s2 = 100
  print(s1,type(s1))    #100 <class 'str'>
  print(s2,type(s2))    #100 <class 'int'>

13.用戶交互input

why: 在網頁上,app上 輸入賬號與密碼。

what: 用戶交互input

how:

input: 通過input輸入的內容全部都是字元串類型。字元串要轉換成數據才能進行比較,如 int(age)
       引號內為提示信息。
#示例
username = input('請輸入用戶名:')
password = input('請輸入密碼:')
print(username,type(username))
print(password,type(password))

#運行結果:
請輸入用戶名:alex
請輸入密碼:123
alex <class 'str'>
123 <class 'str'>

#讓用戶輸入姓名,年齡,性別,然後列印一句話'我叫: ,今年:,性別:'

name = input('請輸入姓名:')  #將用戶輸入的內容賦值給 name 變數
age = input('請輸入年齡:')
sex = input('請輸入性別:')
msg = '我叫: ' + name + ',今年:' + age + ',性別:' + sex
print(msg)
#運行結果:
請輸入姓名:alex
請輸入年齡:18
請輸入性別:boy
我叫: alex,今年:18,性別:boy

name = '太白'
print(name) #太白    變數
print('name')#name  字元串,凡是用引號引起來的數據就稱之為字元串。

14.流程式控制制語句if

  1. why: 生活中的選擇,如回家,有n條路,你走哪條路,取決於你的心情。

    what: if語句具有分流作用 在程式里預設一些條件判斷語句,滿足哪個條件,就執行哪個條件下的代碼。這個過程就叫流程式控制制。

    how:

    • 強制縮進:目的是為了讓程式知道,每段代碼依賴哪個條件。

      Python的縮進有以下幾個原則:

      • 頂級代碼必須頂行寫,即如果一行代碼本身不依賴於任何條件,那它必須不能進行任何縮進
      • 同一級別的代碼,縮進必須一致
      • 官方建議縮進用4個空格
    • 基本結構:
      if 條件:
          結果
    1. 單獨if
      print(111)
      if 2 < 1:
          print(666)
          print(333)
      print(222)
      #結果:
      111
      222
      
    2. if else 二選一
      s1 = '100'
      print(s1,type(s1))  #100 <class 'str'>
      i1 = int(s1)
      print(i1,type(i1))  #100 <class 'int'>
      
      #示例
      age = input('請輸入年齡:')
      if int(age) > 18:             #字元串要轉換成數據才能進行比較,如 int(age)
          print('恭喜你,成年了!')
      else:
          print('小屁孩兒')
      
    3. if elif elif .... 多選一,只能選一個 :從上到下依次判斷,只要滿足一個條件,就不會再往下執行代碼
      num = int(input('猜點數:'))  #字元串轉換為整數
      if num == 1:
          print('晚上請你吃飯')
      elif num == 3:
          print('一起溜達')
      elif num == 2:
          print('請你大寶劍')
    4. if elif elif .... else 多選一
      num = int(input('猜點數:'))
      if num == 1:
          print('晚上請你吃飯')   
      elif num == 3:
          print('一起溜達') 
      elif num == 2:
          print('請你大寶劍')
      else:
          print('太笨了....')
      print('組合')
      #運行結果示例:
      請輸入數字:4
      太笨了....
      組合
      
    5. 嵌套的if
      username = input('請輸入用戶名:')
      password = input('請輸入密碼:')
      code = 'qwer'
      your_code = input('請輸入驗證碼:')
      if your_code == code:
          if username == 'taibai' and password == '123':
            print('登錄成功')
          else:
            print('賬號或者密碼錯誤')
      else:
          print('驗證碼錯誤')
      #運行結果示例:
      請輸入用戶名:taibai
      請輸入密碼:123
      請輸入驗證碼:qwer
      登陸成功
      
      

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

-Advertisement-
Play Games
更多相關文章
  • 排序: 1、排序在電腦數據處理中經常遇到,在日常的數據處理中,一般可以認為有 1/4 的時間用在排序上,而對於程式安裝, 多達 50% 的時間花費在對錶的排序上。簡而言之,排序是將一組雜亂無章的數據按一定的規律順次排列起來 2、內排與外排:根據排序方法在排序過程中數據元素是否完全在記憶體而劃分,若一 ...
  • ``` // // main.cpp // STL中的函數對象 // // Created by mac on 2019/5/2. // Copyright © 2019年 mac. All rights reserved. // 1.是否支持模版繼承? // 2.模版中存在多個參數? includ ...
  • 前言 - context 源碼 可以先瞭解官方 context.go 輪廓. 這裡捎帶保存一份當前 context 版本備份. golang 標準庫 1.7 版本引入 context 包, 用於 golang 函數鏈安全的管理和控制. 說真 golang context 實現非常漂亮, 代碼中說明也 ...
  • 有了模板方法,你就可以像專家一樣復用代碼,同時保持對演算法的控制 ...
  • 前言 先說一下IP協議和TCP協議,IP協議是無連接的通信協議,IP不會占用兩個設備之間通信的線路,IP實際上主要負責將每個數據包路由至目的地,但是IP協議並沒有能夠確保數據包是否到達,傳過去的數據包是否按照順序排列,所以IP數據包是不可靠的。而解決數據不可靠的問題就是由TCP協議來完成,接下來就介 ...
  • 模擬頁式虛擬存儲管理中硬體的地址轉換和用先進先出調度演算法處理缺頁中斷 ...
  • day21 01包的初識 包:把解決一類問題的模塊放在同一個文件夾裡面 包(一個包裡面通常會含有_init_.py文件(python2裡面必須有),但是後面的就沒有要求一定要有了) 同樣導入的時候有import和 from import 兩種 註意:凡是導入是帶點的,點的左邊必須是一個包模塊,對於f ...
  • 題目 "P2472 [SCOI2007]蜥蜴" 解析 這個題思路比較清晰,本(qi)來(shi)以(jiu)為(shi)無腦建圖跑最大流,結果掛了,整了一個小時後重新建圖才過的。 建立一個超級源點和一個超級匯點, 每個石柱都有其固定的通過的次數,也就是說我們要限制其通過次數,怎麼限制呢, 拆點 ,把 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...