【Python】1. 背景知識

認識 Python

計算機基礎概念

什么是計算機?

很多老一輩的人, 管下面這個叫做計算機. 然鵝, 它只是 “計算器”, 和計算機是有很大區別的.
現在我們所說的計算機, 不光能進行算術運算, 還能進行邏輯判斷, 數據存儲, 網絡通信等等功能,。
以至于可以自動的完成非常復雜的工作.
在這里插入圖片描述
以下這些都可以稱為 “計算機” .
在這里插入圖片描述
舉例:使用電腦訪問B站.
本地的計算機給B站的服務器發送一個網絡請求.(誰,想看哪個視頻)
B站的服務器收到這個請求之后,就會找到對應的視頻數據,通過網絡再發送回用戶本地計算機.

總的來說, 一臺計算機, 主要由以下這幾個重要的組件構成
CPU
存儲器 (內存, 硬盤等)
輸入設備 (鍵盤, 鼠標等)
輸出設備 (顯示器, 音響等)
在這里插入圖片描述
以上的組成結構, 稱為 “馮諾依曼體系結構” . 馮諾依曼大佬, 正是計算機的祖師爺.

PSS: 有的同學可能說, 重要的硬件不是還有顯卡嘛? 都老貴了!
其實顯卡(GPU)是和 CPU 類似的計算芯片,
CPU 是 “通用計算芯片”, 可以處理各種場景下的各種問題. 就像高校培養的學生. 可以在各個行業各個領域貢獻力量.
GPU 是 “專用計算芯片”, 特別擅長處理浮點數運算. 就像比特培養的學生, 專注于互聯網軟件技術.

內存外存(硬盤等)區別:
1.內存的存儲空間較小,外存的存儲空間較大.
2.內存的訪問速度快,外存的訪問速度慢.
3.內存比外存成本更高.
4.內存上的數據容易丟失(斷電,數據就沒了),外存上的數據能夠持久化存儲(斷電數據也在)
相對于內存來說,存的更長久(一般機械硬盤存儲數據的時間是幾年到十幾年)
**有的設備,既是輸入設備,又是輸出設備.**例如:觸摸屏,網卡

在這里插入圖片描述
PS: 馮諾依曼除了是計算機祖師爺之外, 還是一位數學家, 物理學家, 化學家, “博弈論” 的創始人, 參與過曼哈頓計劃(擔任原子彈制造顧問).
據傳聞, 馮諾依曼大佬六歲心算八位數除法, 八歲掌握微積分, 十歲通讀了世界史, 十七歲發表了第一篇數學方面的論文.
PSS: 計算機的祖師爺, 除了馮諾依曼之外, 還有一位圖靈大佬, 也在二戰中發揮了至關重要的作用.

什么是編程?

計算機需要硬件賦予之軀體, 也需要軟件賦予之靈魂.
“軟件” (或者叫做 程序), 指揮了計算機要按照什么樣的規則來執行任務.
在這里插入圖片描述
制作軟件, 就是在明確這個軟件要完成什么樣的任務, 這個過程就稱為 “編程” .

例如: 我的女神給我說, 讓我去買三個包子, 如果遇到賣西瓜的就買一個.
這個交代任務的過程就是 “編程”. 只不過執行這個程序的是我, 不是計算機.
PS: 換個角度看, 人腦也能算術運算, 能邏輯判斷, 能數據存儲, 能輸入輸出… 也可以視為是一個廣義的計算機.

編程本身, 并不是一件很容易的事情, 因此就衍生出了一個專門負責編程的職業, 也就是程序員.
在這里插入圖片描述
程序員進行編程的過程中, 需要使用一個專門的方式和計算機溝通, 就是 “編程語言” .
使用編程語言編寫軟件的具體過程, 就稱為 “軟件開發”, 俗稱 “敲代碼”.

計算機是一個鐵憨憨, 不能直接理解人類的語言.
像上面買包子的例子, 其實這句話對于計算機的理解來說, 是存在歧義的.

編程語言有哪些?

編程語言大體可以分成三個大類
機器語言
匯編語言
高級語言
其中機器語言和匯編語言都是更貼近計算機的, 人類理解起來并不容易.
因此目前程序員使用的編程語言主要是高級語言.
高級語言的種類有很多很多. 以下列出的都是實際開發中常用的編程語言
在這里插入圖片描述

Python 背景知識

Python 是咋來的?

吉多·范羅蘇姆(Guido van Rossum) 是一個荷蘭程序員(人稱龜叔, 名字前三個字母是 Gui),
在這里插入圖片描述
龜叔在 1989 年圣誕節的時候(當時 33 歲), 因為在家里待著無聊, 為了打發時間, 開始了 Python 的開發.
第一個正式版本發布于 1991 年.
1991 年是一個神奇的年份.
Python, 萬維網, Linux, Vim, Qt, 第一臺筆記本電腦, 都誕生于 1991 年.

Python 都能干啥?

經歷了多年的發展, Python 目前是一個應用場景非常廣泛的編程語言.

科學計算&數據分析
Web 開發(搭建網站)
自動化運維
人工智能
爬蟲程序
自動化測試
在這里插入圖片描述

Python 的優缺點

優點:
語法言簡意賅, 容易上手.
功能強大, 用途廣泛.
生態豐富, 具有海量的成熟第三方庫.
方便調用 C/C++ 編寫的代碼進行 高性能/系統級操作.
缺點:
執行效率比較弱.
對于多核心并發程序支持偏弱.
動態類型系統對于大型項目不太友好.

Python 的前景(錢景)咋樣?

雖然 Python 的應用場景很多, 但是純粹使用 Python 的崗位是比較少見的.
以知名互聯網招聘網站拉鉤網為例, 設置工作地點為北京, 工作年限為3年以下,
搜索 Python 關鍵字得到的崗位個數為 88 個.
搜索 C 關鍵字得到的崗位個數為 159 個.
搜索 Java 關鍵字得到的崗位個數為 297 個.
上述數據只是簡單采樣, 并不能精確反應崗位的整體情況
在這里插入圖片描述
更常見到的情況是, 把 Python 作為一個輔助性質的語言.

在工作中, Python 更像是一個工具, 需要用到的時候隨手拿起來就用, 能夠方便的解決不少問題.
這就像一局王者榮耀, 有人打的是 carry, 有人打的是輔助.
PS: 網上很多信息把 Python 往往吹的天花亂墜, 但是在我看來, 是有些過火了.
Python 和其他的編程語言本質上并沒有啥區別. 并不存在某個場景是 “非得 Python 能做, 其他語
言做不了” 這樣的情況.
編程語言只是工具, 作為一個程序猿, 要做到十八般兵器都能樣樣精通.

安裝 Python+PyCharm

這里不進行過多贅述,在CSDN上有很多相關的博客,大家照瓢畫葫即可。
這里講點實用的基礎設置

設置字體大小

PyCharm 默認的字體比較小, 看起來很費眼睛. 可以設置大一點.
選擇 File -> Settings
在這里插入圖片描述
在這里插入圖片描述

Size 表示字體大小. 數字越大文字越大.
Line height 表示行高, 數字越大則兩行文字之間的間隔就越大.

設置背景圖片

選擇 File -> Settings
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
改完之后的背景如圖所示

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/716036.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/716036.shtml
英文地址,請注明出處:http://en.pswp.cn/news/716036.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

代碼隨想錄day10(2)字符串:反轉字符串Ⅱ (leetcode541)

題目要求:給定一個字符串 s 和一個整數 k,從字符串開頭算起, 每計數至 2k 個字符,就反轉這 2k 個字符中的前 k 個字符。如果剩余字符少于 k 個,則將剩余字符全部反轉。如果剩余字符小于 2k 但大于或等于 k 個,則反轉前…

Spring與Spring Boot:簡化Java開發的革命性框架

Spring與Spring Boot:簡化Java開發的革命性框架 摘要:本文將深入探討Spring與Spring Boot兩個在Java開發領域具有重要地位的框架。我們將了解它們的核心概念、區別、聯系以及在實際項目中的應用。通過本文,您將更好地理解如何使用這兩個框架…

Zookeeper4:Java客戶端、應用場景以及實現、第三方客戶端curator工具包

文章目錄 Java連接Zookeeper服務端依賴代碼使用 應用場景統一命名服務統一配置管理統一集群管理服務器節點動態上下線理解實現模擬服務提供者【客戶端代碼】-注冊服務模擬服務消費者【客戶端代碼】-獲取服務信息進行請求消費 軟負載均衡分布式鎖理解實現 生產集群安裝N臺機器合…

Java中的Collection

Collection Collection 集合概述和使用 Collection集合概述 是單例集合的頂層接口,它表示一組對象,這些對象也稱為Collection的元素 JDK 不提供此接口的任何直接實現.它提供更具體的子接口(如Set和List)實現 創建Collection集合的對象 多態的方式 具體的實現類ArrayList C…

leetcode - 71. Simplify Path

Description Given a string path, which is an absolute path (starting with a slash ‘/’) to a file or directory in a Unix-style file system, convert it to the simplified canonical path. In a Unix-style file system, a period ‘.’ refers to the current di…

MATLAB環境下基于熵的聲納圖像分割算法

聲納圖像作為準確獲取水下信息的重要途徑之一,在國防、軍事、工程等方面發揮著巨大作用。然而,由于水聲信道的復雜多變和聲波本身的傳播損失,聲納圖像往往呈現出分辨率和對比度不高、噪聲干擾嚴重、目標輪廓模糊等特點。 聲納圖像的分割指的…

FCIS 2023網絡安全創新大會:洞察前沿技術,探索安全新境界(附大會核心PPT下載)

隨著信息技術的飛速發展,網絡安全問題日益凸顯,成為全球關注的焦點。作為網絡安全領域的重要盛會,FCIS 2023網絡安全創新大會如期而至,匯聚了全球網絡安全領域的頂尖專家、學者、企業家和政策制定者,共同探討網絡安全的…

備戰藍橋杯————差分數組1

引言 一、差分數組 什么是差分數組 差分數組的作用 Java代碼實現差分數組 二、 區間加法 題目描述 代碼與解題思路 總結 引言 在數字世界的海洋中,數據是構建和優化算法的基石。然而,當我們面對需要頻繁進行區間操作的數組時,傳統的逐元素…

ABAP - SALV教程10 添加可編輯checkbox列

幾乎所有的功能報表都會有那么一個選擇列,問了業務顧問,業務顧問說是用戶不習慣使用報表原生的選擇模式。效果圖SALV的選擇列是通過將列設置成checkbox_hotspot樣式,注冊單擊事件完成勾選功能的。完成步驟 將SEL列設置成checkbox_hotspot樣式…

【筆記】OpenHarmony和HarmonyOS區別及應用開發簡介

一、概念 OpenHarmony(OH) : OpenAtom OpenHarmonyHarmonyOS(HO):開發 | 華為開發者聯盟 (huawei.com) HO當前最高是3.1,在華為mate 60上面也是。關于4.0、5.0和next這類版本說法都是面向用戶的,不是開發人員。對于程序員&#…

Springboot 項目讀取yaml的配置文件信息給靜態方法使用,以及通過配置 ResourceBundle 類讀取config.properties

讀取yaml 的配置文件 配置文件信息 iot_saas_tenement:user_id: 7........8d9bprivate_key: MII.......qQbj_url: http://4.....5:8088project_name: iot_s.......rojectdevice_name: te.....ice 創建一個類 ProxyProperties 讀取配置文件信息,并對外提供get方法 …

內存的檢測與排查

內存🐎的檢測與排查 文章目錄 內存🐎的檢測與排查查殺Java Web filter型內存馬0x01 內存馬簡歷史0x02 查殺思路0x03 內存馬的識別0x04 內存馬的查殺 查殺Java Web filter型內存馬 0x01 內存馬簡歷史 其實內存馬由來已久,早在17年n1nty師傅的…

QT6 libModbus 用于ModbusTcp客戶端讀寫服務端

雖然在以前的文章中多次描述過,那么本文使用開源庫libModbus,可得到更好的性能,也可移植到各種平臺。 性能:讀1次和寫1次約各用時2ms。 分別創建了讀和寫各1個連接指針,用于讀100個寄存器和寫100個寄存器,讀寫分離。 客戶端&am…

物聯網與智慧城市:科技驅動下的城市智能化升級之路

一、引言 隨著科技的不斷進步和城市化進程的加速,物聯網與智慧城市的結合已經成為推動城市智能化升級的關鍵力量。物聯網技術以其強大的連接和數據處理能力,為智慧城市的建設提供了無限可能。本文旨在探討物聯網如何助力智慧城市的構建,以及…

SLAM ORB-SLAM2(21)基礎矩陣的計算和評分

SLAM ORB-SLAM2(21)基礎矩陣的計算和評分 1. 前言2. 基礎矩陣2.1. 對級約束2.2. 推導2.3. 計算原理 3. ComputeF214. CheckFundamental 1. 前言 在 《SLAM ORB-SLAM2(20)查找基礎矩陣》 中了解到 查找基礎矩陣主要過程&#xff1…

web基礎03-JavaScript

目錄 一、JavaScript基礎 1.變量 2.輸出 3.變量提升 4.區塊 5.JavaScript數據類型 6.查看數值類型 7.undefined和null 8.布爾值 9.和的區別 10.算數/三元/比較/邏輯/賦值運算符 11.特殊字符 12.字符串 (1)獲取字符串長度 (2&am…

備戰藍橋杯Day21 - 堆排序的內置模塊+topk問題

一、內置模塊 在python中,堆排序已經設置好了內置模塊,不想自己寫的話可以使用內置模塊,真的很方便,但是堆排序算法的底層邏輯最好還是要了解并掌握一下的。 使用heapq模塊的heapify()函數將列表轉換為堆,然后使用he…

41、網絡編程/TCP.UDP通信模型練習20240301

一、編寫基于TCP的客戶端實現以下功能: 通過鍵盤按鍵控制機械臂:w(紅色臂角度增大)s(紅色臂角度減小)d(藍色臂角度增大)a(藍色臂角度減小)按鍵控制機械臂 1.基于TCP服務器的機械臂…

Java 創建對象有哪幾種方式

1. 使用new關鍵字:這是最常見和最簡單的創建對象的方式。你可以通過這種方式調用任意的構造函數,無論是無參的還是有參數的構造函數。 例如: Student stu new Student 2. 使用Class類的newInstance方法(反射) 這種…

Python3零基礎教程之數學運算專題進階

大家好,我是千與編程,今天已經進入我們Python3的零基礎教程的第十節之數學運算專題進階。上一次的數學運算中我們介紹了簡單的基礎四則運算,加減乘除運算。當涉及到數學運算的 Python 3 刷題使用時,進階課程包含了許多重要的概念和技巧。下面是一個簡單的教程,涵蓋了一些常…