Python基礎(chǔ)編程
python 簡(jiǎn)介:
創(chuàng)始人: Guido van Rossum(荷蘭人)
創(chuàng)建時(shí)間:1989年 圣誕節(jié)期間
地點(diǎn): 阿姆斯特丹
python 命名:Mothy Python 喜劇團(tuán)的粉絲
python 的應(yīng)用領(lǐng)域:
系統(tǒng)運(yùn)維
網(wǎng)絡(luò)編程: 搜索引擎 爬蟲 服務(wù)器編程
科學(xué)計(jì)算(早期用fortran 77)
人工智能 機(jī)器人
web 開發(fā)
云計(jì)算啄枕,大數(shù)據(jù)及數(shù)據(jù)庫(kù)編程
教育
游戲婚陪,圖像處理等
python的版本:
V2.3
V2.7? 前幾年比較流行(2020年結(jié)束維護(hù))
V3.x
python優(yōu)缺點(diǎn):
優(yōu)點(diǎn):
面向?qū)ο?(適合大型軟件開發(fā)如 java? c++)
免費(fèi)
可移植
可混合編程
簡(jiǎn)單易學(xué)
開發(fā)效率高
應(yīng)用領(lǐng)域廣泛
開源
缺點(diǎn):
與C/C++相比,執(zhí)行速度不夠快? (c/c++? 編譯型語(yǔ)言频祝,直接cpu讀取泌参,所以運(yùn)行速度快)
不能封閉源代碼
python的官網(wǎng):
https://www.python.org
python 運(yùn)行:
python解釋執(zhí)行器:
Cpython? ? C語(yǔ)言開發(fā)
Jython? ? java 語(yǔ)言開發(fā)
IronPython? .net 開發(fā)
第一個(gè)python程序:
編寫 hello.py
print("hello world!")
執(zhí)行python程序:
$ python3 hello.py
常用的程序文件后綴:
python 的后綴.py
其他語(yǔ)言的后綴:
.c? ? ? ? ? ? ? ? ? ? ? ? ? C語(yǔ)言
.cpp/.cxx/.cc/.C? ? C++語(yǔ)言
.java? ? ? ? ? ? ? ? ? ? ?java語(yǔ)言
如何進(jìn)入交互環(huán)境
$ python3 回車
退出交互環(huán)境
>>> quit() 回車
>>> exit() 回車
ctrl + D
Python的注釋:
Python的注釋是以 # 為開頭,直至行尾
作用:讓注釋內(nèi)容不參加解釋執(zhí)行
cublime 中注釋的快捷鍵:
ctrl + /
python的程序組成:
程序由模塊組成
模塊由語(yǔ)句常空,函數(shù)沽一,類等組成
語(yǔ)句包含表達(dá)式
表達(dá)式建立并處理數(shù)據(jù)對(duì)象
Python中核心的數(shù)據(jù)類型
數(shù)字(整型,浮點(diǎn)型漓糙,復(fù)數(shù)铣缠,布爾型pool)
字符串
...
數(shù)字 字面值 常量
整型數(shù)字:
表示方式:
十進(jìn)制表示:
-5? 100? 0
注意:Python的整數(shù)可以無(wú)限大
二進(jìn)制表示(0b開頭):
0b1101010101
八進(jìn)制表示方式(0o開頭):
0o177? ? ? ? ? ? (255)
0o11? ? ? ? ? ? ? ? ? ?(9)
0o7? ? ? ? ? ? ? ? ? ? ?(8)
十六進(jìn)制(0x開頭):
0-9? a-f? A-F
0x11? ? ? ? ? ? ?(17)
0xA? ? ? ? ? ? ? (10)
0xFF? ? ? ? ? ? (255)
練習(xí):
計(jì)算0xFFFF 表示多少
計(jì)算0xFFFFFFFF 表示多少
計(jì)算0b1001 表示多少
計(jì)算0o71? 表示多少
試著把9 轉(zhuǎn)為二進(jìn)制
把64轉(zhuǎn)為八進(jìn)制表示
把18轉(zhuǎn)為十六進(jìn)制
進(jìn)制轉(zhuǎn)換:
計(jì)算機(jī)中數(shù)字的表示方法:
二進(jìn)制
八進(jìn)制
十進(jìn)制
十六進(jìn)制:? ? ? ? ? 0 1 2 3 ...8 9 A B ...F(15)
十進(jìn)制轉(zhuǎn)幾進(jìn)制就除以幾,比如十進(jìn)制5轉(zhuǎn)二進(jìn)制為,5/2=2余1蝗蛙,則尾數(shù)為*1蝇庭,2除以2得1余0 則*01 ,1除以2得0余1,則101
二進(jìn)制? 轉(zhuǎn)? 八進(jìn)制
0b1 100 101 100
0b1 4? 5? 4
二進(jìn)制? 轉(zhuǎn)? 十六進(jìn)制
0b11 0010 1100
0x3? 2? ? c
浮點(diǎn)數(shù):
是帶有小數(shù)部分的數(shù)字(小數(shù)部分可以是0)
浮點(diǎn)數(shù)有兩種表示方式:
小數(shù):? 3.0? .14? 3.? 3.1? 3.14
3.0 和3. 表達(dá)方式不一樣捡硅,字面值常量哮内,0.14和.14也一樣
科學(xué)計(jì)數(shù)法:
表示方法:小數(shù) e/E (正負(fù)號(hào))
指數(shù):
6.18E-1(等同于0.618)
E**-1 等同于10的-1次方
2.99e+8
復(fù)數(shù):
用一個(gè)數(shù)值同時(shí)表示兩種方向
分為實(shí)部(real)? ? 現(xiàn)實(shí)中的數(shù)
虛部(image)? 不可見的數(shù)
虛部 以 j或J 結(jié)尾
字面值:
1j? ? x*x= -1? i=-1平方根
1j*1j=-1+0j
1+1j
1-2j
布爾類型
用來表示真和假的兩種狀態(tài)類型
字面值:
True? 表示真 (條件滿足或者成立)
False 表示假 (條件不滿足或者不成立)
說明:
Ture? 的值是1
False 的值是0
空值 None:
None是一個(gè)特殊的常量
作用:
用來占位
變量解除綁定
None 是一個(gè)特殊的常量? 代表沒有
表達(dá)式 和 運(yùn)算符(操作符)
表達(dá)式:
由一個(gè)數(shù)字或數(shù)字和運(yùn)算符組成
通常讓計(jì)算機(jī)做一些事情并返回結(jié)果
算數(shù)運(yùn)算符:
+? 加法
-? 減法
*? 乘法
/? 除法(也叫真除)
%? 求余(取模)
// 地板除 floordiv(python2.3之后)
** 冪運(yùn)算
除法 /
得到的是浮點(diǎn)數(shù),不會(huì)丟棄小數(shù)部分
地板除? //
去掉小數(shù)部分向下取整
5//3=1
-5//3=-2? 向下取整
求余:
7 % 3 = 1
7除以3等于2余1? 壮韭,求得是這個(gè)1北发,商1
冪運(yùn)算:**
格式:
x ** y 意思為x的y次方
4 ** 2 = 16
運(yùn)算符的優(yōu)先級(jí):
** >> * >> / >> // >> % >> + >> -
括號(hào)分組子表達(dá)式
用()可以將表達(dá)式分組,()內(nèi)先進(jìn)行運(yùn)算
基本輸出函數(shù)
練習(xí):
寫程序在終端輸出圖形:
******
*? ? ? *
*? ? ? *
******
練習(xí)2:
溫度轉(zhuǎn)換(華氏溫度/攝氏溫度/開式溫度)
攝氏溫度= 5.0/9.0*(華氏溫度-32)
開式溫度= 5.0/9.0*(華氏溫度-32)+273.15
問題:假設(shè)華氏溫為100泰涂,算出攝氏溫度和開式溫度
假設(shè)攝氏溫度為50鲫竞,算出華氏溫度和開式溫度
變量:
什么是變量:
變量是關(guān)聯(lián)一個(gè)對(duì)象的符號(hào)
變量的命名方式:
變量名必須為字母或下劃線開頭,后可跟字母逼蒙,下劃線或字母
不能使用Python的關(guān)鍵字
合法變量示例:
a? a1? B b? b2? b_2? _3? 區(qū)分大小寫
不合法變量示例:
True None? 123? 45
python 關(guān)鍵字:
True False None is del is elif else ...
賦值運(yùn)算符(關(guān)聯(lián)運(yùn)算符)
=
語(yǔ)法:
變量名 = 對(duì)象:
作用:
1.當(dāng)沒有此變量時(shí),創(chuàng)建一個(gè)變量寄疏,同時(shí)將變量綁定在這個(gè)對(duì)象上
2.當(dāng)變量存在時(shí)是牢,改變此變量關(guān)聯(lián)(綁定)的對(duì)象
3.用變量名可以訪問此變量關(guān)聯(lián)的對(duì)象
說明:
用變量名可以訪問綁定他的對(duì)象
兩個(gè)變量可以綁定同一個(gè)對(duì)象
一個(gè)變量只能綁定一個(gè)對(duì)象
關(guān)聯(lián)/綁定/引用? 是指一個(gè)對(duì)象和變量的關(guān)聯(lián)關(guān)系
序列賦值語(yǔ)法:
變量名1,變量名2陕截,變量名3...=對(duì)象1驳棱,對(duì)象2,對(duì)象3...
變量名1农曲,變量名2社搅,變量名3...=(對(duì)象1,對(duì)象2乳规,對(duì)象3...)
變量名1形葬,變量名2,變量名3...=[對(duì)象1暮的,對(duì)象2笙以,對(duì)象3...]
[變量名1,變量名2冻辩,變量名3...]=對(duì)象1猖腕,對(duì)象2,對(duì)象3...
例:? a1,a2,a3 = 1, 2, 3
a = 10
b = 20
c= b? ? ? ? ? ?# c綁定20這個(gè)對(duì)象
pi = 3.14
r = 10? ? ? ? ?# 半徑
area = pi * r ** 2? ? ? ? ? ? ?# 算面積
print('area= ',area)
x,y = 100 ,200 # x? -->100 , y? -->200
x,y = y,x? ? ? ? ? ? ? ? ? ?#交換兩個(gè)變量的綁定關(guān)系
#x-->200 , y-->100
練習(xí):
1. 指定一個(gè)圓的半徑為 r = 3 厘米
1)計(jì)算周長(zhǎng)是多少厘米恨闪?
2)計(jì)算面積是多少平方厘米倘感?
2. 從凌晨00:00:00計(jì)時(shí)到現(xiàn)在已經(jīng)過了63320秒
請(qǐng)問現(xiàn)在是幾時(shí)幾分幾秒
請(qǐng)寫程序打印出來(可以用求余和地板除實(shí)現(xiàn))