面向過程程式設計

2022-09-04 02:09:08 字數 3994 閱讀 3431

麵條版 --》 面向過程程式設計 --》 思想 --》物件導向程式設計

面向(代詞--》使用) 過程(流程--》步驟) 程式設計(寫**,寫檔案)

i input 輸入(定義的變數) p process 過程(控制變數的改變) o output(新的變數) 輸出程式設計 == 面向過程程式設計

面向過程程式設計:類似於流水線,一步一步往下走,乙個步驟就是乙個函式

優點:邏輯非常清晰

匿名--> 沒有名字 --> 沒辦法呼叫 --> 只能和某些方法聯用

# 匿名函式的語法

# lambda 引數:返回值 # 如果你真的要用,也可以用,但是會變成有名函式

f = lambda x, y: x * y

res = f(1, 2)

print(res)

max

# max 返回最大值

res = max([1, 2, 3, 4, 5])

print(res)

res = max(1, 2, 3, 4, 5, 6, )

print(res)

# 案例  

# 輸入薪資最大

salary_dict =

res= max(salary_dict) # 預設key的首字母

# 輸出名字首字母最大,不是薪資最大

print(res)

# z

#為了返回薪資,定義乙個函式func

def func(name): # nick/jason/tank/sean/z

return salary_dict[name] # 3000/100000/5000/2000/1000

res = max(salary_dict, key=func) # 有名函式

print(res)

# jason

# key=func預設做的事情

# 1. 迴圈遍歷salary_dict,會取到所有的key值

# 2. 然後把所有的key值依次丟入func中,返回薪資

# 3. 通過返回的薪資排序,得到最大值

# 匿名函式

def func(name):

return salary_dict[name]

res = max(salary_dict, key=lambda name: salary_dict[name])

# 引數 :返回值

print(res)

# jason

#舉一反三

res = min(salary_dict, key=lambda name: salary_dict[name])

print(res)

# z

fileter

# fileter ---> 篩選

def function(item): # 1/2/3/4

if item < 5:

return true

else:

return false

# res = filter(function, [1, 2, 3, 4])

res = filter(lambda item: item > 2, [1, 2, 3, 4])

print(res) # 迭代器

print(list(res))

salary_dict =

res = filter(lambda item: salary_dict[item] > 3000, salary_dict)

print(list(res))

map

# map  --> 對映 --> y = x+1

def function1(item):

return item + 2

res = map(function1, [1, 2, 3, ])

print(res)

print(list(res))

sorted

# sorted --> 排序

def function2(item):

return salary_dict[item]

salary_dict =

# res = sorted([2,3,4,1,0,5],key=function2,reverse=true)

res = sorted(salary_dict, key=function2, reverse=true)

print(list(res))

# 用得上的

# enumerate(********) 取出索引和值

lt = [1, 2, 3]

for i in range(len(lt)):

print(i, lt[i])

for ind, val in enumerate(lt):

print(ind, val)

# eval(***) --> 把字串的引號去掉,留下來的是什麼就是什麼

s = '"abc"'

print(type(eval(s)), eval(s))

# abc

# hash,可變不可雜湊,不可變可雜湊

print(hash(123123))# 正確返回輸入的值,錯誤報錯

# 123123

# bytes

res = bytes('中國', encoding='utf8')

print(res)

# chr/ord

print(chr(97))

print(ord('a'))

# divmod

print(divmod(10, 4)) # 取整/取餘

# 了解

# abs 絕對值

print(abs(-1))

# all# 可迭代物件內的元素全部為true則為true

print(all([1, 2, 3, 3]))

# any

print(any([0, 0, ]))

# bin/oct/hex

print(bin(123)) # 0b1111011 二進位制

print(oct(123)) # 0c173 八進位制

print(hex(123)) # 0x7b 十六進製制

# dir: 列出模組的所有方法

import time

print(dir(time))

# frozenset: 不可變化的集合,類似於元組

s = frozenset()

print(s)

# gloabals/locals

def func():

s = 's1'

print(globals()) # 列出所有全域性變數

print('locals():', locals()) # 列出當前位置所有變數

func()

# pow

print(pow(2, 2))

# round

print(round(10.333))

# slice

s = slice(1, 5, 2) # 1start,5stop,2step

lt = [1, 2, 3, 4, 5, 6, 7]

print(lt[s])

print(lt[1:5:2]) #索引取值 python3

# sum

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

# __import__ # 通過字串匯入模組

# import 'time'

time = __import__('time')

print(time.time())

面向過程程式設計

目錄 二 分層實現功能 python從入門到放棄完整教程目錄 面向過程程式設計是解決問題的一種思想,相當於武林門派,武林門派之間沒有好壞之分,因此它與我們之後學習的物件導向程式設計其實沒有好壞之分。面向過程程式設計,核心是程式設計二字,過程指的是解決問題的步驟,即先幹什麼 後幹什麼 再幹什麼 然後幹...

面向過程程式設計

面向過程程式設計是解決問題的一種思想,相當於武林門派,武林門派之間沒有好壞之分,因此它與我們之後學習的物件導向程式設計其實沒有好壞之分。面向過程程式設計,核心是程式設計二字,過程指的是解決問題的步驟,即先幹什麼 後幹什麼 再幹什麼 然後幹什麼 基於該思想編寫程式就好比在設計一條流水線,面向對稱程式設...

面向過程程式設計

面向過程程式設計是解決問題的一種思想,相當於武林門派,武林門派之間沒有好壞之分,因此它與我們之後學習的物件導向程式設計其實沒有好壞之分。面向過程程式設計,核心是程式設計二字,過程指的是解決問題的步驟,即先幹什麼 後幹什麼 再幹什麼 然後幹什麼 基於該思想編寫程式就好比在設計一條流水線,面向對稱程式設...