交互模式
>>100+200
300
命令行 cal.py print('100+200')
c:\>python cal.py
300
Linux
hello.py
#!/usr/bin/env python3
print('hello, world')
chmod a+x hello.py
./hello.py
轉義:\n表示換行,\t表示製表符
>> print('I\'m ok.')
I'm ok.
不轉義:r''
>> print(r'\\t\')
\\t\
多行內容:很多換行,用\n寫在一行裏不好閱讀,爲了簡化,Python允許用'''...'''的格式表示
>> print('''line1
... line2
... line3''')
line1
line2
line3
除法:
>> 10 / 3
3.3333333333333335
>> 9 / 3
3.0
地板除(取整):
>> 10 // 3
3
餘數:
>> 10 % 3
1
list:
>> classmates = ['Michael', 'Bob', 'Tracy']
>> classmates
['Michael', 'Bob', 'Tracy']
>> len(classmates)
3
>> classmates[1]
'Bob'
最後一個元素:
>> classmates[-1]
'Tracy‘
追加元素:
>> classmates.append('Adam')
>> classmates
['Michael', 'Bob', 'Tracy', 'Adam']
插入元素:
>> classmates.insert(1, 'Jack')
>> classmates
['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']
刪除末尾元素:
>> classmates.pop()
'Adam'
>> classmates
['Michael', 'Jack', 'Bob', 'Tracy']
刪除指定位置元素:pop(i)
>> classmates.pop(1)
'Jack'
>> classmates
['Michael', 'Bob', 'Tracy']
替換:
>> classmates[1] = 'Sarah'
>> classmates
['Michael', 'Sarah', 'Tracy']
list的元素可以是另外一個list:
>> s = ['python', 'java', ['asp', 'php'], 'scheme']
>> len(s)
4
相當於:
>> p = ['asp', 'php']
>> s = ['python', 'java', p, 'scheme']
'php'是s[2][1]
元組:tuple 定義後不能改變
>>t=(1,2)
>>t
(1,2)
空tuple:t=()
定義一個元素:t=(1,)
定義爲1:t=(1) => 1
fake changeable tuple:(改變的是list)
>>t=('a','b',['A','B'])
>>t[2][0]='X'
>>t[2][1]='Y'
>>t
('a','b',['X','Y'])
條件判斷:
age=20
if (age>=18):
print ('your age is',age)
print ('adult')
else:
print ('your age is',age)
print ('teenage')
更精細的判斷:
age=3
if age>=18:
print ('adult')
elif age>=6:
print ('teenage')
else:
print ('kids')
input:input輸出的是string,string不能和1999整數相比
s=input('birth:')
birth=int(s)
if birth>=1999:
print('aa')
else:
print('b')
循環:
一種是for...in循環,依次把list或tuple中的每個元素迭代出來
names = ['Michael', 'Bob', 'Tracy']
for name in names:
print(name)
生成序列:
range()生成整數序列
轉換爲list:list()
>>list(range(5))
[0,1,2,3,4]
sum = 0
for x in range(101):
sum = sum + x
print(sum)
第二種循環是while循環,只要條件滿足,就不斷循環,條件不滿足時退出循環
sum = 0
n = 99
while n > 0:
sum = sum + n
n = n - 2
print(sum)
break 提前結束循環:
n = 1
while n <= 100:
if n > 10: # 當n = 11時,條件滿足,執行break語句
break # break語句會結束當前循環
print(n)
n = n + 1
print('END')
打印出1-10 end
continue:跳過當前的這次循環,直接開始下一次循環
n = 0
while n < 10:
n = n + 1
if n % 2 == 0: # 如果n是偶數,執行continue語句
continue # continue語句會直接繼續下一輪循環,後續的print()語句不會執行
print(n)
d
打印出1,3,5,7,9
dict:
>>d={'a':95,'b':75,'c':85}
>>d['a']
95
加內容到dict裏:
>>d['e']=67
>>d['e']
67
判斷key是否存在dict裏的方法:
1.‘f’ in d
False
2.get()
>>d.get(f) 沒有結果就表明是None
賦值:get()
>>d.get('f',-1)
-1
刪除key:pop()
>>d.pop('c')
85
>>d
{'a':95,'b':75}
set:只有key,沒有value
>>s=set{[1,1,2,3]}
>>s
{1,2,3}
添加:add(key) 可重複添加但無效果
>>s.add(4)
>>s
{1,2,3,4}
刪除元素:remove(key)
>>s.remove(4)
>>s
{1,2,3}
交集,並集
>>s1=set([1,2,3])
>>s2=set([2,3,4])
>>s1|s2
{1,2,3,4}
>>s1&s2
{2,3}
排序:sort()
代替:replace()
>>a='abc'
>>a.replace('a','A')
'Abc'
調用函數:
>>int('3')
3
定義函數:
def my_abs(x):
if x >= 0:
return x
else:
return -x
存爲abstest.py
>>>from abstest import my_abs
>>>my_abs(-9)
9
空函數,爲了讓程序能運行:
ef nop():
pass
內置數據類型檢查函數:isinstance()
def my_abs(x):
if not isinstance(x, (int, float)):
raise TypeError('bad operand type')
if x >= 0:
return x
else:
return -x
計算X的n次冪函:
def power(x, n):
s = 1
while n > 0:
n = n - 1
s = s * x
return s
默認參數:
def power(x, n=2):
s = 1
while n > 0:
n = n - 1
s = s * x
return s
>>power(5)
25
>>power(5,3)
例子:
def enroll(name, gender, age=6, city='Beijing'):
print('name:', name)
print('gender:', gender)
print('age:', age)
print('city:', city)
enroll('Bob', 'M', 7)
enroll('Adam', 'M', city='Tianjin')