python基礎1 零碎

2021-07-30 03:20:53 字數 4641 閱讀 3646

已然好久沒有在csdn上寫文章了,這些系列文章是為了學習python而做的筆記 

# -*- coding: utf-8 -*-

# coding: utf-8

# 單行注釋

'''第一行

第二行'''

"""多行注釋

在python中 ' 和 " 都是一樣的

"""# 連線行

str = 'abcd' \

'efgh'

print(str)

str = 'hello \n world'

print(str)

str = """hello

world"""

print(str) # 倆行

print('abc"123"efg') # abc"123"efg

print("abc'123'efg") # abc'123'efg

print('abc\'123\'efg') # abc'123'efg

#----------------------------------#

print(type([1, 2, 3, 'a', 'b'])) # list

print(type((1, 'abc'))) # tuple

print(type(set(['a', 'b', 3]))) # set

print(type()) # dict

def func(a, b, c):

print(a, b, c)

print(type(func)) # function

a = func

print(type(a)) # function

import string

print(string) # module

# 類和類的例項

class myclass(object):

pass

print(type(myclass)) # type

my_class = myclass()

print(my_class) # __main__.myclass object at ox101caca10

# for 迴圈

for i in range(0, 30, 5):

print(i)

while 迴圈

a = 0

i = 1

while i<=100:

a +=i

i +=1

print(a)

# 函式元組

def func_name(arg_1, arg_2):

print(arg_1, arg_2) # (1, 2)

return arg_1, arg_2

r = func_name(1, 2)

print(type(r)) # tuple

print(r[0], r[1])

def func(x, y=500):

print('x=', x)

print('y=', y)

return x+y

print(func(100))

print(func( y = 300, x = 200 ))

print(func( x = 400))

def func(p):

print('x=', p['x'])

print('y=', p['y'])

print(func())

# 可變引數 *numbers是元組 會將後面的引數打包成乙個唯讀陣列

def func(name, *numbers):

print(type(numbers))

print(numbers)

func('tom', 1, 2, 3, 4, 'adb12', 'd')

def func(*args):

print(args)

print(type(args)) # tuple

func(1, 2, 3, 'a', 'b', 'c')

func('x=', 100, '; y=', 200)

# 字典 **kvs means key/values

def func(name, **kvs) :

print(name)

print(type(kvs)) # dict

print(kvs)

func('tom', china = 'beijing', uk = 'london')

# 可變引數必須放在後面 且 * 為必須帶名字

def func(a, b, c, *, china, uk):

print(china, uk)

func(1, 2, 3, china = 'bj', uk = 'ld') # 2.7.x 貌似不支援

def func(a, b, c=0, *args, **kvs):

print(a, b, c)

print(args)

print(kvs)

func(1, 2)

func(1, 2, 3)

func(1, 2, 3, 'a', 'b', 'c')

func(1, 2, 3, 'a', 'b', china = 'bj', uk = 'ld')

func(1, 2, 3, *('a', 'b'), **)

# 遞迴問題

def my_sum(i):

if i < 0 :

raise valueerror

elif i <= 1 :

return i

else :

return i + my_sum(i-1)

print(my_sum(1))

print(my_sum(5))

print(my_sum(500))

# f(n) = f(n-1) + f(n-2)

def fib(n):

if n < 1 :

raise valueerror

elif n <=2 :

return 1

else :

return fib(n-1) + fib(n-2)

print(fib(40))

# 函式是可以作為引數

def sum(x, y, p = none ) :

s = x + y

if p:

p(s)

return s

sum(100, 200)

sum(100, 200, print) # can not run in python2.7x

def cmp(x, y, cp = none) :

if not cp :

if x > y :

return 1

elif x < y :

return -1

else :

return 0

else :

return cp(x, y)

def my_cp(x, y):

if x < y :

return 1

elif x == y :

return 0

else :

return -1

print(cmp(100, 200))

print(cmp(100, 200, my_cp))

print([1,2,3,4], sum)

def do_sum(data , method):

return method(data)

print(sum([10, 20]))

print(do_sum([1, 2, 3, 4], sum) )

# homework : change ' hello, how are u? ' to ' u? are how ,hello '

# 思路:先將單詞逆序,再將整個句子逆序

def reverse(str_list, start, end):

while(start < end):

str_list[start], str_list[end] = str_list[end], str_list[start]

start += 1

end -= 1

setence = ' hello, how are u? '

str_list = list(setence)

i = 0

while i < len(str_list):

if str_list[i] != ' ':

start = i

end = start + 1

while (end < len(str_list)) and str_list[end] != ' ':

end +=1

reverse(str_list, start, end - 1)

i = end

else:

i += 1

str_list.reverse()

print(''.join(str_list))

i'm fish, i'm on.

python基礎之零碎

1 變數是表示 或指向 特定值的名稱。例 x 3 就是講變數x與值 或物件 3關聯起來。變數就像是臨時 儲存區 其真正的威力就在於無需知道它們儲存的值就能操作它們。請注意,這裡給 儲存區 加上引號。值並非儲存在變數中,而是儲存在變數指向的計算機記憶體中。多個變數可以指向同乙個值。例如 x y表示x和...

Python零碎筆記

魔法方法 在python中,有一些內建好的特定的方法,這些方法在進行特定的操作時會自動被呼叫,稱之為魔法方法。常見的魔法方法有 init 初始化函式,在建立例項物件為其賦值時使用,必須至少有乙個引數self。new 建構函式,建立並返回乙個例項物件。必須要有返回值,返回例項化出來的例項。class ...

網路基礎零碎筆記

c windows system32 drivers etc hosts 對稱加密演算法 採用單鑰系統的加密方法,用乙個金鑰可以同時用作資訊的加密和解密,這種加密方法稱為對稱加密,也稱為單金鑰加密。非對稱加密演算法 有公開金鑰和私有金鑰 有乙個精彩的比喻 需要加密的檔案就像羽毛球,加密手段就是那個裝...