Python

交互模式

>>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')

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章