【Python】快速入門Python一天學完基礎語法

文章目錄

  • 前言
  • 1. HelloWorld
  • 2. 變量與數據類型
    • 2.1 變量
    • 2.2 數據類型
      • 2.2.1 String 字符串類型
      • 2.2.2 基本類型轉換
      • 2.2.2 元組
      • 2.2.3 字典
      • 2.2.4 拆包
    • 2.3 運算
      • 2.3.1 雙除號/雙乘號
      • 2.3.2 常見運算函數舉例
      • 2.3.3 布爾運算
  • 3. 控制流程
    • 3.1 if-else 語句
    • 3.2 while 循環
    • 3.3 for 循環
  • 4. 方法/函數
  • 5. 異常處理
  • 6. 面向對象
    • 6.1 類與對象
    • 6.2 繼承
  • 7. 補充與總結
    • 7.1 列表常用方法
    • 7.2 元組與列表
    • 7.3 import
    • 7.4 魔術方法
    • 7.5 總結
  • 參考資料

Python 語法基礎

前言

這幾天由于實際的工作需求,技術棧急轉彎,要從日常寫得最多的Java轉到Python。

可是Python之前我一直只會一點皮毛,只寫過一點Demo,且太久沒動過了,于是,就要尋找合適的教程快速將語言基礎過一遍,然后馬上投入實戰。

前提

  • 由于這是我實際工作過程中遇到的python學習需求,默認讀者有一定的編程語言基礎。
  • 開發環境我很早之前就配好了。若要跟練的話,默認讀者本地已經配好python環境。
  • 本文基于Python 3.9的基礎語法,不同版本Python可能略有不同(主要是2.x 與 3.x 的差別)。
  • 本文一次性記錄了整個基礎語法的學習過程,屬于長文,初學的讀者需要花一點時間閱讀,建議先收藏,后續分片慢慢閱讀。

學習目標

  • Python 快速入門
  • 了解基礎重點即可,快速入門語法,至于深入,以后再研究

好的,那么接下來,準備一個空Python項目,我們開始!
0

1. HelloWorld

程序猿的第一句代碼都是HelloWorld。

創建一個 hello_world.py 文件,鍵入:

print("hello world!")

控制臺打印經典的hello world。

pycharm 執行。如示例圖所示:
1

在這個過程中,我們也熟悉了Pycharm執行Python程序的流程。

恭喜!咱們已經完成了第一句Python!接下來,就是對語法的快速入門學習了。

2. 變量與數據類型

2.1 變量

Python 的 變量定義很簡單:<變量名> = <值>

命名規范:變量名小寫,駝峰改下劃線:

例如:

# 變量
name = 'spider man'
age = 18
money = 100.1
is_single = True
print('name=', name,'age=', age,'is singl:', is_single)
print('money=', money,'')

由這個例子我們也發現:python中一般的數據類型不需要像Java、C一樣顯式聲明數據類型。

經典的控制臺輸入
python 中,控制臺輸入使用input(),類似于 Java.lang 包的東西,屬于是python初始內置的函數。

我們拿個示例演示一下:

name = input('what is your name?')
age = input('what is your age?')
print('your name is '+name, 'and your age is'+age)

經過以上兩個例子,我們已經了解了python中變量的定義,以及控制臺接收輸入的方式。另外,print 方法的兩種打印:逗號以及加號拼接均有演示。

2.2 數據類型

基本的數據類型與其它高級語言類似,需要注意的是boolean類型的值在python中的表示是大寫開頭的True或False。

以下介紹相對重點的String、基本類型轉換、拆包,以及常見包裝類型:元組與字典。

2.2.1 String 字符串類型

定義字符串
首先,Python 中,字符串的定義可以是:單引號、雙引號和三引號。其中不同引號的用法根據實際使用場景及個人習慣而異。

例如:

# 定義 字符串
name1 = " '<NAME>' "
print(name1)name2 = '"<NAME>'
print(name2)name3 = '''<NAME><haha>
'''
print(name3)

截取字符串
Python 中,字符串的下標也是由0開始的。但值得注意的是,下標-1表示倒數第一個元素。而且,Python 提供了內置的截取字符串方法,<變量名>[index_start : index_end]

具體看如下示例:

# String 類型的index
demo_string = "Hello"# 起始坐標:0
demo1 = demo_string[0]
print(demo1)# 倒數第1個坐標
demo2 = demo_string[-1]
print(demo2)# 復制整串
demo_hole = demo_string[:]
print(demo_hole)# 截取字符串
demo_part1 = demo_string[:3]
demo_part2 = demo_string[3:]
print(demo_part1)
print(demo_part2)

格式化字符串

# 格式化字符串
demo_f = "first"
demo_s = "second"demo_formart = f'"{demo_f}" and "[{demo_s}]"'
print(demo_formart)

字符串常用方法
與Java String一樣,String類型提供了一些常用的基本方法。這里我們直接通過例子學習常見方法:

# 演示常用方法
lenght_demo = "123456 ak Vs 789 m4"
print(len(lenght_demo))
up_demo = lenght_demo.upper()
print(up_demo)
title_demo = lenght_demo.title()
print(title_demo)
lower_demo = lenght_demo.lower()
print(lower_demo)
ak_index = lenght_demo.find('ak')
print(ak_index)
is_in = 'S' in lenght_demo
print(is_in)
print(lenght_demo.replace('Vs','and'))

2.2.2 基本類型轉換

基本類型轉換可以使用<類型名>(變量名)的方式進行轉換;
查看類型可以使用 type()函數,示例如下:

# 輸入年份,接收到的默認為str類型
year = input('Enter a year: ')
now_year = 2024
# 查看類型
print(type(year))
print(type(now_year))
# 轉換
diff = now_year - int(year)
print(diff)

2.2.2 元組

元組是一種特殊的數據類型。元組的知識點在考試考得比較多,也是一個重點

元組有以下特點:

  • 不可修改,類似于Java 的 final list
  • 只有一個元素時,括號結尾要加上逗號,避免歧義
  • 任意無符號的對象,以逗號隔開,默認為元組

示例

# 創建元組的方式 ()
list01 = (0, 1, 2)
list03 = [0, 1, 2]
list02 = tuple(list03)# 默認為元組
item1, item2, item3 = 'a', 'b', 5# 遍歷元組的方式
for item in list01:print(item)# 倒序遍歷
for i in range(len(list02) - 1, -1, -1):print(list02[i])# 正序遍歷
for i in range(0, len(list02), 1):print(list02[i])

元組常見操作

  • len(tuple):計算元組元素個數。
  • max(tuple):返回元組中元素最大值。
  • min(tuple):返回元組中元素最小值。
  • tuple(seq):將列表轉換為元組。
  • del <tup_name>: 刪除整個元組。
  • 組合元組:鏈接組合,直接使用+號鏈接若干個元組。

舉例:

# 定義元組
t1 = (1, 2, '3')
t2 = (1, 2, '3')
t3 = t1 + t2
t4 = (1, 2, 3)list5 = ['a', 'b', 'c']print(t3)print(len(t3))
# 元組中類型統一才能使用max函數
print(max(t4))t5 = tuple(list5)
print(t5[-1])
print(min(t5))del t3# 已經刪除,以下執行會報錯
# print(t3)

遍歷元組
在上面的例子中,我們已經演示了如何遍歷元組。元組雖然不可變,但遍歷元組的方式與遍歷列表的方式是非常類似的。

2.2.3 字典

字典在Python中類似于一個特殊的HashMap,這個HashMap中的元素以鍵值對的形式表示。其中,鍵一般都是不可變類型,可哈希。一般我們用str類型居多。特別地,字典中的key必須唯一。

以下是代碼示例:

# 創建字典
user = {"username": 'Jack',"password": 123456,"is_admin": False
}print(user)# 設置字典 key-value 值
user["score"] = 98
print(user.get("score"))
# 沒有設置,拿不到 none
print(user.get("code"))
# 拿的時候給默認值
print(user.get("money", "very much"))
# pop 字典某key
user.pop("username")
print(user)
# 更新字典某key的值
user["password"] = "<PASSWORD>"
print(user["password"])

2.2.4 拆包

拆包是Python中的一個重要特性,可用于元組、列表等快速取值,并將其值使用。

# 定義元組、列表
t1 = (1, 2, '6')
list1 = [1, 5, 7]# 拆包
x, y, z = t1
l, m, n = list1print(f'l = {x}, m = {y}, type(z) = {type(z)}, n = {z}'
)print(f'l = {l}, m = {m}, n = {n}'
)# 其過程等同于
x = t1[0]
y = t1[1]

2.3 運算

現在的高級語言,基本運算幾乎都大差不差,這里只提一些python中不太一樣的地方。

2.3.1 雙除號/雙乘號

雙除號截斷除法
雙除號除法表示截斷除法,返回一個整數。

# 雙除法返回整數
print(4//3)

雙乘號次方
雙乘號表示次方

# 雙乘號表示次方
print(10**3)

注意,次方的運算在運算表達式中,優先級是最高的,例如:

# 先計算次方,這個例子的結果應該為49.
print(1+2 * 3 * 2**3)

2.3.2 常見運算函數舉例

python中也有很多內置的數學函數,我們直接舉例學習:

import math# 內置函數四舍五入
print(round(2.9))# 內置函數絕對值
print(abs(-96))# math包下的函數向下取整
print(math.floor(2.6))

2.3.3 布爾運算

布爾運算的一些基本與或非,和我們的java也不盡相同,python中與或非用and、or、not關鍵字表示。當然也很簡單,直接舉例:

# boolean 運算
is_ok = True
is_not_ok = Falseprint(is_ok and is_not_ok)
print(not is_ok)
print(is_ok or is_not_ok)
print(is_ok or not is_not_ok)

3. 控制流程

3.1 if-else 語句

Python 的 if-else 語句語法與 Java等類C語言大有不同。當然也不難學,我們直接拿例子舉例,大家看看就懂了:

# if else 語句學習
user_input = input('please inter 1 or 2 to continue')
input_value = int(user_input)# 單 if
if input_value == 1:print('hello world!')# if-else
if input_value == 1:print('hello world!')
else:print('hello python!')
print('this is a demo')if input_value == 1:print('hello world!')
elif input_value == 2:print('hello jemmy')
else:print('have a good time!')

3.2 while 循環

有了以上 python if-else 語句的基礎,我們就進一步熟悉了python的語法風格,因此 while 循環也更易于理解。我們直接上例子:

# while 循環 demo
i = 0while i <= 5:print("*" * i)i += 1print("done.")

但值得注意的是,在python中,while 也可以接上 else 來進行兜底操作,如:

# while demoinit_times = 0
times = 3
target = 5while init_times < times:init_times += 1guss = int(input('Please enter your guss, tips : less than 10'))if guss == target:print('You win!')break
else:print('You lose!')

另外需要注意的是,python中,由于少了類C語言的括號{}包裹代碼塊,實際編寫時,要十分注意縮進!例如,此處 if 的break,若是少了縮進,就會被解釋器認為這個break是在while循環體一級的,這樣就會導致執行一次就break了!

3.3 for 循環

Python中的for循環,有點類似Java的增強for循環。有趣的是,Python中的for還能直接遍歷字符串:

# for 遍歷字符串
for item in 'Python':print(item)# for 遍歷范圍函數
for item in range(10):print(item)for item in range(3, 6):print(item)for item in range(2, 5, 2):print(item)# for 遍歷數組
for item in ['Tom', 'John', 'Smith']:print(item)

Python 中的for,可以遍歷相當大的帶范圍的對象。

嵌套for循環
直接舉例:

# 嵌套遍歷
array_demo = [5, 2, 5, 2, 2]
for i in array_demo:temp = ''for j in range(i):temp += str('x')print(temp)

4. 方法/函數

在前面的小節中,我們已經了解過Python的語法風格,與Java、C等不同的是,結尾不需要帶分號,代碼塊用縮進代替大括號。

因此,在Python中,方法的定義也是這種風格的語法,如以下示例:

# 定義方法
def my_method():print('Hello World!')my_method()

注意,在這個簡單的方法練習中,我們需要注意的是python代碼規范,例如:方法下,要空2行。結束行后要回車加一行空行。否則會被pycharm告警。

除此之外,Python中的方法還有和Java等語言不同的地方,例如在調用方法的同時可以打亂參數順序,加上參數名來指定對應的參數,從而提高可讀性,并且不需要過多關心各參數順序。

# 多個參數方法
def multiple_parameters(a, b):print(f'a = {a}, b = {b}')return a + bprint(multiple_parameters(1, 2))
# 指定參數
print(multiple_parameters(b=9, a=1))

5. 異常處理

Python中的異常處理也和Java等不同。使用的是try - except關鍵字。

舉例:

# 創造異常 :ZeroDivisionError
# print(1/0)# 創造異常 TypeError
# a = input("Enter a number: ")
# print(a / 2)# try-except 語句
b = int(input("Enter a number: "))
try:print(2 / b)
except ZeroDivisionError:print("ZeroDivisionError, division by zero")# 多個 exception
c = input("Enter a number: ")
try:print(2 / c)
except ZeroDivisionError:print("ZeroDivisionError, division by zero")
except TypeError:print("TypeError, invalid number")

6. 面向對象

Python 也支持面向對像。若讀者也有一定的面向對象基礎,那么Python中的類定義、繼承等方法,均與其它面向對象編程語言類似,僅記住語法區別即可。

6.1 類與對象

我們直接創建一個User類,來進行示例:

# 類定義
class User:# 構造函數,self類似于 Java的 thisdef __init__(self, first_name, last_name):self.first_name = first_nameself.last_name = last_name# 類方法def full_name(self):return f"{self.first_name} {self.last_name}"# 創建對象
user = User("Sharry","Xian")
print(user.full_name())
print(user)

上述例子列舉了user類的創建。與Java等語言一樣,首先是類名大寫,然后需要有構造方法,不寫這個構造方法會默認使用默認的隱藏的構造方法。方法里的self參數類似于this,創建對象及調用類的方法時不需要顯式傳入self。

6.2 繼承

Python 中的繼承通過括號進行。特別地,Python支持多繼承。
先上例子:

# 演示繼承以及方法的重寫
class Animal:def eat(self):print("Eating...")# pass 表示不做操作,直接通過。甚至說,從語法上,空的類也可以pass掉
class Dog(Animal):passclass Cat(Animal):# 直接定義同名方法重寫def eat(self):print("hello ")def bark(self):print("bark ")# python 支持多繼承
class Monkey(Dog, Cat):passdog1 = Dog()
dog1.eat()cat1 = Cat()
cat1.eat()monkey1 = Monkey()
# 執行的是繼承樹最近的一個重寫方法,繼承樹同級時,調用先繼承的方法
monkey1.eat()
monkey1.bark()

從上述例子中,我們了解了Python中的繼承機制。主要是語法不同,用小括號加類名進行繼承,其次是可以多繼承。

Python 3.9 中,重寫父類的方法只需要直接將同名方法重新寫一遍,不需要像Java中一樣添加注解標識重寫。但有一個需要補充的,若需要在子類調用父類的方法,使用super()方法。

7. 補充與總結

7.1 列表常用方法

Python 中,列表常用的方法與Java等語言提供的一些list方法一樣,都有插入、清除、取出等操作。直接上示例:

name = ['Jack', 'John', 'Smith', 'Sharry']# 數組常用方法
name.remove('Jack')
print(name)name.reverse()
print(name)name.append('Rebecca')
print(name)name.insert(3,'Jim')
print(name)name.clear()
print(name)

不僅僅是數組,python中許多內置API的使用,均可翻閱官方文檔:
python-官方文檔

7.2 元組與列表

  • 元組與列表都可以存儲一系列變量,由于列表會預留內存空間,所以可以增加元素。
  • 元組會按需分配內存,所以如果變量數量固定,建議使用元組,因為占用空間更小。
  • 應用: 變量交換的本質就是創建元組:x, y = (y, x )

7.3 import

import 類似于 Java 的導包。Python 中的 import 有如下幾種方式:

從特定的包/模塊的py文件中 import 特定的方法

# 從一個模塊的某py中,import特定的方法,多個方法用逗號隔開from import_demo.method_demo import method_demo_hello, say# 這種方式import的方法可以直接調用
method_demo_hello()say()

import 文件夾對應的模塊

import import_demo.method_demoimport_demo.method_demo.say()

import 模塊

import randomfor i in range(3):print(random.randint(10, 20))

7.4 魔術方法

以雙下劃線開頭、結尾命名的方法在Python中被稱為魔術方法。
在本文的一些例子中,我們已經使用過魔術方法,例如__init__()

魔術方法在python中也有很廣泛的用途,具體常用的魔術方法,篇幅有限,請參閱其它參考文章。

7.5 總結

通過本文,我們一文學習了Python基本語法。此處總結與Java等語言的語法上的不同之處:

  • 主要語法區別:python用縮進代表代碼塊,并省略了結束的;
  • import 方式:支持多種 import 方式,主要是import 和 from xxx import xxx,靈活
  • else-if 關鍵字,python有縮寫 elif;try-catch 關鍵字在python中為except
  • 元組、字典,兩個特殊數據類型,拆包特性
  • 方法定義語法格式不同
  • 面向對象支持多繼承,語法格式有所不同

但總的來說,python 語法相對簡潔,庫很多,也支持跨平臺。飛速發展的信息時代,多學點總有好處。希望通過本文,讀者能掌握Python語法基礎,為日后多語言項目異構、同一場景多種技術解決方案打下基礎。

Respect!

參考資料

  • bilibili-油管Python高分教程
  • python-官方文檔
  • 博客園-元組優秀參考博文

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/718407.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/718407.shtml
英文地址,請注明出處:http://en.pswp.cn/news/718407.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

子線程如何獲取Request

子線程獲取Request 有時候在進行業務處理時對于一些對于業務不那么重要且對于返回結果無關的情況會開啟一個新的線程進行處理&#xff0c;但是在開啟新線程進行處理時發現無法從RequestContextHolder中獲取到當前的請求&#xff0c;取出來是null 這是因為RequestContextHolder中…

逆變器專題(14)-弱電網下的LCL逆變器控制以及諧振峰問題(1)

相應仿真原件請移步資源下載 LCL濾波器 LCL濾波器因其本身為一個二階系統&#xff0c;其本身就會引發諧振&#xff0c;導致相應諧振頻率處的增益得到放大&#xff0c;進而產生諧波等問題&#xff1b;另一方面&#xff0c;在弱電網下&#xff0c;逆變器會與電網阻抗發生耦合&am…

ARM總結and復習

安裝交叉編譯工具鏈 a. 為什么安裝 因為arm公司的指令集在不斷迭代升級&#xff0c;指令集日益增多,而架構是基于指令集研發的&#xff0c;所以架構不一樣&#xff0c;指令集也不一樣 eg:arm架構使用的是arm指令集 x86架構使用的是x86指令集 而我們日常開發環境中linux的架構…

重載(Overload)和重寫(Override)的區別。重載的方法能否根據返回類型進行區分?

大家好我是蘇麟 , 今天開始又一個專欄開始了(又一個坑 哈哈) . 重載&#xff08;Overload&#xff09;和重寫&#xff08;Override&#xff09;的區別。重載的方法能否根據返回類型進行區分&#xff1f; 方法的重載和重寫都是實現多態的方式&#xff0c;區別在于前者實現的是編…

Java進階-測試方法

來學習一下軟件測試相關的方法&#xff0c;了解一下黑盒測試和白盒測試&#xff0c;以及后面要用到的JUnit單元測試。JUnit單元測試也屬于白盒測試&#xff0c;這次內容較少且相對簡單。 一、軟件測試方法 1、黑盒測試 不需要寫代碼&#xff0c;給輸入值&#xff0c;看程序…

分付在哪些商戶可以使用消費,微信分付怎么提取出來到余額上面來?

分付是一款信用支付產品&#xff0c;用戶可以使用分付進行線上線下的消費支付。下面是使用分付的一些方法&#xff1a; - 開通分付&#xff1a;在微信中搜索并開通分付服務&#xff0c;按照提示完成實名認證和綁定銀行卡等操作。 - 線上支付&#xff1a;在支持分付的線上商戶…

【Web - 框架 - Vue】隨筆 - 通過CDN的方式使用VUE 2.0和Element UI

通過CDN的方式使用VUE 2.0和Element UI - 快速上手 VUE 網址 https://cdn.bootcdn.net/ajax/libs/vue/2.7.16/vue.js源碼 https://download.csdn.net/download/HIGK_365/88815507測試 代碼 <!DOCTYPE html> <html lang"en"> <head><meta …

『大模型筆記』最大化大語言模型(LLM)的性能(來自OpenAI DevDay 會議)

最大化大語言模型(LLM)的性能(來自OpenAI DevDay 會議) 文章目錄 一. 內容介紹1.1. 優化的兩個方向(上下文優化和LLM優化)1.2. 提示工程:從哪里開始1.3. 檢索增強生成:拓展知識邊界1.4. 微調:專屬定制二. 參考文獻一. 內容介紹 簡述如何以可擴展的方式把大語言模型(LLMs)…

劍指offer》15--二進制中1的個數[C++]

1. 題目描述 輸入一個整數&#xff0c;輸出該數二進制表示中 1 的個數。 2. 解題思路 如果對負數直接右移&#xff0c;會導致最高位一直補1&#xff0c;最終變成0xFFFF死循環。 常規做法&#xff1a; 3. 代碼實現 #include<iostream> #include<vector> using…

Leetcoder Day38| 動態規劃part05 背包問題

1049.最后一塊石頭的重量II 有一堆石頭&#xff0c;每塊石頭的重量都是正整數。 每一回合&#xff0c;從中選出任意兩塊石頭&#xff0c;然后將它們一起粉碎。假設石頭的重量分別為 x 和 y&#xff0c;且 x < y。那么粉碎的可能結果如下&#xff1a; 如果 x y&#xff0c;那…

012集—二維輕量多線段LWpolyline設置凸度bulge——vba實現

本文主要講LightweightPolyline ,即輕量多段線。 ObjectARX 中提供了三種多段線的相關類:AcDbPolyline&#xff08;對應vba中lightweightpolyline&#xff09; 、AcDb2dPolyline (對應vba中polyline)和 AcDb3dPolyline Polyline就是&#xff08;輕量&#xff09;多段線&…

藍牙BLE 5.0、5.1、5.2和5.3區別

隨著科技的不斷發展&#xff0c;藍牙技術也在不斷進步&#xff0c;其中藍牙BLE&#xff08;Bluetooth Low Energy&#xff09;是目前應用廣泛的一種藍牙技術&#xff0c;而BLE 5.0、5.1、5.2和5.3則是其不斷升級的版本。本文將對這四個版本的區別進行詳細的比較。 一、BLE 5.0…

未來趨勢:個人化資源整合將成為主流

隨著科技的發展和社會的進步&#xff0c;我們正步入一個高度個性化和數字化的時代&#xff0c;在這個時代中&#xff0c;資源的整合與分配模式正發生著深刻的變革。本文試圖論證&#xff0c;未來的資源整合將更傾向于個人化&#xff0c;即資源將以更加靈活、定制化的方式流向個…

【mysql技巧】如何在這個mysql語句執行前加個前提,也就是只有表里沒有相同數據才進行添加插入操作

文章目錄 我們正常的mysql插入數據語句加個前提完結 我們正常的mysql插入數據語句 INSERT INTO guild_nakadai.admin_role_permission (role_id, permission_id, type) VALUES ((SELECT id FROM guild_nakadai.admin_roles WHERE name"員工"),(SELECT id FROM guil…

Unity UGUI之Slider基本了解

在Unity中&#xff0c;Slider&#xff08;滑動條&#xff09;是一種常用的用戶界面控件之一&#xff0c;允許用戶通過拖動滑塊來選擇一個數值。常常應用于調節數值&#xff08;如調節音量、亮度、游戲難度等&#xff09;、設置選項等。 以下是Slider的基本信息和用法: 1、創建…

每日OJ題_斐波那契dp①_力扣1137. 第 N 個泰波那契數

目錄 動態規劃dp算法原理 力扣1137. 第 N 個泰波那契數 解析代碼1 解析代碼2 動態規劃dp算法原理 動態規劃&#xff08;Dynamic Programming&#xff09;算法的核心思想是&#xff1a;將大問題劃分為小問題進行解決&#xff0c;從而一步步獲取最優解的處理算法 動態規劃算法…

快速冪(求解原理+例題)

目錄 反復平方法&#xff08;快速冪&#xff09;&#xff1a; 代碼&#xff1a; 例題&#xff1a;快速冪求逆元 作用&#xff1a; 快速求出 的結果。 時間復雜度&#xff1a; O(logk) 如果使用一般做法&#xff0c;從1循環到k&#xff0c;時間復雜度是O(k) 反復平方法&am…

低代碼流程引擎實戰:讓表單字段成為流程節點審批人的得力助手!

在現代企業的日常運營中&#xff0c;流程審批是保障工作高效、規范進行的關鍵環節。隨著企業對于靈活性和高效性的需求不斷增長&#xff0c;傳統的固定審批人設置已無法滿足多變的業務場景。在JVS低代碼中“設置流程節點審批人為表單字段”這一功能&#xff0c;旨在通過動態配置…

C#入門:簡單數據類型和強制類型轉換

本文由 簡悅 SimpRead 轉碼&#xff0c; 原文地址 mp.weixin.qq.com 本期來講講 unity 的腳本語言 —C#&#xff0c;C# 的簡單數據類型及范圍和強制類型轉化的方法。這可是 unity 游戲開發必備技能。 1. 簡單數據類型 各個類型的范圍&#xff1a; byte -> System.Byte (字節…