摘要:最近空了些,學習一些有意思的東東。常量通常用大寫字母表示類似的。其他語言也需要進行相應的編碼,比如編碼中文兩個字節。這段代碼的兩幅圖條件判斷兩段代碼就可以大概知道下的了。判斷某中是否存在某個鍵值。,返回一個新的字符串,原來的并沒有改變。
最近空了些,學習一些有意思的東東。主要是看網上的教材,這篇也是邊看編寫的。
Python教程
輸入和輸出輸入:raw_input(),輸入形式為字符串格式
>>> name = raw_input("input sth:") input sth:Michael >>>name "Michael"
>>>birth = int(raw_input("birth: ")) birth: 1485 >>> birth 1485
這樣就把輸入的字符串轉換為整型了。
輸出:print
print "The quick brown fox", "jumps over", "the lazy dog" >>> The quick brown fox jumps over the lazy dog數據類型和變量
Python可以沒有大括號{}和分號,用縮進替代{},程序區分大小寫。
比如:
name = raw_input("enter a number:") if name >= 0: print name elif name < 0: print -name else: print "not a number"
包括了整數(ox表示十六進制),浮點數(1.23e9=1.23 x 10的9次方),字符串(為轉義字符),布爾值(True,False,可以用and,or,not運算),空值(None)
數據類型包括變量和常量。常量通常用大寫字母表示(類似C++的define)。
Python的變量賦值類似指針
a = "ABC" b = a a = "XYZ" print b
最后結果是XYZ
字符串和編碼計算機能處理的是二進制文件,就需要把字符串轉化為二進制數字進行保存。最早時采用的是ASCII編碼方式,用一個字節(8位)把字母編碼到計算機里,比如A對應數字65,z對應122。其他語言也需要進行相應的編碼,比如GB2312編碼中文(兩個字節)。在不同語言采用不同編碼保存時,讀取字符串就成了問題。
因此有了Unicode,把所有語言用一種方式編碼。但有時Unicode占用內存較浪費,比如A只需要一個字節的內存,事實上多過一個字節,就又有了UTF-8編碼,智能化字符串的編碼方式,節省內存。
Unicode轉換為UTF-8保存到文件::
瀏覽網頁的時候,服務器會把動態生成的Unicode內容轉換為UTF-8再傳輸到瀏覽器::
文件保存的是UTF-8的編碼方式,打開時變為Unicode編碼方式。
Python的出現比Unicode早,普通的字符串用ASCII編碼
>>> ord("A") 65 >>> chr(65) "A"
后來增加了對Unicode的支持
>>> print u"中文" 中文 >>> u"中" u"u4e2d"
Unicode編碼轉換未utf-8編碼
>>> u"ABC".encode("utf-8") "ABC" >>> u"中文".encode("utf-8") "xe4xb8xadxe6x96x87"
utf-8轉換為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元素個數,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,而是一個整形數字,因為()也可以認為是數學公式中的小括號。可以通過加上,來區分tuple和單個數字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是非零數值、非空字符串、非空list等,就判斷為True,否則為False if x: print "True";
Python下的for循環
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循環
sum = 0 n = 99 while n > 0: sum = sum + n n = n - 1 print sum使用dict和set
dict是一種key-value數據存儲格式。
>>> 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并沒有改變。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/37315.html
摘要:通過函數名作為其的參數就能得到相應地幫助信息。類是面向對象編程的核心,它扮演相關數據及邏輯的容器的角色。之后是可選的文檔字符串,靜態成員定義,及方法定義。 Python 源文件通常用.py 擴展名。當源文件被解釋器加載或顯式地進行字節碼編譯的時候會被編譯成字節碼。由于調用解釋器的方式不同,源文件會被編譯成帶有.pyc或.pyo擴展名的文件,你可以在第十二章模塊學到更多的關于擴展名的知識...
摘要:概覽概覽產品簡介什么是訓練服務交互式訓練分布式訓練分布式訓練簡介分布式訓練分布式訓練產品優勢產品更新記錄產品定價快速上手開始使用快速上手案例介紹環境準備創建鏡像倉庫 概覽產品簡介什么是AI訓練服務交互式訓練分布式訓練分布式訓練簡介TensorFlow分布式訓練MXNet分布式訓練產品優勢產品更新記錄產品定價快速上手開始使用UAI-Train快速上手-MNIST案例MNIST 介紹環境準備創建...
摘要:概覽數字字符列表字典元組文件其他類型集合,,類類型,其他文件類工具管道,先進先出管道,套接字文件類型轉換非字符字符項目操作和的結果相同對象的精確值,但大多數使用可轉化的非數值數值項目操作轉化為整數轉化為浮點序列化項目操作字符串轉化為 概覽 showImg(https://segmentfault.com/img/remote/1460000008522793?w=739&h=823);...
摘要:一個標準性的事件就是年的橫空出世。引擎快速處理能力和異步編程風格,讓開發者從多線程中解脫了出來。其次,通過異步編程范式將其高并發的能力發揮的淋漓盡致。它也僅僅是一個處理請求并作出響應的函數,并無任何特殊之處。 showImg(https://segmentfault.com/img/remote/1460000010819116); 在正式學習 Express 內容之前,我們有必要從大...
摘要:本報告面向的讀者是想要進入機器學習領域的學生和正在尋找新框架的專家。其輸入需要重塑為包含個元素的一維向量以滿足神經網絡。卷積神經網絡目前代表著用于圖像分類任務的較先進算法,并構成了深度學習中的主要架構。 初學者在學習神經網絡的時候往往會有不知道從何處入手的困難,甚至可能不知道選擇什么工具入手才合適。近日,來自意大利的四位研究者發布了一篇題為《神經網絡初學者:在 MATLAB、Torch 和 ...
閱讀 788·2021-10-09 09:44
閱讀 692·2019-08-30 13:55
閱讀 3153·2019-08-29 15:07
閱讀 3218·2019-08-29 13:09
閱讀 2413·2019-08-29 11:10
閱讀 1289·2019-08-26 14:05
閱讀 3591·2019-08-26 13:57
閱讀 2206·2019-08-23 16:42