Python之--基本知識

基本輸出


語法結構: print(輸出內容)
print()函數完整的語法格出: print (value,...,sep='',end='\n',file=None)
只有字符串可以用+連接

基本輸入


語法結構: x=input('提示文字’)
注意事項: 無論輸入的數據是什么 x 的數據類型都是字符串類型

示例:

name = input("Enter your name: ")#單行注釋示例
print('我的姓名是:'+name)
fp=open('text.txt','w')#打開文件
print('人生苦短,我用Python',file=fp)#輸出內容到文件
fp.close()#關閉文件
a=100
b=50
print(90)
print(a)
print(a*b)
print(a,b,'a+b')
print(chr(65))
print('hello','world',sep='啊',end='//')
print('amazing')
age=input("Enter your age:")
print('我的年齡是:'+age)
print(a,b,sep='',end='')
print('c')

??

注:輸出內容到文件中,如果是中文字符,可能會顯示亂碼,只要更改這個.txt文件的編碼格式為 GBK 就可以了(在 Windows 系統中,CMD 默認使用 GBK 編碼,若 Python 腳本以 UTF-8 輸出中文,CMD 會顯示亂碼)

print('北京歡迎您!!')
print("北京歡迎您!!")
print("'北京歡迎您!!'")
print('''北京歡迎您''')

在Python中,單雙引號是等價的。?

?可以將單雙引號交替使用來避免轉義

保留字(關鍵字)

Python 語言中被賦予特定意義的單詞,它們在語言內部有固定用途,不能將保留字作為變量名或函數名。Python 版本更新可能會添加或刪除保留字,可以通過代碼來查看當前版本的保留字列表

import keyword
print(keyword.kwlist)  # 輸出當前 Python 版本的所有保留字

截至 Python 3.10,共有 35 個保留字:

False      await      else       import     pass
None       break      except     in         raise
True       class      finally    is         return
and        continue   for        lambda     try
as         def        from       nonlocal   while
assert     del        global     not        with
async      elif       if         or         yield

!!嚴格區分大小寫

標識符

標識符是程序員在程序中為變量、函數、類、模塊等自定義的名稱。

命名規則:

(1)只能由字母、數字和下劃線(_)組成。例如 my_variable、count1 是合法的,而 my-var 是不合法的,因為包含了 -。
(2)不能以數字開頭。像 1num 就不是合法的標識符,num1 則是合法的。
(3)不能是 Python 的保留字。比如不能將變量命名為 if、for 等。
(4)區分大小寫。MyVar 和 myvar 是兩個不同的標識符。


命名習慣:
(1)變量和函數:通常使用小寫字母和下劃線組合的方式,如 student_name、calculate_sum。
(2)類:采用駝峰命名法,即每個單詞的首字母大寫,如 StudentInfo、PersonClass。
(3)常量:一般用全大寫字母和下劃線組合,如 MAX_VALUE、PI。

基本數據類型

int(整型)

不限長度,支持任意大小的整數。

x = 100
y = -5
z = 1_000_000  # 下劃線分隔大數字

float(雙精度浮點型)

表示小數,支持科學計數法。

x = 3.14
y = 1.23e6  # 等同于 1.23 * 10^6

?**和C/C++不同的是,C/C++的 float 為單精度浮點值,double 為雙精度浮點值。在 Python 中不會專門區別單雙精度,全部按照雙精度來處理。

內置函數 round():用于對數字進行四舍五入操作。

語法

round(number, ndigits)

number:必填參數,表示要進行四舍五入的數字,可以是整數、浮點數等數值類型。

ndigits:可選參數,表示要保留的小數位數。如果不提供該參數,round() 函數會將數字四舍五入到最接近的整數。

1. 不指定保留小數位數,四舍五入到整數

num1 = 3.14159
result1 = round(num1)
print(result1)num2 = 2.99
result2 = round(num2)
print(result2) 

?round(3.14159) 會將 3.14159 四舍五入到最接近的整數,結果為 3;round(2.99) 四舍五入后結果為 3。

2. 指定保留小數位數

num3 = 3.14159
result3 = round(num3, 2)
print(result3)num4 = 5.6789
result4 = round(num4, 1)
print(result4) 

round(3.14159, 2) 表示將 3.14159 四舍五入到保留兩位小數,結果是 3.14;round(5.6789, 1) 會把 5.6789 四舍五入到保留一位小數,結果為 5.7。?

?3. 特殊情況

當舍去部分的最高位恰好為 5,且 5 后面沒有其他數字或全為 0 時,如果保留部分的末位數字是偶數,則直接舍去 5(不進位)。如果保留部分的末位數字是奇數,則進位(末位加 1)。

print(round(2.5))  # 結果:2(保留部分末位是2,偶數,舍去5)
print(round(3.5))  # 結果:4(保留部分末位是3,奇數,進位)print(round(2.35, 1))  # 結果:2.4(保留部分末位是3,奇數,進位)
print(round(2.45, 1))  # 結果:2.4(保留部分末位是4,偶數,舍去5)

complex(復數型)

實部和虛部組成,虛部用 j 表示。

x = 3 + 4j
print(x.real)  # 輸出: 3.0
print(x.imag)  # 輸出: 4.0

bool(布爾型)

只有兩個值?True?和?False,用于邏輯判斷。

True?= 1,False = 0

布爾值為 False 的情況:

(1)False 或者?None

(2)數值中的 0,包含 0,0.0,虛數 0

(3)空序列,包含空字符串、空元組、空列表、空字典、空集合

o=True
print(o)
print(o+10)
q=False
print(q)
print(q+10)#非零的字符串布爾值為True
print(bool('北京歡迎你'))
print(bool(''))

str(字符串型)

表示文本,用單引號、雙引號或三引號包裹。

x = "Hello"
y = 'World'
z = """多行字符串"""
inform='''
你好
世界
'''
print(inform)

**在 Python 中,沒有獨立的字符(Character)型,而是將單個字符視為長度為 1 的字符串(str 型)。

常見用法:

對字符串中某個子串或區間的檢索稱為切片

切片的語法結構:字符串或字符串變量?[N:M](從n開始到m結束但是不包含m

字符串索引從左到右的取值范圍:0 到 n-1;

字符串索引從右到左的取值范圍:-1到 n;

常用的字符串操作: ?? ?

(1)x+y 將字符串x與y連接起來 ?? ?

(2)x*n或n*x 復制n次字符串x ?? ?

(3)x in s 如果x是s的子串,結果為True,否則結果為False

#字符串索引及切片操作
s='helloworld'
print(s[0],s[-10])
print('北京歡迎你'[3])
print('北京歡迎你'[-2])
print(s[2:7])#正向遞增
print(s[-8:-3])#反向遞減
print(s[:5])#默認從0開始
print(s[5:])#默認切片到結尾#常用的字符串操作
x='2005'
y='小明出生'
z='2'
print(x+y)
print(x*10)
print(x in y,z in x)

數據類型之間的轉換

函數描述說明
int(x)將 x 轉換為整數類型
float(x)將 x 轉換為浮點數類型
str(x)將 x 轉成字符串
chr(x)將整數 x 轉換為一個字符
ord(x)將一個字符 x 轉換為其對應的整數值
hex(x)將一個整數 x 轉換為一個十六進制字符串
oct(x)將一個整數 x 轉換為一個八進制字符串
bin(x)將一個整數 x 轉換為一個二進制字符串

?**辨析 str(x) 和 chr(x) :

函數str(x)chr(x)
功能將任意對象轉換為字符串表示形式將?整數?轉換為對應字符
參數類型任意類型(整數、列表、自定義對象等)必須是整數(范圍:0 ~ 1,114,111)
返回值對象的字符串形式(保留結構)長度為 1 的字符串(單個字符)
典型場景字符串拼接、文件寫入、打印調試信息生成特殊字符(如表情符號、非 ASCII 字符)

(1)處理整數?

str(65)    # '65'(直接轉為數字的文本形式)
chr(65)    # 'A'(Unicode 碼點 65 對應字符 'A')

?(2)處理容器類型

str([1, 2])  # '[1, 2]'(保留列表格式的字符串)
chr([1, 2])  # 報錯!chr() 只接受整數

?(3)生成特殊字符

chr(128512)  # 😀(笑臉表情)
chr(0x4E2D)  # 中(Unicode 碼點 20013)

容器數據類型

list(列表)

可變、有序的元素集合,支持任意數據類型。

x = [1, "apple", True]
x.append(3.14)  # 添加元素

tuple(元組)

不可變、有序的元素集合。

x = (1, "apple", True)
# x[0] = 2  # 錯誤:元組不可修改

range(范圍)

不可變的整數序列,通常用于循環。

x = range(5)  # 生成 0, 1, 2, 3, 4

dict(字典)

無序的鍵值對集合,鍵必須唯一且不可變。

d = {"name": "Alice", "age": 30}  # 鍵值對用冒號分隔
d = dict(name="Alice", age=30)    # 另一種創建方式
print(x["name"])  # 輸出: Alice

set(集合)

無序、唯一元素的集合,支持數學集合運算。

s = {1, 2, 3}                     # 直接用花括號
s = set([1, 2, 3])                # 通過列表創建
s = set()                         # 創建空集合(不能用 {},否則是字典)
x.add(4)  # 添加元素

1、數據去重:

lst = [1, 2, 2, 3, 3, 3]
unique_items = set(lst)  # {1, 2, 3}

2、數學集合運算

s1 = {1, 2, 3}
s2 = {3, 4, 5}
print(s1 & s2)  # 交集:{3}
print(s1 | s2)  # 并集:{1, 2, 3, 4, 5}
print(s1 - s2)  # 差集:{1, 2}

轉義字符

轉義字符描述示例(打印結果)
\\反斜杠本身print('a\\b')?→?a\b
\'單引號print('I\'m')?→?I'm
\"雙引號print("She said: \"Hi\"")?→?She said: "Hi"
\n換行符(新行)print('a\nb')?→
a
b
\t制表符(Tab)print('Name\tAge')?→?Name Age
\r回車符(覆蓋當前行)print('Hello\rWorld')?→?WorldHello?被覆蓋)
\b退格符(Backspace)print('abc\bd')?→?abd(刪除?c
print('老師說:\"好好學習,天天向上\"')
print('老師說:"好好學習,天天向上"')#加r/R可以使轉義字符失效
print(r'老師說:\"好好學習,天天向上\"')
print(R'老師說:\"好好學習,天天向上\"')

算術運算符

運算符描述說明示例結果
+加法1+12
-減法1-10
*乘法2*36
/除法5/22.5
//整除5//22
%取余10%31
**冪運算2**416

和 C/C++ 的除法計算不同,?C/C++ 的除法運算會直接舍去小數部分(相當于 Python 中的整除)

賦值運算符?

運算符描述說明示例展開形式
=簡單的賦值運算x=yx=y
+=加賦值x+=yx=x+y
-=減賦值x-=yx=x-y
*=乘賦值x*=yx=x*y
/=除賦值x/=yx=x/y
%=取余賦值x%=yx=x%y
**=冪賦值x**=yx=x**y
//=整除賦值x//=yx=x//y

比較運算符

運算符描述說明示例結果
>大于98>90True
<小于98<90False
==等于98==90False
!=不等于98!=90True
>=大于或等于98>=98True
<=小于或等于98<=98True

邏輯運算符

運算符描述說明用法結合方向
and邏輯與表達式 1 and 表達式 2從左到右
or邏輯或表達式 1 or 表達式 2從左到右
not邏輯非not 表達式從右到左
表達式 1表達式 2表達式 1 and 表達式 2表達式 1 or 表達式 2not 表達式 1
TrueTrueTrueTrueFalse
TrueFalseFalseTrueFalse
FalseFalseFalseFalseTrue
FalseTrueFalseTrueTrue

優先級從高到低依次為非與或not?>?and?>?or?

位運算符

把數字看作二進制數來進行計算。

按位與(&)、按位或(|)、按位異或(^)//不同為 1 、按位取反(~)

左移位(<<)//左邊高位舍棄,右邊低位補0、右移位(>>)//右邊地位舍棄,左邊高位補0

【左乘右除:向左移位是乘法操作,向右移位是除法操作】

運算符的優先級

運算符描述說明
**冪運算
~、+、-取反、正號、負號
*、/、%、//算術運算符
+、-算術運算符
<<、>>位運算符中的左移位和右移位
&位運算符中的按位與
^位運算符中的異或
|位運算符中的按位或
<、<=、>、>=、!=、==比較運算符
=賦值運算符

今天的分享就到這里啦~~

謝謝你的觀看!!

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

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

相關文章

VS CodeC51 單片機開發環境搭建

文章目錄前言1.安裝插件2.創建EIDE項目&#xff08;51單片機&#xff09;3.配置工具鏈&#xff08;第一次使用需要配置&#xff09;4.編譯與下載5.項目文件簡介與串口調試工具6.推薦插件7.打包模板與導出模板8.51單片機串口無法識別問題前言 需要安裝keil c51版本需要配置好C/…

國密算法(SM2/SM3/SM4)

文章目錄國密算法&#xff08;SM2/SM3/SM4&#xff09;詳解&#xff1a;從性能對比到Java手機號安全處理實戰一、 國密核心算法簡介二、 性能深度對比三、 Java實戰&#xff1a;手機號的安全處理方案一&#xff1a;使用SM3哈希存儲&#xff08;推薦用于驗證場景&#xff09;方案…

從前端轉go開發的學習路線

從前端開發轉向 Go&#xff08;Golang&#xff09;后端開發&#xff0c;是一個非常可行也很實用的方向&#xff0c;特別是在做 高性能微服務、分布式系統、云原生&#xff08;如Kubernetes&#xff09; 等方面。以下是一份適合你&#xff08;有多年開發經驗的前端開發者&#x…

node或瀏覽器上傳文件到阿里云OSS

阿里云配置 進入阿里云OSS Bucket 列表的某個 Bucket 倉庫下&#xff0c;點擊訪問控制 RAM 創建用戶 勾上 創建 AccessKey ID 和 AccessKey Secret 復制 AccessKey 信息 用文檔保存 創建角色 選擇云賬號 復制 ARN 用文檔保存&#xff0c;然后 新增權限 搜索 oss 選擇 AliyunOSS…

26考研物理復試面試常見問答問題匯總,物理專業保研推免夏令營面試問題匯總,物理本科知識專業面試最全攻略!

還在為物理考研復試面試發愁&#xff1f;還在為物理招聘的專業面試抓狂&#xff1f;還在為即將到來的物理夏令營面試不知從何下手、翻遍了厚厚的教材卻抓不住重點&#xff1f;別慌&#xff0c;接下來我會從「考研的物理復試經歷」「物理面試攻略」「物理面試基礎問答題匯總很全…

(5)機器學習小白入門 YOLOv:數據需求與圖像不足應對策略

(1)機器學習小白入門YOLOv &#xff1a;從概念到實踐 (2)機器學習小白入門 YOLOv&#xff1a;從模塊優化到工程部署 (3)機器學習小白入門 YOLOv&#xff1a; 解鎖圖片分類新技能 (4)機器學習小白入門YOLOv &#xff1a;圖片標注實操手冊 (5)機器學習小白入門 YOLOv&#xff1a;…

百年制造名企,三菱重工引領“智”造新范式

日前&#xff0c;由深圳軟件協會指導、法大大和信息俠聯合出品的《制造行業合同數智化升級白皮書》&#xff08;以下簡稱“白皮書”&#xff09;正式發布&#xff0c;并首次提出 “電子簽法律AI” 雙輪驅動模型。在制造行業面臨供應鏈協同、合規風控及全球化出海等多重挑戰的當…

【學習筆記】計算機操作系統(七)—— 文件管理

第七章 文件管理 文章目錄第七章 文件管理7.1 文件和文件系統7.1.1 數據項、記錄和文件7.1.2 文件名和類型7.1.3 文件系統的層次結構7.1.4 文件操作7.2 文件的邏輯結構7.2.1 文件邏輯結構的類型7.2.2 順序文件(Sequential File)7.2.3 記錄尋址7.2.4 索引文件(Index File)7.2.5 …

基于PyQt5與深度學習的可視化水果識別系統(集成CNN, MobileNetV2, VGG16)

一、項目概述 大家好&#xff01;今天我將分享一個我近期完成的深度學習項目——一個功能強大的、帶圖形化界面&#xff08;GUI&#xff09;的水果識別系統。該系統不僅能識別靜態圖片中的水果&#xff0c;還集成了模型訓練、評估、數據增強等功能于一體&#xff0c;為深度學習…

k8s-服務發布基礎

目錄 Service的定義 核心定義 Service 的類型 關鍵組件與機制 工作流程示例 高級特性 Service工作原理 核心工作原理 標簽選擇器&#xff08;Label Selector&#xff09; Endpoints 對象 網絡代理與負載均衡&#xff08;kube-proxy&#xff09; userspace 模式&#…

洛谷P1514 [NOIP 2010 提高組] 引水入城

洛谷P1514 [NOIP 2010 提高組] 引水入城 洛谷題目傳送門 題目背景 NOIP2010 提高組 T4 題目描述 在一個遙遠的國度&#xff0c;一側是風景秀美的湖泊&#xff0c;另一側則是漫無邊際的沙漠。該國的行政區劃十分特殊&#xff0c;剛好構成一個 NNN 行 MMM 列的矩形&#xff…

【unity小技巧】國內Unity6下載安裝和一些Unity6新功能使用介紹

文章目錄前言一、安裝1、國外下載2、國內下載二、常用的新功能變化1、官方推薦使用inputsystem進行輸入控制2、修復了InputSystem命名錯誤導致listen被遮擋的bug3、自帶去除unity啟動畫面logo功能4、unity官方的behavior行為樹插件5、linearVelocity代替過時的velocity方法6、隨…

Rust 中字符串類型區別解析

在 Rust 中&#xff0c;"hello" 和 String::from("hello") 都表示字符串&#xff0c;但它們在內存表示、所有權和可變性上有本質區別&#xff1a;1. 類型與內存表示"hello" (字符串字面量)&#xff1a;類型為 &str&#xff08;字符串切片引用…

springMVC05-異常處理器

在 SpringMVC 中&#xff0c;異常處理是一個非常重要的功能&#xff0c;它可以讓你優雅地處理程序拋出的各種異常&#xff0c;向用戶展示友好的提示&#xff0c;而不是顯示一堆報錯信息&#xff08;如 500 頁面&#xff09;。一、SpringMVC的異常處理器返回的是ModelAndView&am…

安裝 Elasticsearch IK 分詞器

安裝 Elasticsearch IK 分詞器&#xff08;手動 .zip/.zip 安裝&#xff09; IK 分詞器&#xff08;IK Analysis&#xff09;是 Elasticsearch 最常用的中文分詞插件&#xff0c;支持 細粒度分詞&#xff08;ik_max_word&#xff09; 和 智能切分&#xff08;ik_smart&#xf…

數據庫系統原理實驗1:創建數據庫、數據表及單表查詢

一、實驗目的1&#xff0e;掌握在SQL Server中使用對象資源管理器和SQL命令創建數據庫與修改數據庫的方法。2&#xff0e;掌握在SQL Server中使用對象資源管理器或者SQL命令創建數據表和修改數據表的方法&#xff08;以SQL命令為重點&#xff09;。3&#xff0e;掌握無條件查詢…

【STM32】ADC模數轉換基本原理(提供完整實例代碼)

這篇文章是嵌入式中我通過大量資料 整合成了一份 系統完整、層次清晰的 ADC 模數轉換原理解析 文檔。 這里系統地梳理了 STM32F1 系列 ADC 模數轉換的核心資料&#xff0c;包括&#xff1a; 1.原理 特性 2.通道配置 3.模式選擇&#xff08;單次/連續/掃描&#xff09; 4.關鍵寄…

圖神經網絡 gnn 應用到道路網絡拓撲結構與交通碳排放相關性。,拓撲指標量化、時空關聯模型及演化機制分析

針對您提出的“道路網絡拓撲結構與交通碳排放相關框架&#xff0c;以下結合研究目標、數據與方法進行系統性深化設計&#xff0c;重點強化拓撲指標量化、時空關聯模型及演化機制分析&#xff1a;一、核心研究問題深化 靜態關聯&#xff1a;不同拓撲結構&#xff08;方格網/環射…

7.6 優先隊列| dijkstra | hash | rust

lc1337pair存入&#xff0c;lambda sort后取出&#xff0c;最開始想用hash&#xff0c;寫一半感覺寫復雜了class Solution {public:vector<int> kWeakestRows(vector<vector<int>>& mat, int k) {int m mat.size();int n mat[0].size();vector<pair…

最新 HarmonyOS API 20 知識庫 重磅推出

最新 HarmonyOS API 20 知識庫 重磅推出 前言 最近整理下 華為開發者聯盟最新的 API 20的鴻蒙應用開發文檔&#xff0c;這次的API 20 相比較之前的文檔&#xff0c;要多了不少內容&#xff0c;目前整理后是9000千多篇&#xff0c;不容易呀。 如何使用 基于騰訊的知識庫工具 …