python是強語言還是弱語言?


python是強語言還是弱語言,沒有一個具體官方的說法

數據類型也就是變量類型,一般編程語言的變量類型可以分成下面兩類。

靜態類型與動態類型
靜態類型語言:一種在編譯期間就確定數據類型的語言。大多數靜態類型語言是通過要求在使用任一變量之前聲明其數據類型來保證這一點的。Java 和 C 是靜態類型語言。
動態類型語言:一種在運行期間才去確定數據類型的語言,與靜態類型相反。VBScript 和 Python 是動態類型的,因為它們確定一個變量的類型是在你第一次給它賦值的時候。不使用顯示數據類型聲明,且確定一個變量的類型是在第一次給它賦值的時候。
強類型與弱類型
強類型語言:一種總是強制類型定義的語言。Java 和 Python 是強制類型定義的。您有一個整數,如果不明確地進行轉換 ,不能將把它當成一個字符串。強類型:不允許不同類型相加。例如:整形+字符串會報類型錯誤。偏向於不容忍隱式類型轉換

弱類型語言:一種類型可以被忽略的語言,與強類型相反。VBScript 是弱類型的。在 VBScript 中,您可以將字符串 '12' 和整數 3 進行連接得到字符串'123',然后可以把它看成整數 123 ,所有這些都不需要任何的顯示轉換。偏向於容忍隱式類型轉換

所以,Python 既是動態類型語言 (因為它不使用顯示數據類型聲明),又是強類型語言(因為只要一個變量獲得了一個數據類型,它實際上就一直是這個類型了)。

Python是有變量類型的,而且會強制檢查變量類型:

注意: 強類型定義語言在速度上可能略遜色於弱類型定義語言,但是強類型定義語言帶來的嚴謹性能夠有效的避免許多錯誤。另外,“這門語言是不是動態語言”與“這門語言是否類型安全”之間是完全沒有聯系的!

  例如:Python是動態語言,是強類型定義語言(類型安全的語言); javaScript是動態語言,是弱類型定義語言(類型不安全的語言); JAVA是靜態語言,是強類型定義語言(類型安全的語言)

img

變量的聲明和定義

Python 與大多數其它語言一樣有局部變量和全局變量之分,但是它沒有明顯的變量聲明。變量通過首次賦值產生,當超出作用范圍時自動消亡。

變量定義:用於為變量分配存儲空間,還可為變量指定初始值。程序中,變量有且僅有一 個定義。
變量聲明:用於向程序表明變量的類型和名字。
定義也是聲明
java中變量聲明

String employee; // String 類型的變量
boolean isSave; // boolean 類型的變量
int create_at; // int 類型的變量
java中變量賦值

char usersex='女'; // 直接賦值
或者
String username; // 先聲明
username ="琪琪"; // 后賦值
另外,多個同類型的變量可以同時定義或者初始化,但是多個變量中間要使用逗號分隔,聲明結束時用分號分隔。
String username,address,phone,tel; // 聲明多個變量
int num1=12,num2=23,result=35; // 聲明並初始化多個變量
JavaScript的隱式轉換

JavaScript的數據類型分為六種,分別為null,undefined,boolean,string,number,object。
object是引用類型,其它的五種是基本類型或者是原始類型。
隱式轉換記住以下三點:
1.字符串加數字,數字就會轉成字符串。
2.數字減字符串,字符串轉成數字。
如果字符串不是純數字就會轉成NaN。
字符串減數字也一樣。
兩個字符串相減也先轉成數字。
3.乘,除,大於,小於跟減的轉換也是一樣。

console.log(10+'20') //2010 String
console.log(10-'20')//-10 number
console.log(10-'one') //NaN not a number
console.log(10-'101a') //NaN
console.log(10'20') //200 number
console.log('10'
'20') //200 number
console.log(20/'10') //2 number
console.log('20'/'10') //2 number
console.log('20'/'one') //NaN
隱式賦值: a =1

顯示賦值: char a = 1


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM