Day76 階段複習01

2022-09-09 00:09:30 字數 4166 閱讀 8470

劉清政,劉老師,老劉 ,justin

python開發:pycharm(收費),vscode(免費),sublintext,

go開發:goland(收費),vscode,國產的

j**a:idea(收費),eclipse(免費),myeclipse(收費)

android:androidstudio(免費),eclipse+adt

前端:webstorm(收費)

php:phpstorm(收費)

資料庫開發:data

jetbrains公司出的全家桶,乙個註冊碼,可以都用

androidstudio:買了jetbrains公司授權,在它基礎上,做了它

# 你出去之後開發環境:windows開發(主流),linux,  mac

# sanic,fastapi框架,windows安裝不上(不支援),

# 裝了烏班圖(linux系統)在上面開發,或配mac本

# 或 遠端連線linux開發,遠端連linux內的docker開發

編譯型:

c:c**寫完,編譯(不同平台上),導致跨平台執行(差),例如 linux上 需原始碼安裝軟體,先自行編譯,再執行

j**a: 一處編碼,處處執行

j**a是編譯型還是解釋型?

編譯型編譯過程:把j**a源**編譯成位元組碼檔案 .class ---但該位元組碼不能直接執行在作業系統之上----》借助jvm(j**a虛擬機器 類似於python的直譯器,可以在不同平台上安裝,從而解決跨平台性差的問題)

但jvm執行至少要300m記憶體 (比較佔記憶體,故j**a中,有乙個優化問題:jvm調優)

jdkjre

jvmj**ase(基礎) j**ame(很老手機的j**a開發 不是安卓機,是塞班系統的j**a遊戲) j**aee(做j**a web開發)

go:編譯型,跨平台編譯(windows平台可以編譯出mac平台的可執行檔案),所有go**可直接打包成乙個可執行檔案 (對比python的優點)

解釋型:

python: 強型別動態語言

js:只能在瀏覽器中執行,nodejs(js做後端開發)

php:web開發

# 你們將來從從事的方向

2 自動化運維:收集伺服器軟硬體資訊(cmdb),jumpserver(堡壘機),sql審批,監控,日誌收集與處理

devops:ci/di

4 資料分析:

5 爬蟲:

6 量化交易

7 人工智慧,影象處理

8 安全方向:埠掃瞄,弱口令掃瞄,sql注入,csrf攻擊,xss攻擊(《python絕技:運用python成為頂級黑客》 提前看看)

9 網路方向

10 物聯網方向:硬體互動 (不走http協議,硬體檢測資料,用socket程式設計上傳資料)

# 申請乙個github賬號

# 維護乙個部落格(,自己寫的,hexo搭建)

python中一切皆物件

# type和object的關係

1 type是object的類 object是由type例項化得到

2 type繼承了object

3 type是type自己的類

總結:type 是所有類(包括自己)的元類,其他類都是由它例項化得到的

object 是所有類(不包括自己)的父類,其他類都繼承於它

a=int(2)

# int是乙個類,具體實現是由c語言實現的,如果寫了pass,看不到原始碼,有一部分可以看到

# print(type(1)) # int :數字1 的類是int

# print(type(int))

# print(type(dict))

# int dict 都是type類的物件

# int dict 繼承了object

# type和object是什麼關係?

# def a():

# pass

# print(type(a))

print(type(int)) # type

print(type(object)) # type

print(type(type)) # type

# 一切皆物件的好處

不同型別之間的變數直接可以相關賦值

a=100

a='***'

其實本質,變數都是指向了乙個記憶體位址,而不是直接指向資料本身 從而實現,變數可以通過賦值(指向其他的記憶體位址)來改變自己的資料型別

於是 出現了深淺copy問題

# 深淺copy問題

變數----->記憶體位址----->資料本身

l = [1,2,3,[4,5,6]]

l2 = l # 賦值 (是新的變數,指向同乙個記憶體位址)

print(l2 is l) # true

from copy import copy

from copy import deepcopy

l3 = copy(l)

print(l) # [1,2,3,[4,5,6]]

print(l3) # [1,2,3,[4,5,6]]

print(l is l3) # false 淺拷貝 (新的變數,指向了記憶體位址的乙個新淺拷貝位址)

l3[3][1]=999

print(l) # [1,2,3,[4,999,6]]

l4 = deepcopy(l)

l4[3][1] = 999

print(l) # [1,2,3,[4,5,6]]

print(l4) # [1,2,3,[4,999,6]]

print(l4 is l) # false 深拷貝 (新的變數,指向了記憶體位址的乙個新深拷貝位址,不管原位址有多少層 全部拷貝,全新的,兩個相互獨立)

#字典,列表,集合   可變型別

#數字,字串,元組 不可變型別

# 字典的key必須用不可變型別,可以hash

# 看一下這篇部落格

# python中的引數傳遞是值傳遞還是引用傳遞?

python中引數傳遞都是淺拷貝copy乙份傳遞過去,由於一切皆物件,傳過去都是位址,python中區分可變和不可變型別,可變型別在函式中修改會影響原來的,不可變型別不會影響原來的

# 計算機的計量單位:

bit位元位:0或者1的乙個小格

8個bit位是乙個byte,乙個位元組

1024個位元組---》1kb

1024kb---》1mb

1024mb---》1gb

1個位元組---》2的8次方 種變化,就可以表示出所有的字元(數字,字母,標點符號)

計算機到了中國---》中國漢字--》gbk編碼

但是到了不同國家,不同國家有不同國家編碼方式,就會出現亂碼問題

unicode編碼統一了,只是規定了字元和數字的對應關係

具體的儲存方式:

utf-8:目前主流的編碼方式 可變動的儲存

utf-16

需要說清楚:assic碼,gbk,unicode,utf-8

# 1 定義在函式內部

# 2 對外部作用域有引用

函式是一等公民:函式可以賦值給乙個變數

# 裝飾器是閉包函式的典型應用

# python中有裝飾器語法糖 @

def inner(*args,**kwargs):

# **

res=func(*args,**kwargs)

# **

return res

return inner

# 沒有語法糖

def a():

print("***")

a()

# 有語法糖

def a():

print("***")

# 面向切面程式設計 aop

# oop 物件導向程式設計

# 前後端傳資料三種編碼格式(urlencode、formdata、json) 傳json格式時,原生django不能從request.post中取出字典, 資料在request.body中

# 1.用中介軟體或者裝飾器前端不管傳json還是其他格式,requests物件中有個data屬性

CSS中的長度問題 Day76

今天沒有繼續昨天的問題,因為今天沒時間,從來就感覺自己在忙,不過可喜的是,以前我在忙著迷茫,現在我在忙著勵志.記得有句話說的特別好 那些想明白了就可以不做的事情,往往不做就想不明白 這句話讓我佩服很久,那些曾經的日子總在提醒我要珍惜現在。說說css的幾種距離吧,大致有px em pt pc in m...

前端學習 第一階段 day01

一 文字相關的標記 1.例如標題h1到h6 2.段落 3.標記 alt 當載入失敗的文字提示 title 滑鼠懸停時的文字提示 width 寬度 等比例縮放 3 2 height 高度 二 了解了一下修飾文字相關的標記 1.加粗 adsaudfbold 非語義標籤safsf語義化標籤 裝重要的 強調...

day16 階段總結

課程概要 在之前的課程中,我們學過global關鍵字。name root def outer name 小明 def inner global name name 123 inner print name outer print name 其實,還有乙個nolocal關鍵字,用的比較少,此處作為了解...