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

資訊專欄INFORMATION COLUMN

Python學習 - 概覽

ziwenxie / 2446人閱讀

摘要:最近空了些,學習一些有意思的東東。常量通常用大寫字母表示類似的。其他語言也需要進行相應(yīng)的編碼,比如編碼中文兩個字節(jié)。這段代碼的兩幅圖條件判斷兩段代碼就可以大概知道下的了。判斷某中是否存在某個鍵值。,返回一個新的字符串,原來的并沒有改變。

最近空了些,學習一些有意思的東東。主要是看網(wǎng)上的教材,這篇也是邊看編寫的。

Python教程

輸入和輸出

輸入:raw_input(),輸入形式為字符串格式

>>> name = raw_input("input sth:")
input sth:Michael
>>>name
"Michael"
>>>birth = int(raw_input("birth: "))
birth: 1485
>>> birth
1485

這樣就把輸入的字符串轉(zhuǎn)換為整型了。

輸出:print

print "The quick brown fox", "jumps over", "the lazy dog"
>>> The quick brown fox jumps over the lazy dog
數(shù)據(jù)類型和變量

Python可以沒有大括號{}和分號,用縮進替代{},程序區(qū)分大小寫。

比如:

name = raw_input("enter a number:")
if name >= 0:
    print name 
elif name < 0:
    print -name
else:
    print "not a number"

包括了整數(shù)(ox表示十六進制),浮點數(shù)(1.23e9=1.23 x 10的9次方),字符串(為轉(zhuǎn)義字符),布爾值(True,False,可以用and,or,not運算),空值(None)

數(shù)據(jù)類型包括變量和常量。常量通常用大寫字母表示(類似C++的define)。

Python的變量賦值類似指針

a = "ABC"
b = a
a = "XYZ"
print b

最后結(jié)果是XYZ

字符串和編碼

計算機能處理的是二進制文件,就需要把字符串轉(zhuǎn)化為二進制數(shù)字進行保存。最早時采用的是ASCII編碼方式,用一個字節(jié)(8位)把字母編碼到計算機里,比如A對應(yīng)數(shù)字65,z對應(yīng)122。其他語言也需要進行相應(yīng)的編碼,比如GB2312編碼中文(兩個字節(jié))。在不同語言采用不同編碼保存時,讀取字符串就成了問題。

因此有了Unicode,把所有語言用一種方式編碼。但有時Unicode占用內(nèi)存較浪費,比如A只需要一個字節(jié)的內(nèi)存,事實上多過一個字節(jié),就又有了UTF-8編碼,智能化字符串的編碼方式,節(jié)省內(nèi)存。

Unicode轉(zhuǎn)換為UTF-8保存到文件::

瀏覽網(wǎng)頁的時候,服務(wù)器會把動態(tài)生成的Unicode內(nèi)容轉(zhuǎn)換為UTF-8再傳輸?shù)綖g覽器::

文件保存的是UTF-8的編碼方式,打開時變?yōu)閁nicode編碼方式。

Python的出現(xiàn)比Unicode早,普通的字符串用ASCII編碼

>>> ord("A")
65
>>> chr(65)
"A"

后來增加了對Unicode的支持

>>> print u"中文"
中文
>>> u"中"
u"u4e2d"

Unicode編碼轉(zhuǎn)換未utf-8編碼

>>> u"ABC".encode("utf-8")
"ABC"
>>> u"中文".encode("utf-8")
"xe4xb8xadxe6x96x87"

utf-8轉(zhuǎn)換為unicode

>>> "abc".decode("utf-8")
u"abc"
>>> "xe4xb8xadxe6x96x87".decode("utf-8")
u"u4e2du6587"
>>> print "xe4xb8xadxe6x96x87".decode("utf-8")
中文

在代碼中包含中文時,就需要用UTF-8編碼讀取,在文件頭加一行

# -*- coding: utf-8 -*-

Python也可以使用格式化輸出。

>>> "Hello, %s" % "world"
"Hello, world"
>>> "Hi, %s, you have $%d." % ("Michael", 1000000)
"Hi, Michael, you have $1000000."
使用list和tuple

list類似objective-c下的NSMutableArray,

>>> classmates = ["Michael", "Bob", "Tracy"]
>>> classmates
["Michael", "Bob", "Tracy"]

可以使用len(classmates)計算list元素個數(shù),classmates[-1]獲取list最后一個
元素。

在list最后增加一個元素

>>> classmates.append("Adam")
>>> classmates
["Michael", "Bob", "Tracy", "Adam"]

在某個index插入一個元素

>>> classmates.insert(1, "Jack")
>>> classmates
["Michael", "Jack", "Bob", "Tracy", "Adam"]

刪除list的最后一個元素classmates.pop(),刪除某個index的元素classmates.pop(i)

tuple是另一種有序元祖,與list類似,但是tuple一旦初始化后就不能修改了。

>>> t = (1, 2)
>>> t
(1, 2)

如果只定義一個元素,采用t = (1),則t不是一個tuple,而是一個整形數(shù)字,因為()也可以認為是數(shù)學公式中的小括號。可以通過加上,來區(qū)分tuple和單個數(shù)字t = (1, ),python在顯示只有一個元組的tuple時,也會加上,

tuple也可以是可變的,比如:

>>> t = ("a", "b", ["A", "B"])
>>> t[2][0] = "X"
>>> t[2][1] = "Y"
>>> t
("a", "b", ["X", "Y"])

tuple有一個元素是list,而list是可變的。這段代碼的兩幅圖:

條件判斷

兩段代碼就可以大概知道Python下的if else了。

Python省去了{},使用縮進代替。

age = 3
if age >= 18:
    print "your age is", age
    print "adult"
else:
    print "your age is", age
    print "teenager"
age = 20
if age >= 6:
    print "teenager"
elif age >= 18:
    print "adult"
else:
    print "kid"
#如果只要x是非零數(shù)值、非空字符串、非空list等,就判斷為True,否則為False
if x:
    print "True";

Python下的for循環(huán)

names = ["Michael", "Bob", "Tracy"]
for name in names:
    print name
sum = 0
for x in range(101):
    sum = sum + x
print sum

range(101) = [0,1,2,3....100]

還有一種是while循環(huán)

sum = 0
n = 99
while n > 0:
    sum = sum + n
    n = n - 1
print sum
使用dict和set

dict是一種key-value數(shù)據(jù)存儲格式。

>>> d = {"Michael": 95, "Bob": 75, "Tracy": 85}
>>> d["Michael"]
95

判斷某dict中是否存在某個鍵值。

>>> d.get("Thomas")
>>> d.get("Thomas", -1)//-1為自定義返回值
-1
>>> "Thomas" in d
False

pop(key)刪除dic中的某個特定鍵值對,比如d.pop("Bob")

string對象在Python中是不可變的。

>>> a = "abc"
>>> b = a.replace("a", "A")
>>> b
"Abc"
>>> a
"abc"

a.replace("a","A"),返回一個新的字符串Abc,原來的a并沒有改變。

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

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

相關(guān)文章

  • Python 基礎(chǔ)概覽

    摘要:通過函數(shù)名作為其的參數(shù)就能得到相應(yīng)地幫助信息。類是面向?qū)ο缶幊痰暮诵?,它扮演相關(guān)數(shù)據(jù)及邏輯的容器的角色。之后是可選的文檔字符串,靜態(tài)成員定義,及方法定義。 Python 源文件通常用.py 擴展名。當源文件被解釋器加載或顯式地進行字節(jié)碼編譯的時候會被編譯成字節(jié)碼。由于調(diào)用解釋器的方式不同,源文件會被編譯成帶有.pyc或.pyo擴展名的文件,你可以在第十二章模塊學到更多的關(guān)于擴展名的知識...

    zhongmeizhi 評論0 收藏0
  • 概覽 AI訓(xùn)練服務(wù) UAI Train

    摘要:概覽概覽產(chǎn)品簡介什么是訓(xùn)練服務(wù)交互式訓(xùn)練分布式訓(xùn)練分布式訓(xùn)練簡介分布式訓(xùn)練分布式訓(xùn)練產(chǎn)品優(yōu)勢產(chǎn)品更新記錄產(chǎn)品定價快速上手開始使用快速上手案例介紹環(huán)境準備創(chuàng)建鏡像倉庫 概覽產(chǎn)品簡介什么是AI訓(xùn)練服務(wù)交互式訓(xùn)練分布式訓(xùn)練分布式訓(xùn)練簡介TensorFlow分布式訓(xùn)練MXNet分布式訓(xùn)練產(chǎn)品優(yōu)勢產(chǎn)品更新記錄產(chǎn)品定價快速上手開始使用UAI-Train快速上手-MNIST案例MNIST 介紹環(huán)境準備創(chuàng)建...

    ernest.wang 評論0 收藏2903
  • python核心數(shù)據(jù)類型 -- 概覽

    摘要:概覽數(shù)字字符列表字典元組文件其他類型集合,,類類型,其他文件類工具管道,先進先出管道,套接字文件類型轉(zhuǎn)換非字符字符項目操作和的結(jié)果相同對象的精確值,但大多數(shù)使用可轉(zhuǎn)化的非數(shù)值數(shù)值項目操作轉(zhuǎn)化為整數(shù)轉(zhuǎn)化為浮點序列化項目操作字符串轉(zhuǎn)化為 概覽 showImg(https://segmentfault.com/img/remote/1460000008522793?w=739&h=823);...

    pinecone 評論0 收藏0
  • Express 實戰(zhàn)(一):概覽

    摘要:一個標準性的事件就是年的橫空出世。引擎快速處理能力和異步編程風格,讓開發(fā)者從多線程中解脫了出來。其次,通過異步編程范式將其高并發(fā)的能力發(fā)揮的淋漓盡致。它也僅僅是一個處理請求并作出響應(yīng)的函數(shù),并無任何特殊之處。 showImg(https://segmentfault.com/img/remote/1460000010819116); 在正式學習 Express 內(nèi)容之前,我們有必要從大...

    zhaochunqi 評論0 收藏0
  • 初學者怎么選擇神經(jīng)網(wǎng)絡(luò)環(huán)境?對比MATLAB、Torch和TensorFlow

    摘要:本報告面向的讀者是想要進入機器學習領(lǐng)域的學生和正在尋找新框架的專家。其輸入需要重塑為包含個元素的一維向量以滿足神經(jīng)網(wǎng)絡(luò)。卷積神經(jīng)網(wǎng)絡(luò)目前代表著用于圖像分類任務(wù)的較先進算法,并構(gòu)成了深度學習中的主要架構(gòu)。 初學者在學習神經(jīng)網(wǎng)絡(luò)的時候往往會有不知道從何處入手的困難,甚至可能不知道選擇什么工具入手才合適。近日,來自意大利的四位研究者發(fā)布了一篇題為《神經(jīng)網(wǎng)絡(luò)初學者:在 MATLAB、Torch 和 ...

    yunhao 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<