Python商務數據分析——Python 入門基礎知識學習筆記

一、簡介

1.1 Python 特性

解釋型語言:代碼無需編譯可直接運行,適合快速開發。

動態類型:變量類型在運行時確定(如x=1后x="str"仍合法)。

面向對象:支持類、對象、繼承等特性,代碼可復用性強。

語法簡潔:通過縮進區分代碼塊,減少括號等冗余符號。

1.2 應用場景

數據分析:Pandas、Numpy 等庫處理結構化數據。

人工智能:TensorFlow、PyTorch 構建機器學習模型。

Web 開發:Django、Flask 框架開發網站。

自動化腳本:批量處理文件、系統運維自動化。

二、Python 基礎語法

2.1 字面量與數據類型

核心關聯點:可變與不可變類型

類型

是否可變

存儲特點

典型應用

整數(int)

不可變

直接存儲數值

計數、索引

浮點數(float)

不可變

存儲小數,存在精度誤差(如0.1+0.2≠0.3)

科學計算

字符串(str)

不可變

字符序列,支持切片操作

文本處理

列表(list)

可變

有序元素集合,可動態增刪改

存儲同類數據序列

元組(tuple)

不可變

有序元素集合,不可修改

保護數據不被意外修改

字典(dict)

可變

鍵值對映射,鍵需不可變(如 str)

快速查詢(類似通訊錄)

集合(set)

可變

無序不重復元素,支持集合運算

去重、交集并集計算

易混淆點

  • 字符串、元組雖不可變,但可通過拼接生成新對象(如s = "a"; s += "b"實際生成新字符串)。
  • 字典的鍵必須為不可變類型(如dict[{1:2}]會報錯,因列表可變)。

2.2 運算符優先級(由高到低)

示例對比

  • 3 + 4 * 2 → 先算4*2=8,再算3+8=11(乘優先于加)。
  • 3 * 2 ** 2 → 先算2**2=4,再算3*4=12(指數優先于乘法)。

2.3 字符串操作核心方法

易混淆方法對比

方法

作用

是否修改原字符串

示例

split()

按分隔符分割成列表

"a,b,c".split(",") → ["a","b","c"]

join()

用指定字符連接列表

",".join(["a","b","c"]) → "a,b,c"

strip()

去除首尾指定字符(默認空格)

" abc ".strip() → "abc"

replace()

替換子串

"abc".replace("a","x") → "xbc"

upper()/lower()

轉大小寫

"AbC".upper() → "ABC"

三、流程控制:判斷與循環

3.1 if 基本格式

# 示例代碼
age = 20
if age >= 18:print("成年了")print("可以投票了")

? ? ?if-elif-else 語句

# 示例代碼
height = int(input("請輸入身高(cm): "))
vip_level = int(input("請輸入VIP等級:"))if height < 120:print("免費游玩")
elif vip_level > 3:print("VIP免費")
else:print("需要購票")

3.2 循環結構對比

循環類型

適用場景

核心特點

跳出方式

for 循環

已知次數的遍歷(如列表、字符串)

按元素遍歷,無需手動控制計數器

break/continue

while 循環

未知次數的循環(如用戶輸入驗證)

條件為真時執行,需手動更新條件變量

break/continue

典型案例

for 循環:遍歷列表求最大值

 
# 示例代碼
name = "python"
for char in name:print(char)

while 循環:猜數字游戲

# 示例代碼
i = 0
while i < 5:print(i)i += 1

四、函數與數據容器

4.1 函數參數傳遞機制

可變與不可變參數對比

參數類型

傳遞方式

修改影響

示例

不可變類型(int/str/tuple)

值傳遞

函數內修改不影響外部變量

def f(x): x=2; a=1; f(a); print(a) → 1

可變類型(list/dict/set)

引用傳遞

函數內修改會影響外部變量

def f(l): l.append(0); a=[1]; f(a); print(a) → [1,0]

4.2 數據容器核心操作對比

列表、元組、字典、集合常用方法

操作

列表(list)

元組(tuple)

字典(dict)

集合(set)

創建

[1,2]

(1,2) 或 1,2

{'a':1}

{1,2} 或 set([1,2])

新增元素

append()/insert()

不可新增(報錯)

dict[key]=value

add()/update()

刪除元素

pop()/remove()

不可刪除(報錯)

pop(key)

remove()/discard()/pop()

訪問元素

lst[0]

tup[0]

dict[key] 或 get(key)

不可直接訪問(無序)

遍歷

for x in lst

for x in tup

for k in dict 或 for k,v in dict.items()

for x in set

常用內置函數

len()/max()/min()/sorted()

len()/max()/min()/sorted()

len()/keys()/values()/items()

len()/union()/intersection()

數據容器對比

類型

元素類型

有序

可變

重復元素

列表(List)

任意

支持

元組(Tuple)

任意

支持

字典(Dict)

Key 必須不可變,Value 任意

Key 不支持重復

集合(Set)

任意

不支持

字符串(Str)

字符

支持

五、文件操作與異常處理

5.1 文件操作三模式對比

模式

讀寫權限

文件不存在時

典型應用

r

只讀

報錯

讀取配置文件

w

寫入(覆蓋原內容)

創建新文件

重新生成日志文件

a

追加寫入

創建新文件

追加日志記錄

安全寫法:使用with open自動關閉文件


# 讀取文件(推薦)with open("data.txt", "r", encoding="utf-8") as f:content = f.read()# 寫入文件(推薦)with open("output.txt", "w", encoding="utf-8") as f:f.write("Hello World")

5.2 異常處理流程

典型案例


try:num = int(input("輸入數字: "))result = 10 / numexcept ValueError:print("請輸入有效數字")except ZeroDivisionError:print("不能除以0")except Exception as e:print(f"未知錯誤: {e}")else:print(f"計算結果: {result}")finally:print("程序執行完畢")

六、模塊與面向對象編程

6.1 模塊導入方式對比

導入方式

語法

命名空間影響

適用場景

導入整個模塊

import math

math.sqrt(4)

避免命名沖突

導入指定功能

from math import sqrt

sqrt(4)

簡化代碼書寫

導入所有功能

from math import *

可能覆蓋同名變量

快速原型開發

模塊別名

import math as m

m.sqrt(4)

長模塊名簡化

6.2 面向對象核心概念

封裝、繼承、多態對比

概念

定義

代碼示例

封裝

隱藏內部實現,只暴露必要接口

class Person: __age=18; def get_age(): return self.__age

繼承

子類復用父類代碼

class Student(Person): pass

多態

同一方法不同實現(動態綁定)

def func(obj): obj.sound(); dog=Dog(); bird=Bird(); func(dog); func(bird)

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

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

相關文章

IT小白到高手:HCIA、HCIP、HCIE認證攻略

大家好&#xff0c;這里是G-LAB IT實驗室。6月&#xff12;&#xff12;日&#xff0c;周日&#xff01;HCIA&#xff0b;CCNA開新班啦&#xff01; 01 華為HCIA、HCIP、HCIE有必要考證嗎 在如今競爭激烈的IT行業&#xff0c;華為的認證體系已成為眾多網絡工程師的重要參考。…

【IndexDB】前端IndexedDB終極指南

前端 IndexedDB 詳細教程 IndexedDB 是一個瀏覽器內置的 NoSQL 數據庫系統&#xff0c;允許在客戶端存儲大量結構化數據&#xff0c;并支持高性能搜索。相比 localStorage&#xff0c;IndexedDB 更適合存儲大量數據并提供更復雜的查詢功能。 基本概念 數據庫&#xff1a;每個…

擴散模型與強化學習(1):字節Seedance中的人類偏好優化實踐

擴散模型與強化學習(0)&#xff1a;專欄匯總與導航 前言&#xff1a;最近強化學習在Diffusion Models得到了越來越多廣泛的應用&#xff0c;本專欄將系統性地介紹當前Diffusion Models中實用且前沿的技術進展。這篇博客介紹字節最新的視頻生成模型Seedance 1.0: Exploring the …

【內存】Linux 內核優化實戰 - vm.max_map_count

目錄 vm.max_map_count參數全面解析一、參數定義與核心作用二、默認值與關鍵調整場景1. 默認限制與不足場景2. 典型報錯案例 三、操作指南&#xff1a;查看與修改方法四、場景化建議值與配置示例五、關鍵注意事項六、延伸知識&#xff1a;內存映射的底層邏輯 vm.max_map_count參…

組件之間的雙向綁定:v-model

&#x1f90d; 前端開發工程師、技術日更博主、已過CET6 &#x1f368; 阿珊和她的貓_CSDN博客專家、23年度博客之星前端領域TOP1 &#x1f560; 牛客高級專題作者、打造專欄《前端面試必備》 、《2024面試高頻手撕題》、《前端求職突破計劃》 &#x1f35a; 藍橋云課簽約作者、…

GetX 實現 MVVM 架構, 高效 路由管理 和 狀態管理

GetX是Flutter中的一個高效的狀態管理與路由管理框架&#xff0c;結合MVVM架構能簡化代碼邏輯。以下是使用GetX實現MVVM架構&#xff0c;并完成路由和狀態管理的核心思路與實踐&#xff1a; 一、MVVM架構在GetX中的映射 MVVM&#xff08;Model-View-ViewModel&#xff09;與G…

Qt項目,記事本

一、項目說明 項目功能&#xff1a; &#xff08;1&#xff09;打開文件&#xff1a;點擊打開文件按鈕彈出對話框&#xff0c;選擇文本文件后&#xff0c;在主窗口編輯界面顯示內容。 &#xff08;2&#xff09;關閉文件&#xff1a;關閉打開的文件&#xff0c;并詢問是否保存…

【全開源】填表問卷統計預約打卡表單系統+uniapp前端

一.系統介紹 填表問卷統計預約打卡表單系統是ThinkPHPUniApp開發的一款集信息填表、預約報名&#xff0c;簽到打卡、活動通知、報名投票、班級統計等功能的自定義表單統計小程序。 二.搭建環境 系統環境&#xff1a;CentOS、 運行環境&#xff1a;寶塔 Linux 網站環境&…

開源 python 應用 開發(一)python、pip、pyAutogui、python opencv安裝

最近有個項目需要做視覺自動化處理的工具&#xff0c;最后選用的軟件為python&#xff0c;剛好這個機會進行系統學習。短時間學習&#xff0c;需要快速開發&#xff0c;所以記錄要點步驟&#xff0c;防止忘記。 鏈接&#xff1a; 開源 python 應用 開發&#xff08;一&#x…

SpringCloud + Zookeeper + Feign整合及Feign原理

知其然 SpringCloud Zookeeper Spring Cloud 與 Zookeeper的整合只需要添加相關的starter依賴和增加相關注解即可完成。 pom.xml 如下&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.…

深入探索 OpenCV 圖像識別:從基礎到深度學習

在當今數字化時代&#xff0c;圖像識別技術已經滲透到我們生活的方方面面&#xff0c;從智能手機中的拍照翻譯功能到自動駕駛汽車的目標檢測系統&#xff0c;圖像識別的應用無處不在。作為一名算法工程師&#xff0c;我有幸深入研究并實踐了 OpenCV 在圖像識別領域的強大功能。…

Hadoop部署(HA)高可用集群

一、準備工作 1.把集群全部停掉 在三臺節點上都做&#xff08;在xshell通過右鍵----> 發送輸入到--->所有會話&#xff09; 2..在/export/servers下創建HA目錄 sudo mkdir -p /export/servers/HA 3.創建用戶和設置所屬主和所屬組 #創建用戶 sudo adduser ygre #設置…

STM32 CAN位同步、錯誤處理

一、接收方數據采樣 CAN總線沒有時鐘線&#xff0c;總線上的所有設備通過約定波特率的方式確定每一個數據位的時長發送方以約定的位時長每隔固定時間輸出一個數據位接收方以約定的位時長每隔固定時間采樣總線的電平&#xff0c;輸入一個數據位理想狀態下&#xff0c;接收方能依…

django serializer __all__中 額外添加外鍵里的某一個屬性

在Django中使用序列化器&#xff08;Serializer&#xff09;時&#xff0c;你可能會遇到需要將模型&#xff08;Model&#xff09;中的外鍵字段轉換成其關聯對象的一部分屬性的情況。默認情況下&#xff0c;序列化器會自動序列化外鍵字段&#xff0c;但如果你想要在序列化結果中…

Redis快的原因

Redis 高性能的核心原因 Redis 之所以能達到極高的性能&#xff08;10萬 QPS&#xff09;&#xff0c;主要源于以下幾個關鍵設計&#xff1a; 1. 純內存操作 核心優勢&#xff1a;所有數據存儲在內存中&#xff0c;避免了磁盤 I/O 瓶頸 內存訪問速度比磁盤快 10萬倍以上&am…

【大模型微調】6.模型微調實測與格式轉換導出

引言 本文繼續研究 LLaMA-Factory 微調數據的流程&#xff0c;側重于微調結果與模型導出。 數據集準備 首先參考 LLaMA-Factory 核心開發者的文章[1]&#xff0c;下載用于微調的公開的商品文案數據集 AdvertiseGen。 下載地址&#xff1a;https%3A//cloud.tsinghua.edu.cn/…

3085. 成為 K 特殊字符串需要刪除的最少字符數

3085. 成為 K 特殊字符串需要刪除的最少字符數 給你一個字符串 word 和一個整數 k。 如果 |freq(word[i]) - freq(word[j])| < k 對于字符串中所有下標 i 和 j 都成立&#xff0c;則認為 word 是 k 特殊字符串。 此處&#xff0c;freq(x) 表示字符 x 在 word 中的出現頻…

分布式系統中的 Kafka:流量削峰與異步解耦(二)

Kafka 在分布式系統中的應用案例 電商訂單系統 在電商領域&#xff0c;訂單系統是核心業務模塊之一&#xff0c;涉及多個復雜的業務環節和系統組件之間的交互。以常見的電商購物流程為例&#xff0c;當用戶在電商平臺上下單后&#xff0c;訂單創建服務會首先接收到用戶的訂單…

從事登高架設作業需要注意哪些安全事項?

從事登高架設作業&#xff08;如腳手架搭設、高空維修、外墻清洗等&#xff09;屬于高風險特種作業&#xff0c;必須嚴格遵守安全規范。以下是關鍵安全注意事項&#xff0c;涵蓋作業前準備、作業中操作、應急處理三大環節&#xff0c;符合國家《高處作業安全技術規范》&#xf…

RA4M2開發IOT(6)----涂鴉模組快速上云

RA4M2開發IOT.6--涂鴉模組快速上云 概述視頻教學樣品申請硬件準備參考程序涂鴉官網鏈接創建一個項目選擇對應產品產品基本配置添加標準功能APP界面配置硬件選擇產品配置硬件詳情PCB原理圖涂鴉調試文件下載進入調試涂鴉模塊串口協議心跳檢測查詢產品信息查詢工作模式AP配網APP鏈…