Python學習1 基礎語法 數據類型 計算機基礎

Python的重要性

在這里插入圖片描述

python就業方向

在這里插入圖片描述
在這里插入圖片描述

Python的歷史

python創造于1989年,荷蘭人吉多.范羅蘇姆
現在是Python3版本
09

Python的特點

1)跨平臺
2)解釋型語言
3)交互式
4)面向對象:一切皆對象
5)具有一個強大的標準庫
6)Python社區提供了大量的第三方模塊
7)
缺點:
1)運行速度慢
2)國內市場較小
3)中文資料匱乏

在這里插入圖片描述
這是一個在電腦中已經安裝的模塊的文檔
在這里插入圖片描述
題目:
在這里插入圖片描述

設置pyCharm自己的模板

File-setting-Editor-File and Code Template-python Script
模板

${PROJECT_NAME} - 當前Project名稱;
${NAME} - 在創建文件的對話框中指定的文件名;
${USER} - 當前用戶名;
${DATE} - 當前系統日期;
${TIME} - 當前系統時間;
${YEAR} - 年;
${MONTH} - 月;
${DAY} - 日;
${HOUR} - 小時;
${MINUTE} - 分鐘;
${PRODUCT_NAME} - 創建文件的IDE名稱;
${MONTH_NAME_SHORT} - 英文月份縮寫, 如: Jan, Feb, etc;
${MONTH_NAME_FULL} - 英文月份全稱, 如: January, February, etc;

模板如下:

#author:dq
#project:${PROJECT_NAME}
#date:${YEAR}年${MONTH}月${DAY}日

在這里插入圖片描述

解釋器與解釋器

1)
計算機只能識別機器語言
所以需要把其他語言翻譯為機器語言

2)
編譯:代碼執行前將源代碼一次性轉換成目標代碼的過程
類似英語中的全文翻譯。
執行編譯過程的程序叫做編譯器。
特點:速度快,跨平臺性差

解釋:將源代碼逐條轉換成目標代碼同時逐條運行的過程。(在代碼執行的同時一邊執行一邊編譯)
類似英語中的同聲傳譯
特點:速度慢,跨平臺性好
在這里插入圖片描述

Python的基礎知識

1.python的源程序
1)python源程序就是一個特殊格式的文本文件,可以使用任意文本編輯軟件做python的開發
2)文件擴展名.py
2.python代碼中容易出現的常見錯誤
1)不能把多條語句寫在一行,因為每行代碼只否則完成一個動作
在這里插入圖片描述
2)縮進錯誤,每行代碼前面不要增加空格
4個空格代表一個縮進
在這里插入圖片描述
3.Python2默認不支持中文,python3支持中文
因為ASCII碼只包含256個字符,不支持中文

4.在終端中直接使用Python
cmd中輸入python再回車
使用exit()或Ctrl+D退出Python模式
在這里插入圖片描述
在這里插入圖片描述

IDE

集成開發環境,集成了開發軟件需要的所有工具
如:PyCharm,Idea
在這里插入圖片描述

恢復PyCharm的初始設置

1.恢復PyCharm的初始設置(Linux)
在linux中列出所有文件:ls -la

在這里插入圖片描述

計算機的使用方式

1.接口
在這里插入圖片描述
2.用戶界面
TUI文本交互界面
GUI圖形化交互界面

命令行

1.任何計算機的操作系統都包含有命令行(Windows,linux,MacOS)
2.命令行有多個不同的名字
Shell,終端,Dos
在這里插入圖片描述
3.Windows下的命令行:
通過cd xxx來切換磁盤
cd…回到初始磁盤
在這里插入圖片描述
4.常用的Dos命令
1)dir查看當前目錄下的所有文件(夾)
如:dir C:\Users\pc
2)cd xx進入指定目錄
如:cd Desktop
.代表當前目錄
…代表上一級目錄
cd…回到初始磁盤,回到上一級目錄
3)小技巧
方向鍵上下,查看歷史的命令記錄
tab鍵自動補全命令
4)md創建一個目錄
如:
md dqtoday
5)rd刪除一個目錄
如:
rd d1
直接刪除
6)del刪除一個文件
如:
del d1
會進行詢問是否刪除
7)cls清除屏幕
如:cls
8)直接輸入文件名稱.文件類型打開文件
如:attendance.xlsx
在這里插入圖片描述

命令的語法:
命令 【參數】【選項】

環境變量

1.環境變量定義
在這里插入圖片描述
2.環境變量界面:
上面:用戶環境變量,只對當前用戶起作用
下面:系統環境變量,對所有用戶起作用
建議只對用戶環境變量修改

3.path環境變量
系統尋找文件:
1)當前目錄下
2)path環境變量的路徑中
在這里插入圖片描述
多個路徑之間使用;隔開
在這里插入圖片描述

文本和字符集

1.文本:
純文本(保存文字):如:txt
富文本(包括文本以外):如:word文檔

純文本在計算機底層也會轉換為二進制保存
2.編碼與解碼:
編碼:字符–>二進制
解碼:二進制–>字符(人看得懂的)
在這里插入圖片描述

3.常見的字符集:
utf-8(統一編碼,漢字占三個字節)、Big5(繁體中文)、GBK(國標擴,漢字占兩個字節,簡體中文)

UTF-8:使用1-5個字節
UTF-16:使用2-4個字節
UTF-32:使用4個字節
在這里插入圖片描述

計算機語言

機器語言:二級制
匯編語言(符號語言):通過符號代替機器碼:

  • 匯編:符號–>機器碼
  • 反匯編:機器碼–>符號(看得懂)
    高級語言:
    java,c…
    在這里插入圖片描述

編程的幾個常用概念

1.表達式:類似于數學公式,不對程序產生一定的影響
7+4

2.語句:完成某種功能,會對程序產生一定的影響
print()
a=10

3.程序:由語句和表達式構成
a=10
print(str(a+100))
在這里插入圖片描述
4.函數:
函數:是語句,用來完成特定的功能
分類:
內置函數(python解釋器自帶的)
自定義函數(程序員自己創建的函數)

在這里插入圖片描述

python內置函數(在python手冊中可以查看)
在這里插入圖片描述

Python規范

1.4個空格(Tab)代表一個縮進
2.導入包
import random導入一個
form random import *導入相關的所有
3.空格:
在運算符兩側各加一個空格,逗號后面加一個空格
4.語句過長,使用\續行符或()
如:
3+5
\6+6

(3+5
9+0)
5。使用小駝峰或大駝峰
aMM
MaaLpp

Python基礎語法

1.定義變量
變量名=變量值
a=78
a的數據類型隨著變量值而變化

2.變量的命名規則:
以字母和下劃線開頭,包含數字,字母,下劃線,中文,不能使用關鍵字
題目:
HTML5不區分大小寫,其他的java,C,C++,Python,JavaScript都區分大小寫
在這里插入圖片描述

3.數據類型
1)數字:
int(整型)
long(長整型)
float(浮點型)
complex(復數):實部+虛部=1+8i

2)布爾類型:
Ture
False

3)字符串
0–n-1
-n-(-1)

4)集合類型:
List(列表):數組
Tuple(元組):內容不能改變
Dictionary(字典):相當于java的Map,鍵值對
通過type查看數據類型

a='xx'
#輸出<class 'str'>
print(type(a))

3.查看關鍵字
import keyword
print(keyword.kwlist)

代碼:

#查看關鍵字
import keyword
print(keyword.kwlist,sep=' ')
#輸出
#['False', 'None', 'True', '__peg_parser__', 
# 'and', 'as', 'assert', 'async', 'await', 
# 'break', 'class', 'continue', 'def', 'del', 
# 'elif', 'else', 'except', 'finally', 'for',
# 'from', 'global', 'if', 'import', 'in', 'is',
# 'lambda', 'nonlocal', 'not', 'or', 'pass', 
# 'raise', 'return', 'try', 'while', 'with', 'yield']

4.print()輸出函數
print(’xx‘,‘yy’,sep=’ ‘,end=’\n’)
使用’‘或“”都可以
使用,隔開
sep=‘x’每個值之間使用’x’進行間隔
end=’\n’最后換行

#使用sep=‘**’分隔每個字符串,end=';'最后輸出;
print('1234', '2345678','dfhgjuk',sep='**', end=';' )
m,n=1,3
print(m,n,sep=' ')

5.input()輸入函數
age=input(‘defrgt’)
‘wdefrt’是對用戶的提示,將用戶的輸入值賦給age,是字符串
注意:得到的是字符串,要進行運算需要int(a),轉換為整型等
題目:
1)
在這里插入圖片描述
2)
60*0.4=24.0
默認為浮點數
在這里插入圖片描述

6.不同進制的表示
支持:
0x十六進制
0o八進制
內置函數:
bin()轉二進制
oct()轉八進制
hex()轉16進制

print(bin(223),oct(23),hex(123),sep='  ',end='.')

7.數據類型轉換
int()轉整型
float()轉浮點型
str()轉字符串
bool()轉布爾型:
有具體數值的是True,如1,90,‘2345’
0,’’,“”,(),[],{}等為空的為False
chr()返回整數對應的ASCII碼
ord()返回ASCII碼對應的整數

#數據類型轉換
a='2345'
print(str(int(a)+1)+str(2345)+str(float(88))+str(bool("")))
#ASCII碼與整數的轉換
#輸出C 1 	
print(chr(67),chr(0x31),chr(0o11),sep=' ',end='\n')
#輸出 97 112
print(ord('a'),ord('p'),sep=' ',end='\n')

8.算術運算符
1)
%取模:求余數
2%3==2…0
所以余數為0

**冪運算:

x**3==x^3

//求商
9/4=2…1
取2,去掉余數

2)兩個整數相除,得到浮點數
所以如果要輸出整數的話,使用int(a)

加法運算符:只能連接兩個字符串+,不能整數+字符串(×)
乘法運算符:字符串*整數==將字符串重復多少次


print('spam' + 'spamspam')
print('spam' * 3)#spamspamspam

題目:
1/2除法,默認為浮點數
1//2求商
在這里插入圖片描述

4)復合賦值運算符
x+=2:x=x+2
x%=2:求x/2的余數
x//=2:求x/2的商
x**=2:x=x^2

#復合賦值運算符
a=4//2#2求商
print(a,end='\n')
a**=2#求a^2求冪4
print(a,end='\n')

題目:
x%y求余數
x**y=x^y
在這里插入圖片描述

5)傳遞賦值
等號連接:a=b=c=‘2345’
同步賦值:m,n=3,7

組包:多個變量賦給同一個值(元組)
x=‘hello’,‘wer’,‘234’
print(x)

拆包:一個變量賦給多個變量(對應的關系)
str=‘1234’
a,b,c,d=str

代碼:

#等號連接
x=y=z='989'
print(x,y,z,sep=' ',end='\n')
#同步賦值
m,n=1,3
print(m,n,sep=' ',end='\n')
#組包
d='345','345','iop'
#輸出('345', '345', 'iop')
print(d,end='\n')
#拆包
a,b,c=d
print(a,b,c,sep=' ',end='\n')

6)可變長度賦值,使用*
o,*p,q=9,23,43,54,0
o=9
*p=23,43,54(可變長度)
q=0

代碼:

#可變賦值長度
a,*p,b='d','b',3,45,45,'l'
#輸出d  l
print(a,b,sep='  ',end='\n')
#輸出b 3 45 45
print(*p,end='\n')
#輸出<class 'str'>
print(type(a))
#但不能使用type(*p),報錯,*p里面存儲了多種數據類型

7)比較運算符
1.
數字與字符串比較,永遠是False
如:
a=‘a’
a==97:False

#比較字符串
a='97'
#輸出 False
print(a==97)

常用:>=,<=,!=
可以直接18.6 <= r <= 24.9

#1
#if 18.6 <= r <= 24.9:效果等同
#2
if (r >= 18.6 and r <= 24.9):
#3
if 24.9>=r>=18.6

題目:
ASCII碼
小寫字母比大寫字母大32
在這里插入圖片描述

8)與或非
1.
and 與
or 或
not 非
在這里插入圖片描述
2.
短路與:and,第一個為False,后面就不再計算了,直接為false
短路或:or,第一個為True,后面就不再計算了,直接為true

# 短路與
#輸出no
if (1 == 8 and 1 == 1):print('yes')
else:print('no')#短路或
#輸出ok
if(1==1 or 1==6):print('ok')
else:print('mm')

邏輯運算的結果:
and所有都是Ture,取最后一個值;不然就輸出遇到的第一個為False的值
or所有都是False,取最后一個值;不然就輸出遇到的第一個為True的值

# 與或非
# and所有都為True,輸出最后一個89
print(1 and '3' and 'ui' and '89')
# or所有都為False,輸出最后一個{}
print('' or [] or {})# and輸出遇到的第一個false:0
print('l' and '78' and 0 and {})
# or輸出遇到的第一個true:88
print('' or {} or '88')

與或非案例:

# 2_1
# 寫出判斷一個數是否能夠被3或者7整除,但是不能同時被3或者7整除的條件語句,并且打印對應的結果。b = input('請輸入數字')
i = int(b)
if (i % 3 == 0 or i % 7 == 0) and (not (i % 3 == 0 and i % 7 == 0)):print('yes', end='\n')
else:print('no', end='\n')# 2_2
# 同時被37整除,即為21的倍數;除以21不等于0即不能同時被37整除
b = input('請輸入數字')
i = int(b)
if i % 3 == 0 or i % 7 == 0:if i % 21 != 0:print('yes', end='\n')else:print('no', end='\n')
else:print('no', end='\n')

9)位運算
1.
使用 “&”、 “~”、 “|” 和 “^” 等操作符進行計算
按位與&:兩個1為1,其他為0
按位或|:有1為1,兩個0為0
按位取反~:1變0,0變1
按位異或^:相同為0,不同為1
2.
按位取反

~n=-(n+1),比如:~3=-4

3.位運算實例
使用&0xFF取得最后n位16進制數

#位運算符
#題目:0xF0384E作為RGB顏色,分別取出R=F0;G=38;B=4E
#計算機中使用的是二進制,所以移位后的數是二進制的要使用hex轉換為16進制
#RGB:R右移4*4=16,G右移2*4=8
color=0xF0384E
#hex(color>>16)=0xf0
#hex(color>>8)=0xf038 要使用位運算符:&0xFF來取得最后的兩位16進制數
#B=0xF0384E使用&0xFF取得最后兩位16進制數
R=color>>16
G=color>>8
B=color&0xFF
print(hex(R),hex(G&0xFF),hex(B),sep=' ',end='\n')#&0xFF來取得最后的兩位16進制數
#&0xFFFF取得最后四位16進制數
#&0xFFFFFF取得最后六位16進制數
print(hex(color&0xFF),hex(color&0xFFFF),hex(color&0xFFFFFF),sep=' ',end='\n')

注釋

單行注釋#
多行注釋開始和結尾使用三個’‘’或“ ” “

'''
這是多行注釋,用三個單引號
這是多行注釋,用三個單引號 
這是多行注釋,用三個單引號
'''"""
這是多行注釋,用三個雙引號
這是多行注釋,用三個雙引號 
這是多行注釋,用三個雙引號
"""

round函數

返回浮點數的四舍五入值
round(float浮點數,n要保留的幾位小數)
n=null:整數
n=0或1:一位小數
n為負數:一位小數
-n:在整數部分從右到左,依次變為0

#round() 方法返回浮點數x的四舍五入值
# 當參數n不存在時,round()函數的輸出為整數。
#
# 當參數n存在時,即使為0round()函數的輸出也會是一個浮點數。
#
# 此外,n的值可以是負數,表示在整數位部分四舍五入,但結果仍是浮點數。
print(round(23.99,1))#24.0
print(round(23.0099,3))#23.01
print(round(23.00000055,7))#23.0000005
print(round(23.00000055))#23--整數
print(round(23.00000055,0))#23.0
print(round(23.00000055,-2))#0.0
print(round(23.00000055,-1))#20.0

題目:
round(0.3,1):保留一位小數,四舍五入:0.3
在這里插入圖片描述

秒轉換為時分秒形式

常規:
時:d/3600
分:d%3600/60
秒:d%3600%60
因為Python中兩個整數相除為浮點數,所以輸出時使用int()

# 4_1
# 假設今天的上課時間為15678秒,編程計算今天上課時間是多少小時,多少分鐘,多少秒;以XX時XX分XX秒的方式表示出來。d = 15678
# 秒->小時:秒/60/60
h = d / 3600
# 秒->分鐘:秒%3600-->余數為不夠的小時/60-->--》分鐘
m = (d % 3600) / 60
# 剩余的秒數:(d%3600)%60余數不夠的秒數
s = (d % 3600) % 60
print(int(h), '時', int(m), '分', int(s), '秒', sep='')# 4_2
# python divmod() 函數把除數和余數運算結果結合起來,返回一個包含商和余數的元組(a // b, a % b)。
d = 15678
# m=d//60 s=d%60
m, s = divmod(d, 60)
# h=m//60 m=m%60
h, m = divmod(m, 60)
print("%02d:%02d:%02d" % (h, m, s))# 4_3
# 使用strftime()gmtime()函數把秒轉換為時分秒
from time import strftime
from time import gmtime# 輸出 time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=4, tm_min=21, tm_sec=18, tm_wday=3, tm_yday=1, tm_isdst=0)print(gmtime(15678))
# 格式化輸出
print(strftime("%H:%M:%S", gmtime(15678)))

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

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

相關文章

算法考題 替換空格

參考鏈接 letcode官網題目地址 題目要求&#xff1a; 請實現一個函數&#xff0c;把字符串 s 中的每個空格替換成"%20"。示例 1&#xff1a; 輸入&#xff1a;s "We are happy." 輸出&#xff1a;"We%20are%20happy." 來源&#xff1a;力扣&a…

Python學習2 條件判斷語句if,循環語句for while

順序&#xff0c;分支&#xff0c;循環結構 條件判斷語句if 1&#xff09;if…else… 2) if…elif…else 注意&#xff1a; 1&#xff09;python中不支持switch…case語句 2&#xff09;注意縮進&#xff01; 3&#xff09;區間范圍內允許連續比較&#xff1a; if 1<2<…

使用VS2019創建項目,添加文件和庫地址

1&#xff0c;創建項目的類型很重要&#xff0c;fisherman服務器密碼機使用C語言進行開發&#xff0c;只可以使用控制臺應用 將需要的頭文件拷貝到新建的工程里面 然后&#xff0c;打開解決方案資源管理器&#xff0c;點擊添加&#xff0c;添加現有項&#xff0c;選中拷貝的頭…

java -web html5學習1

基礎標簽 <!--html5聲明--> <!DOCTYPE html> <!--html標簽--> <html lang"en"> <!--文檔頭--> <head> <!--告知瀏覽器此頁面屬于什么字符編碼格式,--><meta charset"UTF-8"> <!-- 用于標識當前網頁的…

中科大 計算機網絡2 什么是互聯網

概論 互聯網 1&#xff09;網絡–包括節點和邊&#xff0c;與大小無關&#xff0c;如蜘蛛網&#xff0c;大腦神經元。。 下圖的網絡是一樣的 2&#xff09;計算機網絡 聯網的計算機所構成的系統 包括主機節點&#xff08;筆記本&#xff0c;ipad,手機&#xff0c;聯網的冰箱等…

虛擬機下Ubuntu配置IP地址和網段

服務器密碼機的地址是172.27.120.99 ubuntu系統的IP地址是192.168.133.138&#xff0c;使用net方式和主機共享網絡。現需要修改ip地址 第一步&#xff0c;net方式是不對的&#xff0c;需要選擇橋接方式&#xff0c;復制物理連接狀態 然后修改主機的物理連接&#xff0c;選擇搜…

漁翁服務器密碼機的環境配置

Linux版本 需要將配置文件 FMDevice.conf 存儲到 /etc目錄下需要將庫文件 libfmapiv100.so 存儲到 /lib64目錄下編譯的命令 gcc main.c ./libfmapiv100.so -lpthread -o test 需要指定 ./libfmapiv100.so&#xff0c;如果需要別的庫也需要進行指定&#xff0c;比如…

王道考研 計算機網絡1 計算機網絡概念,組成,功能和分類

計算機網絡概念&#xff0c;組成&#xff0c;功能和分類 怎樣學習計算機網絡 計算機網絡概念 1&#xff09;網絡和計算機網絡區別 網絡包含計算機網絡&#xff08;是通信技術和計算機技術相結合的產物&#xff09; 2&#xff09;計算機網絡的概念 分散的&#xff1a;指地理位…

ubuntu 修改旋轉屏幕顯示方向 恢復正常模式

參考鏈接 https://blog.csdn.net/YYshuangshuang/article/details/90576997 使用命令如下 xrandr -o normal 回到正常角度

王道考研 計算機網絡2 標準化工作

標準化工作 要實現不同廠商的硬軟件之間相互連通&#xff0c;必須遵從統一的標準 標準的分類&#xff1a; 法定標準&#xff1a;國內外 RFC請求評論 RFC請求評論–因特網標準 是一個因特網標準就一定是RFC形式&#xff0c;但不是所有的RFC都是因特網標準 之前的階段&#…

二叉搜索樹判定

leetcode的原文鏈接樹的定義C版本 需要給每一個節點的數值劃分范圍若任意節點的左子樹不空&#xff0c;則左子樹上所有結點的值均小于它的根結點的值&#xff1b;任意節點的右子樹不空&#xff0c;則右子樹上所有結點的值均大于它的根結點的值&#xff1b;任意節點的左、右子樹…

王道考研 計算機網絡3 速率相關的性能指標

速率 指快慢 比特&#xff1a;1/0&#xff08;1位比特&#xff09; 速率&#xff1a;單位換算1000倍&#xff08;小寫b&#xff09;&#xff0c;如&#xff0c;b/s比特每秒&#xff1b;kb/s千比特每秒 存儲容量&#xff1a;單位換算1024倍(大寫B)&#xff0c;如B字節&#xf…

C++ limits頭文件的用法numeric_limits

參考鏈接 Cplus plus參考鏈接numeric_limits<double>::max ()是函數&#xff0c;返回編譯器允許的 double 型數 最大值。類似的 numeric_limits<int>::max () 返回 編譯器允許的 int 型數 最大值。需包含頭文件 #include <limits> imits是STL提供的頭文件&…

Linux系統運維1 運維 項目研發 網站 服務器 計算機基礎 Linux操作系統

運維的基本概念 運維行業前景 企業運作模式 四大部門 項目研發流程 職責描述&#xff1a; 運維的作用&#xff1a; 網站的相關概念 網站運行流程&#xff1a; IP<–>域名 重要概念&#xff1a; 服務器圖片&#xff1a; 服務器&#xff1a;為用戶提供服務的機器&…

Linux 時間函數的使用

頭文件 #include <chrono> #include <functional>namespace hsm { namespace common {class Timer { public:Timer();void reset();long peek_us() const;long peek_ms() const;double peek_msf() const;double record_msf(const std::function<void()> &am…

王道考研 計算機網絡4 速率相關的性能指標

時延 發送時延; 發送時延;10bit 除以10b/s1s 傳播時延&#xff1a; 100 m除以10m/s10s 當信道寬帶提高&#xff08;發送速率&#xff09;&#xff0c;發送時延減少&#xff0c;但并不會提高傳播時延–高速鏈路情況 總&#xff1a; 時延帶寬積 描述數據量&#xff0c;鏈路…

std::chrono::duration_cast時間計算

參考鏈接 std::chrono::duration_cast

王道考研 計算機網絡5 分層結構 協議 服務 接口

引入;發送文件前要準備的工作 分層的基本原則 分層結構中相關的概念 PCISDUPDU 上一層的PDU作為傳給下一層的SDU,傳輸下去 總結

std::future詳解

參考鏈接 cppreference.comC11之std::future對象使用說明

王道考研 計算機網絡6 OSI參考模型和各層作用

計算機網絡分層結構 OSI參考模型發展史 OSI參考模型 記憶&#xff1a;一個叫淑惠的女生試用物聯網 OSI參考模型解釋通信過程 具體操作 H代表頭部 數據鏈路層;加了頭部H2和尾部T2 物理層對數據不再處理 類似包裹;打包和拆包 應用層 如果可以不聯網也能使用的程序就不屬于…