成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Python試水

zhjx922 / 2953人閱讀

摘要:你好,特別注意定義編碼格式的這一行代碼必須放在第一行或者第二行,一般如果第一行是提示位置的代碼,那么定義編碼格式的這一行就必須放在第二行,否則依然會(huì)提示錯(cuò)誤。基本功能是進(jìn)行成員關(guān)系測(cè)試和刪除重復(fù)元素。

一、Hello,Python!

試水 test.py

print "你好,Python!" #python 2.x
python ("你好,Python!") #python 3.x

很不幸,第一個(gè)test.py就遇到了字符錯(cuò)誤!

nodedeMacBook-Pro:pytest node$ python ./test.py
File "./test.py", line 1
SyntaxError: Non-ASCII character "xef" in file ./test.py on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

解決方案:在以后的每一個(gè)需要顯示漢字的python文件中, 可以采用如下方法在 #!/usr/bin/python的下一行加上一句話來(lái)定義編碼格式,以u(píng)tf-8編碼為例。

#!/usr/bin/python
#coding:utf-8 1??| #-*-coding:utf-8 -*- 2??| #vim: set fileencoding:utf-8 3??
print "你好,Python!"

***特別注意:定義編碼格式的這一行代碼必須放在第一行或者第二行, 一般如果第一行是提示python位置的代碼, 那么定義編碼格式的這一行就必須放在第二行,否則依然會(huì)提示錯(cuò)誤。
轉(zhuǎn)自:https://www.cnblogs.com/Karry...

二、基礎(chǔ)語(yǔ)法 行和縮進(jìn)

js代碼塊一般使用{}包裹,Python則是使用縮進(jìn),但是所有代碼塊語(yǔ)句必須包含相同的縮進(jìn)空白數(shù)量

多行語(yǔ)句
# 使用斜杠( )將一行的語(yǔ)句分為多行顯示
total = item_one + 
        item_two + 
        item_three
# 語(yǔ)句中包含 [], {} 或 () 括號(hào)就不需要使用多行連接符
days = ["Monday", "Tuesday", "Wednesday",
        "Thursday", "Friday"]
引號(hào)

Python 可以使用引號(hào)( " )、雙引號(hào)( " )、三引號(hào)( """ 或 """ ) 來(lái)表示字符串,其中三引號(hào)可以由多行組成,編寫多行文本的快捷語(yǔ)法,常用于文檔字符串(類似js的模板字符串"``"),在文件的特定地點(diǎn),被當(dāng)做注釋。

word = "word"
sentence = "這是一個(gè)句子。"
paragraph = """這是一個(gè)段落。
包含了多個(gè)語(yǔ)句"""
注釋

python中單行注釋采用 # 開頭。多行注釋使用三個(gè)單引號(hào)(""")或三個(gè)雙引號(hào)(""")。

同一行顯示多條語(yǔ)句

Python可以在同一行中使用多條語(yǔ)句,語(yǔ)句之間使用分號(hào)(;)分割

import sys; x = "runoob"; sys.stdout.write(x + "
")
輸出

print 默認(rèn)輸出是換行的,如果要實(shí)現(xiàn)不換行需要在變量末尾加上逗號(hào) ,

#!/usr/bin/python
# -*- coding: UTF-8 -*-

x="a"
y="b"
# 換行輸出
print x
print y

print "---------"
# 不換行輸出
print x,
print y,

# 不換行輸出
print x,y

結(jié)果

a
b
---------
a b a b
多個(gè)語(yǔ)句構(gòu)成代碼組

縮進(jìn)相同的一組語(yǔ)句構(gòu)成一個(gè)代碼塊,我們稱之代碼組。

import 與 from...import

類似 js 的import

# python
import sys #導(dǎo)入 sys 模塊
from sys import argv,path  #導(dǎo)入 sys 模塊的 argv,path 成員
from sys import #導(dǎo)入 sys 模塊的所有成員

# js
import sys from sys
import sys as _sys from sys
import { argv,path } from sys
三、變量類型 變量聲明和賦值

Python 中的變量賦值不需要類型聲明,但是必須先賦值
每個(gè)變量在內(nèi)存中創(chuàng)建,都包括變量的標(biāo)識(shí),名稱和數(shù)據(jù)這些信息。
每個(gè)變量在使用前都必須賦值,變量賦值以后該變量才會(huì)被創(chuàng)建。
等號(hào)(=)用來(lái)給變量賦值。
等號(hào)(=)運(yùn)算符左邊是一個(gè)變量名,等號(hào)(=)運(yùn)算符右邊是存儲(chǔ)在變量中的值。

counter = 100 # 賦值整型變量
miles = 1000.0 # 浮點(diǎn)型
name = "John" # 字符串

多個(gè)變量賦值

# Python允許你同時(shí)為多個(gè)變量賦值
a = b = c = 1
# 也可以為多個(gè)對(duì)象指定多個(gè)變量
a, b, c = 1, 2, "john"
標(biāo)準(zhǔn)數(shù)據(jù)類型

Python2.x有五個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)類型,Python3.x新增一個(gè)數(shù)據(jù)類型:

Numbers(數(shù)字)數(shù)字?jǐn)?shù)據(jù)類型用于存儲(chǔ)數(shù)值。Python支持四種不同的數(shù)字類型:int(有符號(hào)整型)、long(長(zhǎng)整型[也可以代表八進(jìn)制和十六進(jìn)制],long 類型只存在于 Python2.X 版本中,在 2.2 以后的版本中,int 類型數(shù)據(jù)溢出后會(huì)自動(dòng)轉(zhuǎn)為long類型。在 Python3.X 版本中 long 類型被移除,使用 int 替代)、float(浮點(diǎn)型)、complex(復(fù)數(shù))

創(chuàng)建Number對(duì)象var1 = 1;var2 = 10

通過(guò)使用del語(yǔ)句刪除單個(gè)或多個(gè)對(duì)象的引用del var; del var_a, var_b

數(shù)值的除法包含兩個(gè)運(yùn)算符:/ 返回一個(gè)浮點(diǎn)數(shù),// 返回一個(gè)整數(shù) 10 // 3結(jié)果為 3

在混合計(jì)算時(shí),Python會(huì)把整型轉(zhuǎn)換成為浮點(diǎn)數(shù) 18 / 6 +2結(jié)果為 5.0

String(字符串),字符串或串(String)是由數(shù)字、字母、下劃線組成的一串字符

從字符串中獲取一段子字符串的話,可以使用 [頭下標(biāo):尾下標(biāo)] 來(lái)截取相應(yīng)的字符串,其中下標(biāo)是從 0 開始算起,可以是正數(shù)或負(fù)數(shù),下標(biāo)可以為空表示取到頭或尾。

 str = "Hello World!"   
 print str           # 輸出完整字符串
 print str[0]        # 輸出字符串中的第一個(gè)字符
 print str[2:5]      # 輸出字符串中第三個(gè)至第六個(gè)之間的字符串
 print str[2:]       # 輸出從第三個(gè)字符開始的字符串
 print str * 2       # 輸出字符串兩次
 print str + "TEST"  # 輸出連接的字符串

result:

 Hello World!
 H
 llo
 llo World!
 Hello World!Hello World!
 Hello World!TEST

Python 列表截取可以接收第三個(gè)參數(shù),參數(shù)作用是截取的步長(zhǎng)

   >>> str = "abcdefg"
   >>> str[1:4:2]
   "bd"
   >>> str[1:4:3]
   "b"
   >>> str[1:4:1]
   "bcd"
   >>> str[1:6:2]
   "bdf"
   >>> str[1:6:1]
   "bcdef"

綜上述實(shí)驗(yàn),我認(rèn)為這樣理解比較合適,第二參數(shù)默認(rèn)為字符串的長(zhǎng)度-1,作用為規(guī)定字符串截取的截止位置;第三個(gè)參數(shù)默認(rèn)為1,作用為跳過(guò)n-1個(gè)字符,n-1為0即參數(shù)為1時(shí)步長(zhǎng)為0

List(列表) ,列表用 [ ] 標(biāo)識(shí),是 python 最通用的復(fù)合數(shù)據(jù)類型(其實(shí)就類似于其他語(yǔ)言的數(shù)組)

列表中值的切割也可以用到變量 [頭下標(biāo):尾下標(biāo)] ,就可以截取相應(yīng)的列表,從左到右索引默認(rèn) 0 開始,從右到左索引默認(rèn) -1 開始,下標(biāo)可以為空表示取到頭或尾。

 list = [ "runoob", 786 , 2.23, "john", 70.2 ]
 tinylist = [123, "john"]    
 print list               # 輸出完整列表
 print list[0]            # 輸出列表的第一個(gè)元素
 print list[1:3]          # 輸出第二個(gè)至第三個(gè)元素 
 print list[2:]           # 輸出從第三個(gè)開始至列表末尾的所有元素
 print tinylist * 2       # 輸出列表兩次
 print list + tinylist    # 打印組合的列表

result:

 ["runoob", 786, 2.23, "john", 70.2]
 runoob
 [786, 2.23]
 [2.23, "john", 70.2]
 [123, "john", 123, "john"]
 ["runoob", 786, 2.23, "john", 70.2, 123, "john"]

Tuple(元組),元組是另一個(gè)數(shù)據(jù)類型,類似于 List(列表)。元組用 () 標(biāo)識(shí)。內(nèi)部元素用逗號(hào)隔開。但是元組不能二次賦值,相當(dāng)于只讀列表。

 tuple = ( "runoob", 786 , 2.23, "john", 70.2 )
 tinytuple = (123, "john")
 print tuple               # 輸出完整元組
 print tuple[0]            # 輸出元組的第一個(gè)元素
 print tuple[1:3]          # 輸出第二個(gè)至第四個(gè)(不包含)的元素 
 print tuple[2:]           # 輸出從第三個(gè)開始至列表末尾的所有元素
 print tinytuple * 2       # 輸出元組兩次
 print tuple + tinytuple   # 打印組合的元組

result:

 ("runoob", 786, 2.23, "john", 70.2)
 runoob
 (786, 2.23)
 (2.23, "john", 70.2)
 (123, "john", 123, "john")
 ("runoob", 786, 2.23, "john", 70.2, 123, "john")    
 
# 注意元祖不可以修改
 tuple = ( "runoob", 786 , 2.23, "john", 70.2 )
 list = [ "runoob", 786 , 2.23, "john", 70.2 ]
 tuple[2] = 1000    # 元組中是非法應(yīng)用
 list[2] = 1000     # 列表中是合法應(yīng)用

Dictionary(字典),字典(dictionary)是除列表以外python之中最靈活的內(nèi)置數(shù)據(jù)結(jié)構(gòu)類型。列表是有序的對(duì)象集合,字典是無(wú)序的對(duì)象集合。兩者之間的區(qū)別在于:字典當(dāng)中的元素是通過(guò)鍵來(lái)存取的,而不是通過(guò)偏移存取。字典用"{ }"標(biāo)識(shí)。字典由索引(key)和它對(duì)應(yīng)的值value組成。(說(shuō)白了列表是數(shù)組,字典是對(duì)象)

 dict = {}
 dict["one"] = "This is one"
 dict[2] = "This is two"

 tinydict = {"name": "john","code":6734, "dept": "sales"}
  

 print dict["one"]          # 輸出鍵為"one" 的值
 print dict[2]              # 輸出鍵為 2 的值
 print tinydict             # 輸出完整的字典
 print tinydict.keys()      # 輸出所有鍵
 print tinydict.values()    # 輸出所有值

result:

 This is one
 This is two
 {"dept": "sales", "code": 6734, "name": "john"}
 ["dept", "code", "name"]
 ["sales", 6734, "john"]

Set(集合,Python3.x新增)集合(set)是由一個(gè)或數(shù)個(gè)形態(tài)各異的大小整體組成的,構(gòu)成集合的事物或?qū)ο蠓Q作元素或是成員?;竟δ苁沁M(jìn)行成員關(guān)系測(cè)試和刪除重復(fù)元素??梢允褂么罄ㄌ?hào) { } 或者 set() 函數(shù)創(chuàng)建集合,注意:創(chuàng)建一個(gè)空集合必須用 set() 而不是 { },因?yàn)?{ } 是用來(lái)創(chuàng)建一個(gè)空字典。

創(chuàng)建格式

 # 第一種方式
 parame = {value01,value02,...}
 parame = {} # 這種方式創(chuàng)建一個(gè)空字典而不是空集合
 # 第二種方式
 parame = set(value)
 parame = set() # 使用這種方式創(chuàng)建一個(gè)空集合

實(shí)例

>>basket = {"apple", "orange", "apple", "pear", "orange", "banana"}
>> print(basket)                      # 這里演示的是去重功能
 {"orange", "banana", "pear", "apple"}
>> "orange" in basket                 # 快速判斷元素是否在集合內(nèi)
 True
>> "crabgrass" in basket
 False
>> # 下面展示集合的基本操作
  ···
>> student = {"Jackey", "Rose", "Jerrey", "Hans", "Tom"}
>> student.add("Jack")                # 添加(單個(gè))元素,add
>> student
 {"Jackey", "Rose", "Jerrey", "Hans", "Jack", "Tom"}
>> student.update({"Lily","Jams"})    # 添加(多個(gè))元素,update
>> student
 {"Jams", "Jackey", "Rose", "Jerrey", "Hans", "Lily", "Jack", "Tom"}
>> student.remove("Lily")             # 移除(單個(gè))元素,如果元素不存在,則會(huì)發(fā)生錯(cuò)誤
 {"Jams", "Jackey", "Rose", "Jerrey", "Hans", "Jack", "Tom"}
>> student.discard("Tiffny")          # 移除(單個(gè))元素,如果元素不存在,不會(huì)發(fā)生錯(cuò)誤
>> student
 {"Jams", "Jackey", "Rose", "Jerrey", "Hans", "Jack", "Tom"}
 
>> # 計(jì)算集合的個(gè)數(shù)
>> len(student)
 7
 
>> # 判斷元素是否在集合中存在
>> "Jackey" in student
 True
>> "Nancy" in student
 False
 
>> # 下面展示兩個(gè)集合間的運(yùn)算.
 ...
>> a = set("abracadabra")
>> b = set("alacazam")
>> a                                  
 {"a", "r", "b", "c", "d"}
>> a - b                              # 集合a中包含而集合b中不包含的元素
 {"r", "d", "b"}
>> a | b                              # 集合a或b中包含的所有元素
 {"a", "c", "r", "d", "b", "m", "z", "l"}
>> a & b                              # 集合a和b中都包含了的元素
 {"a", "c"}
>> a ^ b                              # 不同時(shí)包含于a和b的元素
 {"r", "d", "b", "m", "z", "l"}

數(shù)據(jù)類型轉(zhuǎn)換

int(x [,base]),將x轉(zhuǎn)換為一個(gè)整數(shù)
long(x [,base] ),將x轉(zhuǎn)換為一個(gè)長(zhǎng)整數(shù)
float(x),將x轉(zhuǎn)換到一個(gè)浮點(diǎn)數(shù)
complex(real [,imag]),創(chuàng)建一個(gè)復(fù)數(shù)
str(x),將對(duì)象 x 轉(zhuǎn)換為字符串
repr(x),將對(duì)象 x 轉(zhuǎn)換為表達(dá)式字符串
eval(str),用來(lái)計(jì)算在字符串中的有效Python表達(dá)式,并返回一個(gè)對(duì)象
tuple(s),將序列 s 轉(zhuǎn)換為一個(gè)元組
list(s),將序列 s 轉(zhuǎn)換為一個(gè)列表
set(s),轉(zhuǎn)換為可變集合
dict(d),創(chuàng)建一個(gè)字典。d 必須是一個(gè)序列 (key,value)元組。
frozenset(s),轉(zhuǎn)換為不可變集合
chr(x),將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)字符
unichr(x),將一個(gè)整數(shù)轉(zhuǎn)換為Unicode字符
ord(x),將一個(gè)字符轉(zhuǎn)換為它的整數(shù)值
hex(x),將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)十六進(jìn)制字符串
oct(x),將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)八進(jìn)制字符串

四、條件控制
if condition_1:
    statement_block_1
elif condition_2:
    statement_block_2
else:
    statement_block_3
五、循環(huán)語(yǔ)句 while 循環(huán)

可以使用 else 語(yǔ)句,在 while … else 在條件語(yǔ)句為 false 時(shí)執(zhí)行 else 的語(yǔ)句塊

while 判斷條件:
    語(yǔ)句
else:
    語(yǔ)句
    
# 例子
count = 0
while count < 5:
   print (count, " 小于 5")
   count = count + 1
else:
   print (count, " 大于或等于 5")
for 語(yǔ)句

for循環(huán)可以遍歷任何序列的項(xiàng)目,如一個(gè)列表或者一個(gè)字符串

for  in :
    
else:
    
    
# 例子
sites = ["Baidu", "Google","Runoob","Taobao"]
for site in sites:
    if site == "Runoob":
        print("菜鳥教程!")
        break
    print("循環(huán)數(shù)據(jù) " + site)
else:
    print("沒(méi)有循環(huán)數(shù)據(jù)!")
print("完成循環(huán)!")
range(x,y,z)函數(shù)

如果你需要遍歷數(shù)字序列,可以使用內(nèi)置range()函數(shù)。它會(huì)生成數(shù)列。x為初始值,y為結(jié)束值(可以不填),z為步長(zhǎng)(可以不填),x,y,z均可以為負(fù)數(shù)

>>>for i in range(5,9) :
    print(i)
 
# return    
5
6
7
8
>>>
>>>for i in range(0, 10, 3) :
    print(i)
 
    
0
3
6
9
>>>
break和continue語(yǔ)句及循環(huán)中的else子句

break 語(yǔ)句可以跳出 for 和 while 的循環(huán)體。如果你從 for 或 while 循環(huán)中終止,任何對(duì)應(yīng)的循環(huán) else 塊將不執(zhí)行;continue語(yǔ)句被用來(lái)告訴Python跳過(guò)當(dāng)前循環(huán)塊中的剩余語(yǔ)句,然后繼續(xù)進(jìn)行下一輪循環(huán);循環(huán)語(yǔ)句可以有 else 子句,它在窮盡列表(以for循環(huán))或條件變?yōu)?false (以while循環(huán))導(dǎo)致循環(huán)終止時(shí)被執(zhí)行,但循環(huán)被break終止時(shí)不執(zhí)行。

pass 語(yǔ)句

Python pass是空語(yǔ)句,是為了保持程序結(jié)構(gòu)的完整性。
pass 不做任何事情,一般用做占位語(yǔ)句,如下實(shí)例

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/43903.html

相關(guān)文章

  • [筆記](méi)1.Karma前端TDD試水

    摘要:起博主是電信行業(yè)的碼農(nóng),在工作單位也搞搞單元測(cè)試和了什么。目前對(duì)技術(shù)很感興趣,嘗試新的領(lǐng)域里面也試試看這次要用的方式要實(shí)現(xiàn)一個(gè)簡(jiǎn)單畫圖板功能,支持和。配置文件里面主要就是一個(gè)對(duì)象,根據(jù)注釋提示調(diào)整下即可。 起 博主是電信行業(yè)的碼農(nóng),在工作單位也搞搞單元測(cè)試和TDD了什么。目前對(duì)Web技術(shù)很感興趣,嘗試新的領(lǐng)域里面也試試看TDD. 這次要用TDD的方式要實(shí)現(xiàn)一個(gè)簡(jiǎn)單畫圖板功能,支持C...

    894974231 評(píng)論0 收藏0
  • 聯(lián)想凌拓“開業(yè)大吉” 是試水還是全面變革的前兆?

    摘要:相比較財(cái)報(bào)這個(gè)振奮人心的消息,筆者更關(guān)注聯(lián)想凌拓的成立。目前聯(lián)想凌拓主要面對(duì)的也還只是中國(guó)市場(chǎng),未來(lái)聯(lián)想在全球范圍內(nèi)與的合作空間會(huì)有多大尚未可知。開年以來(lái),聯(lián)想可謂好事不斷,一掃去年被各路媒體口誅筆伐的陰霾。在聯(lián)想集團(tuán)剛剛發(fā)布的2018/19財(cái)年第三季度財(cái)報(bào)中,集團(tuán)營(yíng)業(yè)額增至971億人民幣,稅前利潤(rùn)也達(dá)到24.2億。其中,DCG業(yè)務(wù)(數(shù)據(jù)中心集團(tuán))營(yíng)業(yè)額繼續(xù)保持雙位數(shù)增長(zhǎng),同比增速達(dá)到31%...

    XiNGRZ 評(píng)論0 收藏0
  • AWS VS Kubernetes

    摘要:亞馬遜最近成為云原生計(jì)算基金會(huì)的新成員與它對(duì)谷歌啟動(dòng)的這個(gè)容器項(xiàng)目實(shí)際貢獻(xiàn)的代碼不相稱。盡管早早進(jìn)入了市場(chǎng),儼然成了容器的代名詞,但谷歌的積聚的勢(shì)頭還是最猛,所有企業(yè)中將近表示,自己的容器編排戰(zhàn)略包括。 作者簡(jiǎn)介:Matt Asay是IT外媒《InfoWorld》的長(zhǎng)篇撰稿人,以前是名知識(shí)產(chǎn)權(quán)律師,目前是Adobe公司的移動(dòng)副總裁。本文表達(dá)的觀點(diǎn)僅代表其本人,而不代表其雇主。亞馬遜最近成為云...

    khlbat 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<