原文參考:http://www.cnblogs.com/dollarzhaole/archive/2013/03/13/2958587.html
1. 腳本中寫中文出現亂碼,用以下可以解決。
# coding=<encoding name> #!/usr/bin/python # -*- coding: <encoding name> -*- #!/usr/bin/python # vim: set fileencoding=<encoding name> :
my_name = 'Zed A. Shaw' print "Let's talk about %s." % my_name print "========================================================" print round(2.00034, 3) #2.0 print round(345.2345, 2) #345.23 print "hex of 1444 is %x" % 1444 #5a4
round(num, n)函數是對浮點數num對第n位小數四捨五入,n取正負均可。
round(345, -1) = 350.0
round(345, -3) = 0.0
round(345, 0) = 345.0
3.以下是對Python format characters的總結。
例如:“that is %d %s bird!”%(1,”dead”)
“%s---%s----%s”%(42,3.1415,[1,2,3])
%cdoe
其中的code有多種,不過由於在python中,所有東西都可以轉換成string類型,因此,如果沒有什麼特殊需求完全可以全部使用’%s‘來標記。
有一個repr()函數,如果要用這個 函數,可以用%r來標記。除了%s外,還有很多類似的code:
整型數:%d
無符號整型數:%u
八進制:%o
十六進制:%x %X
浮點數:%f
科學記數法: %e %E
根據數值的不同自動選擇%e或%f: %g
根據數值的不同自動選擇%E或%f: %G
模板替換:Python3.0 中新字符串對象format方法,使用主題字符串作爲模版
“that {0} a {1} string”.format(“is”,”python”)
4.Python的轉義字符
轉義字符能夠使我們在字符串中嵌入鍵盤不容易輸入的字符
例如:s='a\nb\tc' 其中\n表示爲換行符 \t表示爲製表
>>> print s
a
b c
對轉義字符總結:
\newline 忽視連續
\\ 保留\
\’ \” 保留’ 和”
\a 響鈴
\b倒退
\f換頁
\n換行
\t 水平製表
\v 垂直製表
\xhh 十六進制
\000 八進制
5 Raw字符串抑制轉義
Myfile =open(‘C:\new\text.dat’,’w’)
Myfile =open(r’C:\new\text.dat’,’w’)
Myfile =open(‘C:\\new\\text.dat’,’w’)
6 用三重引號 內的字符串常量,稱之爲字符快
Long_strings=“”” always look
On the bright
Side of life .”””
引號內的內容會被直接輸出,或引用
7 字符串分片
S[i:j]提取相對部分作爲序列
上邊界不包含在內
分片邊界爲0或者序列的長度
S[1:3]獲取從偏移量爲1的元素,直到不包含偏移量爲3的元素
S[1:]獲取從偏移量爲1的元組直到結尾(偏移爲序列的長度)之間的元素
S[:3]獲取偏移量爲0直到不包含偏移量爲3的元素
S[:-1]獲取偏移量爲0直到不包含最後一個元素
S[:]獲取從0偏移量到末尾之間的元素
8 拓展分片
[i:j:k]
獲取從偏移量i直到j,但不包含j 的元素,每隔k元素取值一次。如果沒有制定k元素爲1
>>> i
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
>>> i[1:10:2]
[2, 4, 6, 8, 10]
9 字符串轉換
>>> int('42')+1 字符串轉換爲整形
43
Str(42) 將數字轉換爲字符串表達式
Ord(‘a’) 轉換爲ASCII碼
Chr(115)將ASCII轉換爲對應的字符
10 字符串的修改
不可變序列不可原地修改 ,如
>>> s="wisdom"
>>> s[0]='apple'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment 此時引發異常
可以相加>>> S=s+"apple"
>>> S
'wisdomapple'
或者,將他放在某一分片的位置。
>>> H=s[:4]+'append'+s[-1]
>>> H
'wisdappendm'
>>> H=s[:4]+'append'+s[4:]
>>> H
'wisdappendom'
11 字符串中大小寫的變換
S.lower() #小寫
* S.upper() #大寫
* S.swapcase() #大小寫互換
* S.capitalize() #首字母大寫
* String.capwords(S)
* S.title() #只有首字母大寫,其餘爲小寫,模塊中沒有這個方法
12 字符串在輸出時的對齊
S.ljust(width,[fillchar])
#輸出width個字符,S左對齊,不足部分用fillchar填充,默認的爲空格。
* S.rjust(width,[fillchar]) #右對齊
* S.center(width, [fillchar]) #中間對齊
* S.zfill(width) #把S變成width長,並在右對齊,不足部分用0補足
13 字符串中的搜索和替換
* S.find(substr, [start, [end]])
#返回S中出現substr的第一個字母的標號,如果S中沒有substr則返回-1。start和end作用就相當於在S[start:end]中搜索
* S.index(substr, [start, [end]])
#與find()相同,只是在S中沒有substr時,會返回一個運行時錯誤
* S.rfind(substr, [start, [end]])
#返回S中最後出現的substr的第一個字母的標號,如果S中沒有substr則返回-1,也就是說從右邊算起的第一次出現的substr的首字母標號
* S.rindex(substr, [start, [end]])
* S.count(substr, [start, [end]]) #計算substr在S中出現的次數
* S.replace(oldstr, newstr, [count])
#把S中的oldstar替換爲newstr,count爲替換次數。這是替換的通用形式,還有一些函數進行特殊字符的替換
* S.strip([chars])
#把S中前後chars中有的字符全部去掉,可以理解爲把S前後chars替換爲None
* S.lstrip([chars])
* S.rstrip([chars])
* S.expandtabs([tabsize])
#把S中的tab字符替換沒空格,每個tab替換爲tabsize個空格,默認是8個