python的认识_认识Python和基础知识
一、第一個Python程序
用vim編寫,格式:
vim hello.py
然后按 i 進入插入模式開始寫代碼,注意所有的代碼都要用英文輸入法,先寫括號和引號,再在引號里面寫內容(為了避免引號、括號不匹配)
代碼:
print("hello,world!")
在文件所在路徑運行程序(python xxx 是用python2運行程序;python3 xxx是用python3運行程序)
python hello.py 或者
python3 hello.py
二、Python的交互模式
在終端輸入python(python2 或 python3均可)進入Python的交互模式,按exit()退出
在Python的交互模式下,可以供開發人員測試一些基本的語法
在終端輸入ipython也可以進入Python的交互模式(按exit退出),比python多了一個輸入Linux命令的功能,所以在能用到Python交互模式的時候盡量用ipython比較好
如果系統未安裝ipython,可以輸入以下命令進行安裝:
sudo apt install ipython
sudo apt install ipython3
三、注釋
<1> 看以下程序示例(未使用注釋)
<2> 看以下程序示例(使用注釋)
<3>注釋的作用
通過用自己熟悉的語言,在程序中對某些代碼進行標注說明,這就是注釋的作用,能夠大大增強程序的可讀性
便于以后再維護代碼的時候能快速知道代碼的作用
用來做測試的代碼可以進行注釋
如果遇到你認為沒用的代碼,不要輕易刪除,可能牽一發而動全身,可以先把它注釋掉
<4>注釋的分類
1.單行注釋
以 # 或者 // 開頭,#右邊的所有東西當做說明,而不是真正要執行的程序,起輔助說明作用
#我是注釋,可以在里寫一些功能說明之類的哦
print('hello world')
(# 號后面的內容不能換行,換行就變成了執行的代碼,如果要換行,要在新的一行行首再加一個#號)
2.多行注釋
三個連續單引號或三個連續雙引號,引號里面的內容就是注釋
'''我是多行注釋,可以寫很多很多行的功能說明
這就是我牛X指出
哈哈哈。。。'''
'''下面的代碼完成 ,打印一首詩
名字叫做:春江花月夜
作者,忘了'''
print('╔═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤═╗')print('║ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ║')print('║ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ║')print('║ │春│滟│江│空│江│江│人│不│白│誰│可│玉│此│鴻│昨│江│斜│不│ ║')print('║ │江│滟│流│里│天│畔│生│知│云│家│憐│戶│時│雁│夜│水│月│知│ ║')print('║ │潮│隨│宛│流│一│何│代│江│一│今│樓│簾│相│長│閑│流│沉│乘│ ║')print('║ │水│波│轉│霜│色│人│代│月│片│夜│上│中│望│飛│潭│春│沉│月│ ║')print('║ │連│千│繞│不│無│初│無│待│去│扁│月│卷│不│光│夢│去│藏│幾│ ║')print('║春│海│萬│芳│覺│纖│見│窮│何│悠│舟│徘│不│相│不│落│欲│海│人│ ║')print('║江│平│里│甸│飛│塵│月│已│人│悠│子│徊│去│聞│度│花│盡│霧│歸│ ║')print('║花│,│,│,│,│,│,│,│,│,│,│,│,│,│,│,│,│,│,│ ║')print('║月│海│何│月│汀│皎│江│江│但│青│何│應│搗│愿│魚│可│江│碣│落│ ║')print('║夜│上│處│照│上│皎│月│月│見│楓│處│照│衣│逐│龍│憐│潭│石│月│ ║')print('║ │明│春│花│白│空│何│年│長│浦│相│離│砧│月│潛│春│落│瀟│搖│ ║')print('║ │月│江│林│沙│中│年│年│江│上│思│人│上│華│躍│半│月│湘│情│ ║')print('║ │共│無│皆│看│孤│初│望│送│不│明│妝│拂│流│水│不│復│無│滿│ ║')print('║ │潮│月│似│不│月│照│相│流│勝│月│鏡│還│照│成│還│西│限│江│ ║')print('║ │生│明│霰│見│輪│人│似│水│愁│樓│臺│來│君│文│家│斜│路│樹│ ║')print('║ │。│。│。│。│。│?│。│。│。│?│。│。│。│。│。│。│。│。│ ║')print('║ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ║')print('║ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ║')print('╚═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╧═╝')
四、Python2的中文解決
如果直接在程序中用到了中文,比如:
print('你好')
解決的辦法為:在程序的開頭寫入如下代碼,這就是中文注釋
#coding=utf-8
修改之后的程序:
#coding=utf-8
print('你好')
運行結果:
你好
注:在python的語法規范中推薦使用的方式:
#-*- coding:utf-8 -*-
五、變量
<1>變量的定義
在程序中,有時我們需要對2個數據進行求和,那么該怎樣做呢?
大家類比一下現實生活中,比如去超市買東西,往往咱們需要一個菜籃子,用來進行存儲物品,等到所有的物品都購買完成后,在收銀臺進行結賬即可
如果在程序中,需要把2個數據,或者多個數據進行求和的話,那么就需要把這些數據先存儲起來,然后把它們累加起來即可
在Python中,存儲一個數據,需要一個叫做變量的東西,如下示例:
num1 = 100 #num1就是一個變量,就好一個小菜籃子
num2= 87 #num2也是一個變量
result= num1 +num2#把num1和num2這兩個"菜籃子"中的數據進行累加,然后放到 result變量中
變量的名稱應該體現出數據的意義
1 score = 100
2 #定義了一個變量,這個變量的名字就叫做score,它里面存儲了一個數值 100
3
4 high = 100 #單位是cm
5 weight = 7.5 #購買蘋果的重量 斤
6
7 applePrice = 3.5 #蘋果的價格 元/斤
8 money = applePrice *weight9 #先把3.5 * 7.5的值算出來,再賦值給money,這也是定義一個變量
10
11 money = money - 10
12 #第二次賦值就不叫定義變量,而是給這個變量賦上一個新的值
13 print(money)14 #程序從上往下執行,這里money的值為減掉10后的值
(用的vim編輯器,代碼前面的數字表示行號)
說明:
所謂變量,可以理解為菜籃子,如果需要存儲多個數據,最簡單的方式是有多個變量,當然了也可以使用一個
程序就是用來處理數據的,而變量就是用來存儲數據的
<2>變量的類型以及數據類型轉換
2.1 變量類型
程序中:
為了更充分的利用內存空間以及更有效率的管理內存,變量是有不同的類型的,如下所示:
怎樣知道一個變量的類型呢?
在python中,只要定義了一個變量,而且它有數據,那么它的類型就已經確定了,不需要咱們開發者主動的去說明它的類型,系統會自動辨別
可以使用type(變量的名字),來查看變量的類型
2.2 數據類型轉換
常用的數據類型轉換
函數說明
int(x [,base ])
將x轉換為一個整數
long(x [,base ])
將x轉換為一個長整數
float(x )
將x轉換到一個浮點數
complex(real [,imag ])
創建一個復數
str(x )
將對象 x 轉換為字符串
repr(x )
將對象 x 轉換為表達式字符串
eval(str )
用來計算在字符串中的有效Python表達式,并返回一個對象
tuple(s )
將序列 s 轉換為一個元組
list(s )
將序列 s 轉換為一個列表
chr(x )
將一個整數轉換為一個字符
unichr(x )
將一個整數轉換為Unicode字符
ord(x )
將一個字符轉換為它的整數值
hex(x )
將一個整數轉換為一個十六進制字符串
oct(x )
將一個整數轉換為一個八進制字符串
例:
1 age = int(input("請輸入你的年齡:"))2 #input獲取的所有數據,都當做字符串類型,需要進行數據類型轉換
3 #不進行轉換程序會報錯
4 if age > 18:5 print("你已成年!")
六、輸入、輸出
1.輸入
Python2 版本
1.1 raw_input()
在Python2中,獲取鍵盤輸入的數據的方法是采用 raw_input 函數,例:
password = raw_input("請輸入密碼:")print '您剛剛輸入的密碼是:', password
運行結果:
請輸入密碼:123456您剛剛輸入的密碼是:123456
注意:
raw_input()的小括號中放入的是,提示信息,用來在獲取數據之前給用戶的一個簡單提示
raw_input()在從鍵盤獲取了數據以后,會存放到等號右邊的變量中
raw_input()會把用戶輸入的任何值都作為字符串來對待
1.2 input()
input()函數與raw_input()類似,但其接受的輸入必須是表達式(把接收的數據當做代碼來執行)
input()接受表達式輸入,并把表達式的結果賦值給等號左邊的變量
>>> a =input()123
>>>a123
>>>type(a)
>>> a =input()
abc
Traceback (most recent call last):
File"", line 1, in File"", line 1, in NameError: name'abc' is notdefined>>> a =input()"abc"
>>>a'abc'
>>>type(a)
>>> a =input()1+3
>>>a4
>>> a =input()"abc"+"def"
>>>a'abcdef'
>>> value = 100
>>> a =input()
value>>>a100
Python3 版本
沒有raw_input()函數,只有input()
并且 python3中的input與python2中的raw_input()功能一樣
2.輸出
python中變量的輸出
1. 普通的輸出
#打印提示
print('hello world')print('給我的卡---印度語,你好的意思')
2. 格式化輸出
<1>格式化操作的目的
比如有以下代碼:
pirnt("我今年10歲")
pirnt("我今年11歲")
pirnt("我今年12歲")
想一想:
在輸出年齡的時候,用了多次"我今年xx歲",能否簡化一下程序呢???
答:
字符串格式化
<2>什么是格式化
看如下代碼:
age = 10
print("我今年%d歲"%age)
age+= 1
print("我今年%d歲"%age)
age+= 1
print("我今年%d歲"%age)
在程序中,看到了%這樣的操作符,這就是Python中格式化輸出。
age = 18name= "xiaohua"
print("我的姓名是%s,年齡是%d"%(name,age))
<3>常用的格式符號
下面是完整的,它可以與%符號使用列表:
格式符號轉換
%c
字符
%s
通過str() 字符串轉換來格式化
%i
有符號十進制整數
%d
有符號十進制整數
%u
無符號十進制整數
%o
八進制整數
%x
十六進制整數(小寫字母)
%X
十六進制整數(大寫字母)
%e
索引符號(小寫'e')
%E
索引符號(大寫“E”)
%f
浮點實數
%g
%f和%e 的簡寫
%G
%f和%E的簡寫
3. 換行輸出
在輸出的時候,如果有\n那么,此時\n后的內容會在另外一行顯示
print("1234567890-------") #會在一行顯示
print("1234567890\n-------") #一行顯示1234567890,另外一行顯示-------
4.練一練
打印名片
1 """2 age = 18
3 print("你的年齡為:%d" % age)
4 #格式化,整數取值用 %d
5
6 name = "李茂貞"
7 print("你的名字是:%s" % name)
8 #字符串取值用 %s
9
10 high = input("請輸入你的身高:")
11 "input()接受表達式輸入,并把表達式的結果賦值給等號左邊的變量"
12 print(high) #print也可以打印變量
13
14"""
15
16 print("#################################")17 #打印名片
18 #1. 使用input獲取必要的信息
19 name = input("請輸入名字:")20 sex = input("請輸入你的性別:")21 age = int(input("請輸入你的年齡:"))22 #input獲取的數據默認是字符串類型,這里強制轉換為int類型
23 QQ = int(input("請輸入QQ:"))24
25 #2. 使用print來打印名片
26 print("====================")27 print("姓名:%s" %name)28 print("性別:%s" %sex)29 print("年齡:%d" %age)30 print("QQ:%d" %QQ)31 print("====================")
七、if判斷語句
<1>if判斷語句介紹
if語句是用來進行判斷的,其使用格式如下:
if要判斷的條件:
條件成立時,要做的事情
demo1:
age = 30
print "------if判斷開始------"
if age>=18:print "我已經成年了"
print "------if判斷結束------"
運行結果:
------if判斷開始------我已經成年了------if判斷結束------
demo2:
age = 16
print "------if判斷開始------"
if age>=18:print "我已經成年了"
print "------if判斷結束------"
運行結果:
------if判斷開始------
------if判斷結束------
小總結:
以上2個demo僅僅是age變量的值不一樣,結果卻不同;能夠看得出if判斷語句的作用:就是當滿足一定條件時才會執行那塊代碼,否則就不執行那塊代碼
注意:
代碼的縮進為一個tab鍵,或者4個空格
if條件滿足,執行if后面的代碼塊(代碼前面有連續的tab鍵),而不是一條語句,else同理
<2>練一練
要求:從鍵盤獲取自己的年齡,判斷是否大于或者等于18歲,如果滿足就輸出“哥,已成年,網吧可以去了”
不滿足就輸出“未成年,回家寫作業去吧!”
代碼:
1 age = int(input("請輸入你的年齡:"))2 if age > 18:3 print("哥,已成年,網吧可以去了!")4 else:5 print("未成年,回家寫作業去吧!")
八、標識符、關鍵字、命名規則
標示符和關鍵字
<1>標示符(也就是變量名)
什么是標示符,看下圖:
開發人員在程序中自定義的一些符號和名稱
標示符是自己定義的,如變量名 、函數名等
<2>標示符的命令規則
標示符由字母、下劃線和數字組成,且數字不能開頭
思考:下面的標示符哪些是正確的,哪些不正確,為什么?
fromNo12from#12
my_Boolean
my-Boolean
Obj2
2ndObj
myInt
test1
Mike2jack
My_tExt
_test
test!32haha(da)tt
int
jack_rose
jack&rose
GUI
G.U.I
python中的標識符是區分大小寫的
<3>命名規則
3.1 見名知意
起一個有意義的名字,盡量做到看一眼就知道是什么意思(提高代碼可 讀性) 比如: 名字 就定義為 name , 定義學生 用 student
3.2 駝峰命名法
小駝峰式命名法(lower camel case): 第一個單詞以小寫字母開始;第二個單詞的首字母大寫,例如:myName、aDog
大駝峰式命名法(upper camel case): 每一個單字的首字母都采用大寫字母,例如:FirstName、LastName
不過在程序員中還有一種命名法比較流行,就是用下劃線“_”來連接所有的單詞,比如send_buf
<4>關鍵字
什么是關鍵字?
python一些具有特殊功能的標示符,這就是所謂的關鍵字
關鍵字,是python已經使用的了,所以不允許開發者自己定義和關鍵字相同的名字的標示符
查看關鍵字:
and as assert break class continue def del
elif else except exec finally for from global
if in import is lambda not or pass
print raise return try while with yield
可以通過以下命令進行查看當前系統中python的關鍵字
八、運算符
python支持以下幾種運算符
<1>算術運算符
下面以a=10 ,b=20為例進行計算
運算符描述實例
+
加
兩個對象相加 a + b 輸出結果 30
-
減
得到負數或是一個數減去另一個數 a - b 輸出結果 -10
*
乘
兩個數相乘或是返回一個被重復若干次的字符串 a * b 輸出結果 200
/
除
x除以y b / a 輸出結果 2
//
取整除
返回商的整數部分 9//2 輸出結果 4 , 9.0//2.0 輸出結果 4.0
%
取余
返回除法的余數 b % a 輸出結果 0
**
冪
返回x的y次冪 a**b 為10的20次方, 輸出結果 100000000000000000000
例:
>>> 9/2.0
4.5
>>> 9//2.0
4.0
<2>賦值運算符
運算符描述實例
=
賦值運算符
把=號右邊的結果給左邊的變量 num=1+2*3 結果num的值為7
例:
>>> a, b = 1, 2
>>>a1
>>>b2
<3>復合賦值運算符
運算符描述實例
+=
加法賦值運算符
c += a 等效于 c = c + a
-=
減法賦值運算符
c -= a 等效于 c = c - a
*=
乘法賦值運算符
c *= a 等效于 c = c * a
/=
除法賦值運算符
c /= a 等效于 c = c / a
%=
取模賦值運算符
c %= a 等效于 c = c % a
**=
冪賦值運算符
c **= a 等效于 c = c ** a
//=
取整除賦值運算符
c //= a 等效于 c = c // a
<4>比較(關系)運算符
運算符描述示例
==
檢查兩個操作數的值是否相等,如果是則條件變為真。
如a=3,b=3則(a == b) 為 true
!=
檢查兩個操作數的值是否相等,如果值不相等,則條件變為真。
如a=1,b=3則(a != b) 為 true
<>
檢查兩個操作數的值是否相等,如果值不相等,則條件變為真。
如a=1,b=3則(a <> b) 為 true。這個類似于 != 運算符
>
檢查左操作數的值是否大于右操作數的值,如果是,則條件成立。
如a=7,b=3則(a > b) 為 true
<
檢查左操作數的值是否小于右操作數的值,如果是,則條件成立。
如a=7,b=3則(a < b) 為 false
>=
檢查左操作數的值是否大于或等于右操作數的值,如果是,則條件成立。
如a=3,b=3則(a >= b) 為 true
<=
檢查左操作數的值是否小于或等于右操作數的值,如果是,則條件成立。
如a=3,b=3則(a <= b) 為 true
<5>邏輯運算符
運算符邏輯表達式描述實例
and
x and y
布爾"與" - 如果 x 為 False,x and y 返回 False,否則它返回 y 的計算值。
(a and b) 返回 20。
or
x or y
布爾"或" - 如果 x 是 True,它返回 True,否則它返回 y 的計算值。
(a or b) 返回 10。
not
not x
布爾"非" - 如果 x 為 True,返回 False 。如果 x 為 False,它返回 True。
not(a and b) 返回 False
總結
以上是生活随笔為你收集整理的python的认识_认识Python和基础知识的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求斐波那契数列前n项的值
- 下一篇: Python问题3——爬虫编码问题