Python文件類型,變量及字符串
(1)源代碼:
vim test.py
#!/usr/bin/python
print 'hello world!'
運行方法1:
[root@localhost python]# python test.py
hello world!
[root@localhost python]#
運行方法2:
[root@localhost python]# chmod +x test.py
[root@localhost python]# ./test.py
hello world!
[root@localhost python]#
(2)字節代碼:
python源文件編譯後為擴展名字為.pyc
刪除源碼,編譯後的二進制文件可以獨立執行。
編譯方法:
vim 2.py
#!/usr/bin/python
import py_compile
py_compile.compile('test.py')
[root@localhost python]# python 2.py
[root@localhost python]# ls
2.py test.py test.pyc
[root@localhost python]#
[root@localhost python]# python test.pyc
hello world!
[root@localhost python]#
(3)優化的代碼:
python -O -m py_compile test.py
[root@localhost python]# python -O -m py_compile test.py
[root@localhost python]# ls
2.py test.py test.pyc test.pyo
[root@localhost python]# python test.pyo
hello world!
[root@localhost python]#
2.Python的變量
變量是計算機內存中的一塊區域,變量可以存儲規定範圍內的值,而且值可以改變結構。
python下變量是對一個數據的引用
(1)變量的命名:
變量名的長度不受限制,但其中的字符必須是字母、數字、或者下劃線(_),而不能使用空格、連字符、標點符號、引號或其他字符。
變量名的第一個字符不能是數字,而必須是字母或下劃線。
Python區分大小寫。
不能將Python關鍵字用作變量名。
例如: a a1 _a
(2)變量的賦值:
是變量的聲明和定義的過程。
a = 123
In [1]: a = 123
In [2]: a
Out[2]: 123
In [3]: id(a)
Out[3]: 7891024
In [4]: a = 456
In [5]: id(a)
Out[5]: 19127624
In [6]:
(3)運算符和表達式:
賦值運算符
算術運算符
關系運算符
邏輯運算符
表達式:
將不同的數據(包括變量、函數)用運算符號按一定的規則連接起來的一種式子。
1)賦值運算符
In [68]: a = 3
In [69]: a
Out[69]: 3
In [70]: a+=3
In [71]: a
Out[71]: 6
In [72]: a-=4
In [73]: a
Out[73]: 2
In [76]: a*=3
In [77]: a
Out[77]: 6
In [78]: a/=2
In [79]: a
Out[79]: 3
In [80]: a%=3
In [81]: a
Out[81]: 0
In [82]:
2)算術運算符
In [82]: 1 + 2
Out[82]: 3
In [83]: 2 - 1
Out[83]: 1
In [84]: 2 * 2
Out[84]: 4
In [85]: 6 / 2
Out[85]: 3
In [86]: 6 % 2
Out[86]: 0
In [88]: 3.999999 / 2
Out[88]: 1.9999995
In [89]: 3.999999 // 2
Out[89]: 1.0
In [90]: 3 ** 2
Out[90]: 9
In [91]:
3)關系運算符:
In [91]: 1 > 2
Out[91]: False
In [92]: 2 < 3
Out[92]: True
In [93]: 2 >= 1
Out[93]: True
In [94]: 3 <= 56
Out[94]: True
In [95]: 3 == 3
Out[95]: True
In [96]: 2 != 34
Out[96]: True
In [97]:
4)邏輯運算符:
In [97]: 1 < 2 and 2 > 0
Out[97]: True
In [98]: 1 == 1 and 2 < 1
Out[98]: False
In [99]: 1 == 1 or 2 < 1
Out[99]: True
In [100]: not 1 > 2
Out[100]: True
5)各種運算符的優先級:
往右越高 上到下越高,
lambda 匿名函數。
練習:
寫一個四則運算器:
要求從鍵盤讀取數字。
input()與raw_input()
查看幫助:help(input)
raw_input()都當然成字符串處理
%s 格式化字符串。
[root@localhost python]# cat 4.py
#!/usr/bin/python
num1 = input("Please input: ")
num2 = input("Please input: ")
print "%s + %s = %s" % (num1,num2,num1+num2)
print "%s - %s = %s" % (num1,num2,num1-num2)
print "%s * %s = %s" % (num1,num2,num1*num2)
print "%s / %s = %s" % (num1,num2,num1/num2)
[root@localhost python]# python 4.py
Please input: 3
Please input: 5
3 + 5 = 8
3 - 5 = -2
3 * 5 = 15
3 / 5 = 0
[root@localhost python]#
3.Python的數值和字符串
數據類型:
數值
字符串
列表
元組
字典
數值類型:
整型
In [6]: a = 123
In [7]: type(a)
Out[7]: int
In [8]:
長整型
In [8]: a = 199999999999999999999999999999
In [9]: a
Out[10]: 199999999999999999999999999999L
In [11]: type(a)
Out[12]: long
In [13]:
浮點型
0.0, 12.0 -18.8 3e+7等
科學計數法是浮點型
In [11]: 3e+7
Out[11]: 30000000.0
In [12]: type(3e+7)
Out[12]: float
In [13]: 3.0/2
Out[13]: 1.5
In [14]: type(3.0/2)
Out[14]: float
In [15]:
復數型
python對復數提供內嵌支持,這是大部分軟件沒有的。
In [8]: a = 3.14j
In [9]: a
Out[9]: 3.14j
In [10]: type(a)
Out[10]: complex
字符串類型:
In [12]: a = 'abc'
In [13]: a
Out[13]: 'abc'
In [14]: type(a)
Out[14]: str
In [15]:
三重引號還可以做註釋:.
In [28]: a = 'hello\nworld'
In [29]: a
Out[29]: 'hello\nworld'
In [30]: a = "hello\nworld"
In [31]: a
Out[31]: 'hello\nworld'
In [39]: a = '''hello\nworld'''
In [40]: a
Out[40]: 'hello\nworld'
In [41]: print a
hello
world
In [42]:
In [43]: type(a)
Out[44]: str
序列索引:
In [42]: a = 'abcde'
In [43]: a[0]
Out[43]: 'a'
In [44]: a[1]
Out[44]: 'b'
In [45]: a[-1]
Out[45]: 'e'
In [46]: a[-2]
Out[46]: 'd'
序列切片:
In [42]: a = 'abcde'
In [43]: a[0]
Out[43]: 'a'
In [44]: a[1]
Out[44]: 'b'
In [45]: a[-1]
Out[45]: 'e'
In [46]: a[-2]
Out[46]: 'd'
In [47]: a[0:2]
Out[47]: 'ab'
In [48]: a[0:4]
Out[48]: 'abcd'
In [49]: a[0:3]
Out[49]: 'abc'
In [50]: a[1:3]
Out[50]: 'bc'
In [56]: a[0] + a[1]
Out[56]: 'ab'
In [57]: a[:2]
Out[57]: 'ab'
In [58]: a[:]
Out[58]: 'abcde'
In [59]: a[:-1]
Out[59]: 'abcd'
In [60]: a[::-1]
Out[60]: 'edcba'
In [61]: a[::1]
Out[61]: 'abcde'
In [62]: a[:3:1]
Out[62]: 'abc'
In [63]: a[::2]
Out[63]: 'ace'
In [64]: a
Out[64]: 'abcde'
In [65]: a[-4::-2]
Out[65]: 'b'
In [66]: a[-4:-2]
Out[66]: 'bc'
In [67]: a[-2:-4:-1]
Out[67]: 'dc'
In [68]:
練習:
將 “123” 轉換成整數
In [1]: int(123)
Out[1]: 123
將 “9999999999999999999” 轉換成長整數
In [2]: long(9999999999999999999)
Out[2]: 9999999999999999999L
將 “3.1415926” 轉換成一個浮點數
In [4]: float(3.1415926)
Out[4]: 3.1415926
將 123 轉換成一個字符串
In [3]: str(123)
Out[3]: '123'
現有以下字符串
字符串1:" abc deFGh&*ijkl opq mnrst((uvwxyz "
字符串2:" ABC#DEF GH%IJ MNOPQ KLRS&&TUVWX(*&YZ "
使用字符串的各種方法轉換成如下方式
ABCDEFGHIJKLMNOPQRSTUVWXYZzyxwvutsrqponmlkjihgfedcba
b[1:4]+b[5:8]+b[9:11]+b[13:14]+b[15:20]+b[22:25]+b[28:32]+b[35:37]+
Python文件類型,變量及字符串