很簡單基礎的東西,自己看書順便記錄下,方便以後回顧
1.程序輸入函數input_raw(),獲取用戶輸入的文本
python
- >>> username = raw_input('輸入你的用戶名:')
- 輸入你的用戶名:vinbin
- >>> username
- 'vinbin'
java
- Scanner in = new Scanner(System.in);
- String username = in.next();
python獲取輸入的文本字符串,並轉換爲整數進行運算:
int()函數可以將數值字符串轉換爲整數,進行數學運算
- >>> num = raw_input('請輸入一個數字:')
- 請輸入一個數字:1024
- >>> print '把你輸入的數翻倍是:%d' % (int(num)*2)
- 把你輸入的數翻倍是:2048
java獲取用戶輸入的數值:
- Scanner in = new Scanner(System.in);
- int num = in.nextInt();
2.pytho註釋
# 行註釋
文檔註釋,可以生成文檔的
- >>> def foo():
- "這是文檔註釋"
- return true
類似於java 的 /** ........ */
3.運算符
邏輯運算符
and or not
4.變量與賦值
python是動態語言,不需要預先聲明變量的類型,變量的類型和值在賦值的那一刻被初始化
python支持增量賦值
n*=10
python不支持++1 與 --1運算
5.數字
python支持5種基本數字類型
int (有符號整數)
long (長整數)
bool (布爾值)
float (浮點值)
complex (複數)
6.字符串
python字符串被定義爲引號之間的字符集合,成對的單引號或成對的雙引號
得到子字符串
索引運算符 []
類似於java String 的 charAt(int index)
方法
切片運算符 [:]
類似java String的substring(int beginIndex, int endIndex)
方法
python字符串的索引規則與java不同
第一個字符串索引是0,最後一個字符串索引是-1
python中加號‘+’用於字符串連接,星號‘*’用於字符串重複
- >>> pystr = 'python'
- >>> pystr[0]
- 'p'
- >>> pystr[2:5]
- 'tho'
- >>> iscool = 'is cool!'
- >>> iscool[:2]
- 'is'
- >>> iscool[:3]
- 'is '
- >>> pystr+iscool
- 'pythonis cool!'
- >>> pystr + ' ' + iscool
- 'python is cool!'
- >>> pystr * 2
- 'pythonpython'
7.列表和元組
類似於java中的數組
和數組一樣,通過從0 開始的數字索引訪問元素
列表和元組可以存儲不同類型的對象
- 列表元素用中括號( [ ])包裹,元素的個數及元素的值可以改變
- 元組元素用小括號(( ))包裹,元素的個數及元素的值不可以更改,元組可以看成是隻讀的列表。
- 通過切片運算( [ ] 和 [ : ] )可以得到子集
列表切片運算示例
- >>> aList = [1,2,3,4]
- >>> aList
- [1, 2, 3, 4]
- >>> aList[0] #顯示索引0 ,也就是第一個元素
- 1
- >>> aList[2:] #顯示索引1後面的元素
- [3, 4]
- >>> aList[:3] #顯示索引2前面的元素
- [1, 2, 3]
- >>> aList[1]=5 #把第二個元素值改爲5
- >>> aList
- [1, 5, 3, 4]
元組也可以進行切片運算,得到的結果也是元組(不能被修改):
- >>> aTuple = ('bin',78,99,'test')
- >>> aTuple
- ('bin', 78, 99, 'test')
- >>> aTuple[3:]
- ('test',)
- >>> aTuple[:3]
- ('bin', 78, 99)
- >>> aTuple[1] = 5 #元組中的元素不能被修改
- Traceback (most recent call last):
- File "<pyshell#35>", line 1, in <module>
- aTuple[1] = 5 #元組中的元素不能被修改
- TypeError: 'tuple' object does not support item assignment
- >>>
8.字典
是python中的映射數據類型,類似於java中的HashMap,由鍵-值(key-value)對構成
>>> aDict = {'host': 'earth'} # create dict
9.if語句
標準if 條件語句的語法如下:
- >>> a = 1
- >>> if a <2:
- print 'a<2'
10.while循環
- >>> counter = 0
- >>> while counter<3:
- print 'loop #%d' % (counter)
- counter+=1
11.for 循環和range()內建函數
for 遍歷一個列表
- >>> for item in ['e-mail','net-surfing','homework','chat']:
- print item
- net-surfing
- homework
- chat
range()內建函數,接受一個數值範圍, 生成一個列表
- >>> for eachNum in range(20):
- print eachNum
for迭代一個字符串中的每一個字符
- >>> foo='bannedSites'
- >>> for char in foo:
- print char
range()函數和len()函數一起用於字符串索引,顯示字符串每一個元素及其索引
下標
- >>> foo='abc'
- >>> for i in range(len(foo)):
- print foo[i],'(%d)' % i
- a (0)
- b (1)
- c (2)
enumerate()函數,同時循環索引,及元素
- >>> for i,ch in enumerate(foo):
- print ch,'(%d)' % i
- a (0)
- b (1)
- c (2)
12.列表解析
可以在一行中使用一個for 循環將所有值放到一個列表當中:
- >>> sqdEvens = [x **2 for x in range(8) if not x % 2]
- >>> for i in sqdEvens:
- print i
- 0
- 4
- 16
- 36
13.文件和內建函數open() 、file()
打開文件
handle = open(file_name, access_mode = 'r')
file_name 要打開的文件名字
access_mode
'r' 表示讀取
'w' 表示寫入
'a' 表示添加
'+' 表示讀寫
'b' 表示二進制訪問
打開一個文件,打印出文件內容
- >>> filename = raw_input('輸入文件名:')
- 輸入文件名:D:\test.txt
- >>> filename
- 'D:\\test.txt'
- >>> fobj = open(filename,'r')
- >>> for eachLine in fobj:
- print eachLine,
- asdasdasd
- asdasdfdgvc b
- xcvsdf
- sdfsdf
- cxv
- >>> fobj.close
14.函數
如果函數中沒有 return 語句, 就會自動返回 None 對象。
接收一個文件名,輸出該文件的內容函數
- >>> def showFile(filename):
- print '文件內容如下:'
- fobj = open(filename,'r')
- for line in fobj:
- print line,
- fobj.close
- >>> showFile('d:\\test.txt')
- 文件內容如下:
- asdasdasd
- asdasdfdgvc b
- xcvsdf
- sdfsdf
- cxv
在原有值基礎上加上自己
- >>> def addMe2Me(x):
- return (x+x)
- >>> addMe2Me(2)
- 4
- >>> addMe2Me(4.35)
- 8.7
- >>> addMe2Me('python')
- 'pythonpython'
- >>> addMe2Me([-1,'abc'])
- [-1, 'abc', -1, 'abc']
幾乎所有的標準數據類型都支持 + 運算符, 不管是數值相加還是序列合併。