EP01:【Python 第一彈】基礎入門知識

一、基礎入門知識

1.1 代碼規范

1.1.1 語句分隔符

  • ;
  • 換行

1.1.2 格式化

  • 對 Windows 和 Linux 操作系統,快捷鍵是Ctrl + Alt + L
  • 對 macOS 操作系統,快捷鍵是Cmd + Option + L

1.1.3 注釋

  • 單行注釋
# 這是一行注釋
  • 多行注釋
"""
這
是
多
行
注
釋
"""

1.1.4 官方文檔

PEP 8 – Style Guide for Python Code

1.2 變量

1.2.1 定義

  • 變量是一個存儲數據值的容器
  • 數據值可以是數字、字符串、列表、元組、字典、集合、布爾值等

1.2.2 變量名

  1. 變量名可以是任意的,但需要遵循規范
  2. 變量名規范:
  • 可以是數字、字母、下劃線_
  • 不允許是數字開頭
  • 不允許是關鍵字或者內置函數等
  • 建議是“小駝峰”結構或者下劃線分隔

1.2.3 變量值

  • 變量是容器,數值是可以進行修改的

二、基本數據類型

2.1 數字類型

2.1.1 常見類型

  • 整型
x = 10
print(x)
print(type(x))
  • 浮點型
x = 3.14
print(x)
print(type(x))

2.1.2 代碼實操——計算圓形的周長和面積

"""
計算圓形的周長和面積
"""# 1. 工具包
import math# 2. 輸入圓的半徑
radius = 3# 3. 計算周長 + 面積
circumference = 2 * math.pi * radius
area = math.pi * radius**2print(f"圓形的周長:{circumference:.2f}")
print(f"圓形的面積:{area:.2f}")
  • 結果運行圖:
    在這里插入圖片描述

2.2 布爾類型

2.2.1 常見類型

  • True 真
  • False 假

2.2.2 應用場景

  • 在條件語句中,控制程序的流程
  • 在邏輯運算中,表示結果的真假

2.2.3 與其他數據類型的轉換

  1. 在特定的上下文中,一些數據類型(如整型、浮點型、字符串等)可以被解釋為布爾值。
  2. 空值(如空列表、空字典、空字符串、0、None等)一般被看作是 False,而非空值一般被看作是 True。

2.2.4 代碼實操——邏輯運算

"""
邏輯運算
"""# 1. and運算
print(True and True)
print(True and False)# 2. or運算
print(True or False)
print(False or False)# 3. not運算
print(not True)
print(not False)
  • 運行結果:
    在這里插入圖片描述

2.3 字符串類型

2.3.1 常見類型

  • 單引號 ' '
  • 雙引號 " "
  • 三引號 """ """

2.3.2 轉義符

  1. 定義:在字符串中,插入的無法直接表示或具有特殊含義的字符
  2. 常見類型:
    • \\:用于在字符串中插入反斜杠
    • \':用于在單引號字符串中插入單引號
    • \":在雙引號字符串中插入雙引號
    • \n:用于在字符串中換行
    • \t:用于在字符串中插入制表符

2.3.3 格式化輸出

  1. 目的:將變量或表達式的結果嵌入到字符串中,以生成有意義的輸出。
  2. 常見類型:
    • %s%d%f
    • str.format()
    • f-string

2.3.4 序列操作

  • 創建、修改、查找和格式化字符串
  • 通過索引獲取字符
  • 通過切片獲取字符
  • 拼接字符串
  • 計算機字符串長度
  • 判斷某個字符或子字符串是否存在

2.3.5 內置方法

下面是優化后的字符串內置方法表格,增加了參數說明和示例,并保持排版清晰:

字符串內置方法詳解

方法含義參數返回值示例代碼
upper()轉換為大寫新字符串print("hello".upper())HELLO
lower()轉換為小寫新字符串print("WORLD".lower())world
title()轉換為標題格式新字符串print("hello world".title())Hello World
startswith(prefix)是否以指定前綴開頭prefix: 前綴字符串布爾值print("hello".startswith("he"))True
endswith(suffix)是否以指定后綴結尾suffix: 后綴字符串布爾值print("hello".endswith("lo"))True
isdigit()是否全為數字字符布爾值print("123".isdigit())True
isalpha()是否全為字母字符布爾值print("abc".isalpha())True
isalnum()是否全為字母或數字布爾值print("abc123".isalnum())True
strip([chars])去除兩邊指定字符chars: 要去除的字符集合新字符串print(" hello ".strip())hello
lstrip([chars])去除左邊指定字符chars: 要去除的字符集合新字符串print(" hello".lstrip())hello
rstrip([chars])去除右邊指定字符chars: 要去除的字符集合新字符串print("hello ".rstrip())hello
join(iterable)連接可迭代對象iterable: 包含字符串的可迭代對象新字符串print("-".join(["a", "b", "c"]))a-b-c
split(sep=None)按分隔符分割字符串sep: 分隔符,默認為空白字符字符串列表print("a,b,c".split(","))['a', 'b', 'c']
find(sub)查找子字符串首次出現位置sub: 要查找的子字符串索引或-1print("hello".find("l"))2
index(sub)查找子字符串首次出現位置sub: 要查找的子字符串索引或報錯print("hello".index("l"))2
count(sub)統計子字符串出現次數sub: 要統計的子字符串整數print("hello".count("l"))2
replace(old, new)替換指定子字符串old: 原字符串
new: 新字符串
新字符串print("hello".replace("l", "L"))heLLo
center(width, fillchar)字符串居中填充width: 總寬度
fillchar: 填充字符
新字符串print("hello".center(10, '*'))**hello***
zfill(width)左側補零到指定寬度width: 總寬度新字符串print("42".zfill(5))00042

2.3.6 代碼實操

(1)創建字符串
"""
創建字符串
"""# 1. 單引號
name = '李白'
print(f'姓名:{name}')# 2. 雙引號
age = "18"
print(f"年齡:{age}")# 3. 三引號
hobby = """
1. movie
2. music
"""
print(f'興趣:{hobby}')
  • 運行結果:
    在這里插入圖片描述
(2)插入轉義符
"""
插入轉義符
"""# 1. \'
string_1 = '老師:\'論文寫完了嘛?\''
print(string_1)# 2. \"
string_2 = "學生:\"快了,快了。\""
print(string_2)# 3. \n + \t
string_3 = "老師:\n\t\"速度!速度!\""
print(string_3)
  • 運行結果
    在這里插入圖片描述
(3)格式化輸出
"""
格式化輸出
"""# 1. %s,%d,%f
name_1 = '李白'
age_1 = 18
print("我的名字是:%s,我的年齡是:%d歲。" % (name_1, age_1))# 2. str.format()
name_2 = '杜甫'
age_2 = 20
print("你的名字是:{},你的年齡是:{}歲。".format(name_2, age_2))# 3. f-string
name_3 = '蘇軾'
age_3 = 22
print(f"他的名字是:{name_3},他的年齡是:{age_3}歲。")
  • 運行結果:
    在這里插入圖片描述
(4)序列操作
"""
序列操作
"""# 1. 創建字符串
str1 = "Hello"
str2 = 'World'
str3 = """
Hello
World
"""
print(f"str1:{str1}")
print(f"str2:{str2}")
print(f"str3:{str3}")print('--'*50)# 2. 通過索引獲取字符
print(f"第一個字符:{str1[0]}")
print(f"最后一個字符:{str1[-1]}")print('--'*50)# 3. 通過切片獲取字符
# 取首略尾
print(f"取首略尾:{str1[1:3]}")
# 默認到尾
print(f"默認到尾:{str1[1:]}")
# 從頭開始
print(f"從頭開始:{str1[:4]}")
# 從左向右
print(f"從左向右:{str1[1:4:1]}")
# 隔1取1
print(f"隔1取1:{str1[1:4:2]}")
# 反向截取
print(f"反向截取:{str1[3:1:-1]}")print('--'*50)# 4. 拼接字符串
concat1 = str1 + " " + str2
concat2 = "".join([str1, " ", str2])
print(f"concat1:{concat1}")
print(f"contact:{concat2}")print('--'*50)# 5. 計算字符串長度
print(f"str1的長度:{len(str1)}")
print(f"str3的行數:{len(str3.splitlines())}")print('--'*50)# 6. 判斷某個字符或子字符串是否存在
print(f"存在判斷: 'e' 在 {str1} 中: {'e' in str1}")
print(f"子串判斷: 'lo' 在 {str1} 中: {str1.find('lo') != -1}")
  • 運行結果:
    在這里插入圖片描述

微語錄:被貼上標簽的人,只能等待著自己應得的人生。——《信》

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

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

相關文章

實用的文件和文件夾批量重命名工具

在日常工作中,文件和文件夾的命名管理常常讓人頭疼。尤其是面對大量文件時,手動重命名不僅耗時,還容易出錯。今天,我要給大家推薦一款超級實用的工具——OncePower 文件批量重命名,它不僅能批量重命名文件和文件夾&…

【Git】報錯:git config --global http.sslBackend “openssl“

問題解決 報錯:git config --global http.sslBackend “openssl”解決方法: git config --global http.sslBackend "openssl"之后再 push 即可正常提交。 🔍 原因分析 ??系統環境不支持 OpenSSL 后端?? Git 在某些平臺&#xf…

Redisson RLocalCachedMap 核心參詳解

🧑 博主簡介:CSDN博客專家,歷代文學網(PC端可以訪問:https://literature.sinhy.com/#/?__c1000,移動端可微信小程序搜索“歷代文學”)總架構師,15年工作經驗,精通Java編…

AI輔助編程時代的高效規范開發指南:工具、原則與提效策略

引言:AI輔助編程的時代背景與核心挑戰 人工智能在編程領域的應用雖可追溯至20世紀50年代,但近十年實現了革命性突破,推動其從早期的代碼補全工具演進為能理解上下文、生成完整函數乃至項目架構的智能系統。關鍵發展里程碑包括:20…

百度網盤TV版1.21.0 |支持倍速播放,大屏云看片

百度網盤TV版是專為智能電視設計的應用程序,讓用戶可以直接在大屏幕上觀看保存在云端的視頻資源。此應用提供了與手機端幾乎相同的功能,包括倍速播放功能,使得用戶可以更方便地享受高清視頻內容。無需繁瑣的操作步驟,即可實現云端…

C++控制臺貪吃蛇開發(二):讓靈蛇舞動起來!

資料合集下載鏈接: ??https://pan.quark.cn/s/472bbdfcd014? 本文將深入講解蛇移動的機制,并帶你一步步實現以下功能: 理解蛇移動的核心算法:為什么蛇的移動是“倒著”更新的? 用代碼表示方向:如何使用??dx??和??dy??變量優雅地控制方向。 編寫核心??move…

Elasticsearch+Logstash+Filebeat+Kibana部署

目錄 軟件說明: 架構拓撲 集群模式: 單機模式 環境準備 部署: kibana es logstash filebeat es 檢查能否啟動 logstash 命令設置 es 修改es配置文件 啟用es kibana 修改kibana配置文件(方便查看索引&#xff09…

GLM(General Language Model,通用語言模型)

🧠 一、GLM是什么?一句話概括 GLM(General Language Model,通用語言模型)是一個“大腦”,它通過閱讀海量書籍、網頁、對話記錄學會了人類的語言規則,不僅能“聽懂”你說的話,還能“…

【科研繪圖系列】R語言繪制顯著性標記的熱圖

文章目錄 介紹 加載R包 數據下載 導入數據 數據預處理 畫圖 系統信息 參考 介紹 【科研繪圖系列】R語言繪制顯著性標記的熱圖 加載R包 library(ggplot2) library(patchwork)rm(list = ls()) options(stringsAsFactors = F)

若依部署項目到服務器

目錄 一、環境配置 redis nginx(宿主機|dokcer) 1.宿主機 2.docker 二、打包jar包 0.查看后端配置 1.打包后端 2.打包前端 三、啟動 1.后端 2.前端 四、以上部署常見命令/錯誤 一、環境配置 之前的課都配過,先看看自己配了沒 看看…

零基礎學習性能測試-linux服務器監控:CPU監控

目錄學習內容與快速應用路徑第一階段:理解 CPU 核心概念 (0.5天)第二階段:掌握核心監控命令與指標 (1-2天)第三階段:識別 CPU 問題與瓶頸 (核心技能)第四階段:整合到性能測試工作流程 (快速應用落地)快速應用到工作中的關鍵策略零…

智能Agent場景實戰指南 Day 15:游戲NPC Agent互動設計

【智能Agent場景實戰指南 Day 15】游戲NPC Agent互動設計 文章內容 開篇 歡迎來到"智能Agent場景實戰指南"系列的第15天!今天我們將深入探討游戲開發中一個極具挑戰性和創新性的領域——游戲NPC Agent互動設計。在當今游戲產業中,玩家對游戲…

Vite的優缺點(精簡版)

優點 作為一款前端構建工具,它的核心特點是“快”,并且充分利用了現代瀏覽器對ES Modules的原生支持,一切圍繞這一點展開 快啟動:通過ES Modules,它省去了打包整個應用的時間,可以直接在瀏覽器中加載模塊&a…

【深度學習】神經網絡-part2

一、數據加載器 數據集和加載器 1.1構建數據類 1.1.1 Dataset類 Dataset是一個抽象類,是所有自定義數據集應該繼承的基類。它定義了數據集必須實現的方法。 必須實現的方法 __len__: 返回數據集的大小 __getitem__: 支持整數索引,返回對應的樣本 …

nextjs+react項目如何代理本地請求解決跨域

在 Next.js React 項目中解決本地開發跨域問題,可以通過以下幾種方式實現代理請求:方案1:使用 Next.js 內置的 Rewrites 功能(推薦) 1. 修改 next.config.js /** type {import(next).NextConfig} */ const nextConfig…

Ubuntu查看Docker容器

在Ubuntu系統中,可以通過以下命令查看當前正在運行的Docker容器:1. 查看所有正在運行的容器 docker ps輸出示例: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a1b2c3d4e5f6 nginx:latest &…

智能點餐推薦網站,解決選擇困難

軟件介紹 今天為大家推薦一款解決"今天吃什么"選擇困難癥的趣味網站,它能為你推薦美味餐食,輕松化解每日用餐煩惱。 核心功能 這款網站最大的亮點就是能夠根據你的需求智能推薦餐食選擇,只需打開網頁,就能立即獲…

使用 C# 實現移動加權平均(Weighted Moving Average)算法

前言 歡迎關注dotnet研習社,前面我們討論過"C#實現加權平均法",今天我們繼續研究另外一種【移動加權平均法】。 在時間序列分析、股票數據處理、工業信號平滑等場景中,移動平均(Moving Average) 是最常見的平滑技術之一…

【Python】一些PEP提案(三):with 語句、yield from、虛擬環境

PEP 343 – The “with” Statement,with 語句 這玩意讓我想起了Kotlin和Rust的問號標識符,都是將try-catch進行包裝,避免出現太多重復代碼(Go:我假設你不是在內涵我) 用法 最常見的用法就是對文件的操作&a…

SymAgent(神經符號自學習Agent)

來自:SymAgent: A Neural-Symbolic Self-Learning Agent Framework for Complex Reasoning over Knowledge Graphs 目錄相關工作引理符號規則任務描述方法Agent-PlannerAgent-ExecutorAction空間交互過程自學習在線探索離線迭代策略更新相關工作 相關工作-語義解析…