主頁 > 後端開發 > Python 零基礎快速入門!

Python 零基礎快速入門!

2020-09-10 01:51:39 後端開發

“人生苦短,我學python”是編程屆的名言,用python寫小腳本的便捷性,讓很多其他語言的學習者把python當作輔助語言,擁有了某一個語言的功底,再來學習另外一種語言應該是十分快速的,編程理念都十分相似,只是看看語言的差異性,帶著Java的基礎,學習Python,準備上路了,

基礎的運算

安裝好python環境后,運行win+R,輸入python直接進入python的互動頁面,這邊可以進行數學運算,

>>> 2+2
4

表1 數學運算子,優先級從高到低

運算子操作例子
** 指數 2 ** 3 8
% 取模/取余數 22 % 8 6
// 整除/商數取整 22 // 8 2
/ 除法 22 / 8 2.75
* 乘法 3 * 5 15
- 減法 5 - 2 3
+ 加法 2 + 2 4

由上面可以看出python前兩個基礎型別 整數、 浮點型別,這兩個和java中的概念差不多,

字串

作為基礎的型別,當然少不了字串了,和java一樣,字串可以進行拼接操作,例如:

>>> 'AAA' + 'BBB'
'AAABBB'
>>> 'CCC'+25
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can only concatenate str (not "int") to str
>>> 'DEF'*3
'DEFDEFDEF'

如上,‘AAA’+'BBB'可以直接進行字串的拼接,但是與java不同的是 python不會進行型別強制轉化,所以當用字串‘CCC’+int型的25的時候就會報錯,對python進行*操作,字串會進行復制,

變數名

這邊插一段,在java中進行變數宣告的時候,需要指定變數型別,在python中不需要,但是python變數名也需要一定的規則,

  1. 只能是一個詞,
  2. 只能包含字母、數字和下劃線,
  3. 不能以數字開頭,

型別轉化

為了讓int型的5可以轉化成字串型別,從而和字串拼接,python提供了一些內置函式,
表2 一些python內置函式

函式作用示例
str() 轉化型別為字串 str(5)
int() 轉化型別為整數 int('5')
float() 轉化型別為浮點數 float('5')
print() 列印函式
input() 讀取用戶輸入資料 myName = input()
len() 內容長度 len(myName)

控制流

布林值

現在引入第四個資料型別,布林值,python的布林值也是有真或者假,但是python中的真為True(注意T必須大寫),假為False(F也必須為大寫),同樣的布爾型別不能與其他型別相比較,

>>> True
True
>>> true
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'true' is not defined
>>> True = 1
  File "<stdin>", line 1
SyntaxError: can't assign to keyword

在這里說一下 光理論還是不夠的,重點還是要實戰,如果你沒有最新的python入門到實戰教程,可以去小編的Python解答交流群:1148633274 免費領取,相互討論學習

比較型別

表3 比較型別

運算子含義
== 等于
!= 不等于
< 小于
> 大于
<= 小于等于
>= 大于等于

同時python也可以使用二元運算子 and、or、not同java中的與、或、非,

條件與代碼塊

你前面看到的布爾運算式可以看成是條件,它和運算式是一回事,“條件”只是在 控制流陳述句的背景關系中更具體的名稱,條件總是求值為一個布林值,True 或 False,控制 流陳述句根據條件是 True 還是 False,來決定做什么,幾乎所有的控制流陳述句都使用條件,

代碼塊

python沒有java中那種{}來區分代碼塊,python中所有的代碼塊都是通過縮進進行的,

  1. 縮進增加時,代碼塊開始,
  2. 代碼塊可以包含其他代碼塊,
  3. 縮進減少為零,或減少為外面包圍代碼塊的縮進,代碼塊就結束了,
>>> if 'a'=='b':
...     print('真')
... else:
...     print('假')
...
假

以上是一個if else 的控制流,條件后面加上冒號,并且代碼塊需要縮進方式,

while回圈的格式如下:

spam = 0
while spam < 5:
print('Hello, world.')
spam = spam + 1

另外 python 也有break 和continue 關鍵字可以使用,

for回圈

for回圈單另兒拿出來以示尊重,for回圈的格式如下:

for 關鍵字;
一個變數名;
in 關鍵字;
呼叫 range()方法,最多傳入 3 個引數;
冒號;
從下一行開始,縮退的代碼塊(稱為 for 子句),

for i in range(5):
    print('Jimmy Five Times (' + str(i) + ')')

i分別執行0、1、2、3、4.

range()方法其實有三個引數,只是可以省略其中兩個,range(start、end、gap),可以指定開始、結束和步長,

>>> for i in range(0,10,3):
...     print(i)
...
0
3
6
9

函式

匯入模塊

Python 程式可以呼叫一組基本的函式,這稱為“內建函式”,包括你見到過的print()、input()和 len()函式,Python 也包括一組模塊,稱為“標準庫”,每個模塊都是一個 Python 程式,包含一組相關的函式,可以嵌入你的程式之中,例如,math模塊有數學運算相關的函式,random 模塊有亂數相關的函式,等等,
利用import或者from import陳述句

自定義函式

除了內建函式,大部分的函式都是自定義的,(即使從模塊中匯入的函式也是別人自定義好的,讓你使用的)

def hello(name):
 print('Hello ' + name)

def 函式名(引數):
    函式體

None

在Python中有一個值稱為None,它表示沒有值,None是NoneType資料型別的唯一值(其他編程語言可能稱這個值為null、nil或 undefined),就像布林值True和False一樣,None必須大寫首字母 N,

例外處理

def temp_convert(var):
    try:
        return int(var)
    except ValueError, Argument:
        print "引數沒有包含數字\n", Argument

類似于java,python捕獲處理一場用的是try,except,只不過在except后面除了可以跟例外類(比如例子中的ValueError),還可以跟上引發一場的引數(比如例子中的Argument,其實就是try中的var)

串列

串列可以看作java中的陣列集合,可以存放一些元素,比如>>> spam = ['cat', 'bat', 'rat', 'elephant'],我們可以通過index獲取某個元素,比如spam[0]=‘cat’,同時可以從后往前拿資料,比如spam[-1]='elephant',

切片

除了直接操作index,獲取某個元素之外,還可以通過切片獲得一段子串列,

>>> spam[1:3]
['bat', 'rat']
>>> spam[0:-1]
['cat', 'bat', 'rat']

串列的拼接與復制

與java不同的是,python的串列可以自由的拼接復制,

>>> [1, 2, 3] + ['A', 'B', 'C']
[1, 2, 3, 'A', 'B', 'C']
>>> ['X', 'Y', 'Z'] * 3
['X', 'Y', 'Z', 'X', 'Y', 'Z', 'X', 'Y', 'Z']

串列結合某些關鍵字和方法

  1. 洗掉某串列中的某元素,可以直接用del關鍵字,

  2. 也可以結合for回圈

>>> supplies = ['pens', 'staplers', 'flame-throwers', 'binders']
>>> for i in range(len(supplies)):
print('Index ' + str(i) + ' in supplies is: ' + supplies[i])

  1. 利用 in 、not in 直接判斷某元素是否在串列中
>>> 'howdy' in ['hello', 'hi', 'howdy', 'heyas']
True
>>> spam = ['hello', 'hi', 'howdy', 'heyas']
>>> 'cat' in spam
False

  1. index()方法判斷某元素在串列中的第一次出現的下標,沒有的話就報錯,
>>> spam = ['Zophie', 'Pooka', 'Fat-tail', 'Pooka']
>>> spam.index('Pooka')
1
復制代碼
  1. 用 append()和 insert()方法在串列中添加值
    append()方法呼叫,將引數添加到串列末尾,insert()方法可以在串列任意下標處插入一個值,insert()方法的第一個引數是新值的下標,第二個引數是要插入的新值,

  2. 用remove()方法從串列中洗掉值

  3. 用sort()方法將串列中的值排序

元組

在java中,我們知道String 是被final修飾的,所以String本身是不能修改的,如果對String進行修改,其實是在記憶體中新建了一個新的String,類似的python中也有一個不可修改的資料型別——元組,元組和串列差不多,很多方法都是共通的,只不過,元組是用"()"表示,并且元組內的元素不能被修改,也不能對元組進行增加洗掉操作,

元組和串列的轉化

函式list()和tuple()將回傳傳遞給它們的值的串列和元組版本,

>>> tuple(['cat', 'dog', 5])
('cat', 'dog', 5)
>>> list(('cat', 'dog', 5))
['cat', 'dog', 5]
>>> list('hello')
['h', 'e', 'l', 'l', 'o']

參考與參考函式

>>> spam = [0, 1, 2, 3, 4, 5]
>>> cheese = spam
>>> cheese[1] = 'Hello!'
>>> spam
[0, 'Hello!', 2, 3, 4, 5]
>>> cheese
[0, 'Hello!', 2, 3, 4, 5]

看上面的代碼,非常好理解,spam將參考復制給cheese,而不是復制的物件,所以對某個參考操作,都會改變那唯一的物件,如果想為cheese參考生成一個新的物件,就需要用到拷貝函式copy()和deepcopy(),其實就是java中的淺拷貝和深拷貝,

>>> import copy
>>> spam = ['A', 'B', 'C', 'D']
>>> cheese = copy.copy(spam)
>>> cheese[1] = 42
>>> spam
['A', 'B', 'C', 'D']
>>> cheese
['A', 42, 'C', 'D']

deepcopy()深拷貝是指,不僅生成一個與spam一樣新的物件,連spam內部的資料也一起復制一堆新的物件出來,就好比說把'A','B'這種元素分別換成一個個子串列,淺拷貝不會對他們復制,而深拷貝會對這些物件進行復制,

字典

像串列一樣,“字典”是許多值的集合,但不像串列的下標,字典的索引可以使用許多不同資料型別,不只是整數,字典的索引被稱為“鍵”,鍵及其關聯的值稱為“鍵-值”對,所以可以說字典就是java中的Map,

 myCat = {'size': 'fat', 'color': 'gray', 'disposition': 'loud'}
復制代碼

與串列不同的是,字典沒有順序的概念,所以不能通過操作index獲取某元素,不能使用切片,不能使用排序函式,

操作字典

基本操作

所以操作字典,就需要另辟蹊徑,使用函式keys()、values()和 items(),顧名思義,分別是獲取字典的key值們,val值們,和鍵值對本身們,

>>> spam = {'color': 'red', 'age': 42}
>>> for v in spam.values():
        print(v)
red
42
>>> for k in spam.keys():
        print(k)
color
age
>>> for i in spam.items():
        print(i)
('color', 'red')
('age', 42)

值得一提的是 spam.keys()獲得的是元組,如果希望的到對應的串列就需要用list函式轉化,

檢查字典中是否存在鍵或值

可以利用in 或者not in 關鍵字判斷資料是否在字典中,

>>> spam = {'name': 'Zophie', 'age': 7}
>>> 'name' in spam.keys()
True
>>> 'Zophie' in spam.values()
True
>>> 'color' in spam.keys()
False
>>> 'color' not in spam.keys()
True
>>> 'color' in spam
False

get()和setdefault()方法

get()可以通過key值找到相對應的value值,get有兩個引數,第一個引數是key值,第二個引數是在鍵值對不存在(或者說key不存在)的時候,給予的默認值,

>>> picnicItems = {'apples': 5, 'cups': 2}
>>> 'I am bringing ' + str(picnicItems.get('cups', 0)) + ' cups.'
'I am bringing 2 cups.'
>>> 'I am bringing ' + str(picnicItems.get('eggs', 0)) + ' eggs.'
'I am bringing 0 eggs.'

setdefault()有兩個引數,第一個是要插入鍵值對的key值,第二個是默認值,當原字典中有這個key值,就什么也不做,如果原字典中沒有這個key值,就將默認值作為value,同key一起拼成鍵值對插入到字典中,

>>> spam = {'name': 'Pooka', 'age': 5}
>>> spam.setdefault('color', 'black')
'black'
>>> spam
{'color': 'black', 'age': 5, 'name': 'Pooka'}
>>> spam.setdefault('color', 'white')
'black'
>>> spam
{'color': 'black', 'age': 5, 'name': 'Pooka'}

字串操作

我們早已經知道了字串和其基本操作了,當我們又學習了串列、元組、字典之后再來看一下更加豐富的處理字串的方法,

轉移字符和原始字符

和java一樣,python也是用 \ 對特殊字符進行轉義,同時,還有原始字符 r,可以在字串開始的引號之前加上r,使它成為原始字串,“原始字串”完全忽略所有的轉義字符,列印出字串中所有的倒斜杠,

>>> print(r'That is Carol\'s cat.')
That is Carol\'s cat.

注釋與多行字符

python單行注釋可以使用特殊字符#,同時多行注釋可以使用""".

# 這是一行注釋
"""
這是多行注釋
這是多行注釋
這是多行注釋
"""

有時候我們在使用print函式的時候,列印的字串很長很長,為了頁面好看,可以使用'''將大字串拆分成好幾行,

print('''Dear Alice,
Eve's cat has been arrested for catnapping, cat burglary, and extortion.
Sincerely,
Bob''')

字串下標和切片

一個字串也可以當作串列來處理,其中元素可以看作是一個個字符,所以就可以對字串進行下標操作或者切片操作,同樣的就可以利用in、not in判斷某字符是否在字串內了,

>>> spam = 'Hello world!'
>>> spam[0]
'H'
>>> spam[4]
'o'
>>> spam[-1]
'!'
>>> spam[0:5]
'Hello'
>>> spam[:5]
'Hello'
>>> spam[6:]
'world!'

一些字串內建方法

  1. upper() 字串全部變大寫
  2. lower() 字串全部變小寫
  3. isupper()字串至少有一個字母,并且所有字母都是大寫
  4. islower()字串至少有一個字母,并且所有字母都是小寫
  5. isalpha()字串只包含字母,并且非空
  6. isalnum()字串只包含字母和數字,并且非空
  7. isdecimal()字串只包含數字字符,并且非空
  8. isspace()字串只包含空格、制表符和換行,并且非空
  9. startswith()字串以該方法傳入的字串開始
  10. endswith()字串以該方法傳入的字串結束
  11. join()拼接字串,可指定分隔符
  12. split()通過某值切割字串
  13. rjust()左填充,如果輸出資料不足,補充空格
  14. ljust()右填充,如果輸出資料不足,補充空格
  15. center()字串居中,左右資料不足,補充空格

結束

嗚呼,python的基礎語法就算過了一遍,當然這只是基礎中的基礎,像python怎么處理多執行緒、類的概念、記憶體管理等內容有時間再看吧,不忘初心,最開始學習python只是把它當作輔助語言,寫寫小腳本什么的,不打算研究太深,畢竟時間有限,java還有很多東西要去研究,并且,除了編程,這個世界還有很多美好的事情等待我去體驗,學以致用,寫爬蟲也是我學習python的一個動力,寫了一個小腳本爬取豆瓣電影TOP250.(好像這個是爬蟲入門經典案例吧,哈哈)代碼貼一下

import requests as rq
from bs4 import BeautifulSoup
import pandas as pd

def get_data(url):
    print(url)
    html = rq.get(url).content.decode("utf-8")
    soup = BeautifulSoup(html,"lxml")
    divItems = soup.find_all("div","item")

    for item in divItems:
        name = item.find('span',{'class':'title'}).text
        rating_num = item.find('span',{'class':'rating_num'}).text
        number = item.find('em').text
        imgUrl = item.find("img").attrs['src']
        print("----------->")
        print("number:"+number)
        numbers.append(number)

        print("name:"+name)
        names.append(name)

        print("rating_num:"+rating_num)
        rating_nums.append(rating_num)

        print("imgUrl:"+imgUrl)
        imgUrls.append(imgUrl)
        print("----------->")


data_df = pd.DataFrame()
numbers = []
names = []
rating_nums = []
imgUrls = []

for num in range(0,10):
    get_data("https://movie.douban.com/top250?start={}&filter=".format(int(num)*25))

data_df["序列"] = numbers
data_df["名稱"] = names
data_df["評分"] = rating_nums
data_df["海報"] = imgUrls
writer = pd.ExcelWriter('movie_top250.xlsx')
data_df.to_excel(writer, 'page_1', float_format='%.5f')  # float_format 控制精度
writer.save()

當然,提前需要install的模塊 requests
BeautifulSoup4
pandas
openpyxl
lxml(BeautifulSoup4 的決議器)

結束,

在這里說一下 光理論還是不夠的,重點還是要實戰,如果你沒有最新的python入門到實戰教程,可以去小編的Python解答交流群:1148633274 免費領取,相互討論學習



轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/392.html

標籤:Python

上一篇:MYSQL——事務,索引原理與慢查詢優化

下一篇:python 基礎練習題

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Rust中的智能指標:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak

    Rust中的智能指標是什么 智能指標(smart pointers)是一類資料結構,是擁有資料所有權和額外功能的指標。是指標的進一步發展 指標(pointer)是一個包含記憶體地址的變數的通用概念。這個地址參考,或 ” 指向”(points at)一些其 他資料 。參考以 & 符號為標志并借用了他們所 ......

    uj5u.com 2023-04-20 07:24:10 more
  • Java的值傳遞和參考傳遞

    值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......

    uj5u.com 2023-04-20 07:24:04 more
  • [2]SpinalHDL教程——Scala簡單入門

    第一個 Scala 程式 shell里面輸入 $ scala scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! 檔案形式 object HelloWorld { /* 這是我的第一個 Scala 程式 * 以 ......

    uj5u.com 2023-04-20 07:23:58 more
  • 理解函式指標和回呼函式

    理解 函式指標 指向函式的指標。比如: 理解函式指標的偽代碼 void (*p)(int type, char *data); // 定義一個函式指標p void func(int type, char *data); // 宣告一個函式func p = func; // 將指標p指向函式func ......

    uj5u.com 2023-04-20 07:23:52 more
  • Django筆記二十五之資料庫函式之日期函式

    本文首發于公眾號:Hunter后端 原文鏈接:Django筆記二十五之資料庫函式之日期函式 日期函式主要介紹兩個大類,Extract() 和 Trunc() Extract() 函式作用是提取日期,比如我們可以提取一個日期欄位的年份,月份,日等資料 Trunc() 的作用則是截取,比如 2022-0 ......

    uj5u.com 2023-04-20 07:23:45 more
  • 一天吃透JVM面試八股文

    什么是JVM? JVM,全稱Java Virtual Machine(Java虛擬機),是通過在實際的計算機上仿真模擬各種計算機功能來實作的。由一套位元組碼指令集、一組暫存器、一個堆疊、一個垃圾回收堆和一個存盤方法域等組成。JVM屏蔽了與作業系統平臺相關的資訊,使得Java程式只需要生成在Java虛擬機 ......

    uj5u.com 2023-04-20 07:23:31 more
  • 使用Java接入小程式訂閱訊息!

    更新完微信服務號的模板訊息之后,我又趕緊把微信小程式的訂閱訊息給實作了!之前我一直以為微信小程式也是要企業才能申請,沒想到小程式個人就能申請。 訊息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。 https://gitee.com/zhongfuch ......

    uj5u.com 2023-04-20 07:22:59 more
  • java -- 緩沖流、轉換流、序列化流

    緩沖流 緩沖流, 也叫高效流, 按照資料型別分類: 位元組緩沖流:BufferedInputStream,BufferedOutputStream 字符緩沖流:BufferedReader,BufferedWriter 緩沖流的基本原理,是在創建流物件時,會創建一個內置的默認大小的緩沖區陣列,通過緩沖 ......

    uj5u.com 2023-04-20 07:22:49 more
  • Java-SpringBoot-Range請求頭設定實作視頻分段傳輸

    老實說,人太懶了,現在基本都不喜歡寫筆記了,但是網上有關Range請求頭的文章都太水了 下面是抄的一段StackOverflow的代碼...自己大修改過的,寫的注釋挺全的,應該直接看得懂,就不解釋了 寫的不好...只是希望能給視頻網站開發的新手一點點幫助吧. 業務場景:視頻分段傳輸、視頻多段傳輸(理 ......

    uj5u.com 2023-04-20 07:22:42 more
  • Windows 10開發教程_編程入門自學教程_菜鳥教程-免費教程分享

    教程簡介 Windows 10開發入門教程 - 從簡單的步驟了解Windows 10開發,從基本到高級概念,包括簡介,UWP,第一個應用程式,商店,XAML控制元件,資料系結,XAML性能,自適應設計,自適應UI,自適應代碼,檔案管理,SQLite資料庫,應用程式到應用程式通信,應用程式本地化,應用程式 ......

    uj5u.com 2023-04-20 07:22:35 more