01 Python變量和數據類型

Python變量和數據類型

1 數據類型

計算機,顧名思義就是可以做數學計算的機器,因此,計算機程序理所當然也可以處理各種數值。

但是,計算機能處理的遠不止數值,還可以處理文本、圖形、音頻、視頻、網頁等各種各樣的數據,不同的數據需要定義不同的數據類型。

在Python中,能夠直接處理的數據類型有一下幾種:

(1)整數? ?十六進制用0x前綴0-9,a-f表示,如0xff00

(2)浮點數? 1.24 1.23e9? 1.2e-5

(3)字符串? 'abc'? "abc"

(4)布爾值? True False??? 可以用and、or、not進行運算? 短路運算

(5)空值? None

?

0、空字符串、None為false

其他數值、非空字符串為true

2 print語句

print可以向屏幕上輸出指定的文字。

>>> print 'hello, world'

用逗號隔開時,每個逗號輸出一個空格

>>> print 'The quick brown fox', 'jumps over', 'the lazy dog'

The quick brown fox jumps over the lazy dog

>>> print '100 + 200 = ', 100 + 200

100 + 200 = 300

?

3 注釋

一行之中,#之后的都為注釋

?

4 變量

變量用一個變量名表示,變量名必須是大小寫英文、數字和下劃線的組合,且不能用數字開頭。

等號=是賦值語句,可以把任意數據類型賦值給變量,同一個變量可以反復賦值,而且可以是不同類型的變量。

這種變量本身類型不固定的語言稱為動態語言,與之對應的是靜態語言。

靜態語言在定義變量時必須制定變量類型,如果賦值的時候類型不匹配,就會報錯,如java。

所以動態語言更加靈活。

?

變量在計算機內存中的表示:

a='ABC'? 計算機干了兩件事:

(1)在內存中創建了一個'ABC'的字符串;

(2)在內存中創建了一個名為a的變量,并把它指向'ABC'

?

a='ABC'

b=a

a='XYZ'

?

5 定義字符串

如果字符串本身包含引號,可以用另一種引號括起來:

"I'm OK"

'Learn "Python" in mooc'

如果既含單引號,又含雙引號,可用\進行轉義:

'Bob said\"I\'m OK\".'

常用轉義字符:

\n?換行

\t? 制表符

\\? 表示\本身

?

6 raw字符串與多行字符串

在字符串前面加個前綴r,表示這是一個raw字符串,里面字符無需轉義。

r'\(~~)/\(~~)/'

但是其不能表示多行字符串,也不能表示包含單引號和雙引號的字符串。

?

如果要表示多行字符串,用三引號:

'''Line1

Line2

Line3'''

等同于'Line1\nLine2\nLine3'

?

還可以在多行字符串前添加r,變成多行raw字符串。

r'''Python is created by "Guido".

It is free and easy to learn.'''

?

7 Unicode字符串

字符串還有一個編碼問題。

因為計算機智能處理數字,如果要處理文本,就必須把文本轉換為數字才能處理。

最早的計算機在設計時采用8個比特(bit)作為一個字節(byte),所以,一個字節能表示的最大整數就是255(二進制11111111=十進制255),0-255被用來表示大小寫英文字母、數字和一些符號,這個編碼表被稱為ASCII編碼,比如大寫字母A的編碼是65,小寫字母z的編碼是122。

如果要表示中文,顯然一個字節是不夠的,至少需要兩個字節,而且還不能和ASCII碼沖突,所以,中國制定了GB2312編碼,把中文編進去。類似的,日文和韓文等其他語言也有這個問題。為了統一所有文字的編碼,Unicode應運而生。Unicode把所有語言都統一到一套編碼里,以解決亂碼問題。

Unicode通常用兩個字節表示一個字符,原有的英文編碼從單字節變成雙字節,只需要把高字節全部填為0就可以了。

因為Python誕生的時間比Unicode標準發布的時間早,所以最早的Python只支持ASCII碼,普通的字符串'ABC'在Python內部都是ASCII編碼的。

Python在后來添加了對Unicode的支持,用u'...'表示,如

print u'中文'

?

如果中文字符串遇到UnicodeDecodeError,這是因為.py文件保存的格式有問題。

需要在第一行加注釋:

# -*- coding: utf-8 -*-

目的是告訴Python解釋器,用UTF-8編碼讀取源代碼,然后另存為UTF-8格式。

?

?

?

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

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

相關文章

初識Python-1

1,計算機基礎。 2,python歷史。 宏觀上:python2 與 python3 區別: python2 源碼不標準,混亂,重復代碼太多, python3 統一 標準,去除重復代碼。 3,python的環境。 編譯型&…

02 List、Tuple、Dict、Set

List 線性表 創建List: >>> classmates [Michael, Bob, Tracy] >>> L [Michael, 100, True] #可以在list中包含各種類型的數據 >>> empty_list [] #空List 按索引訪問List: >>> print L[0] #索引從0開始…

Jenkins的一些代碼

pipeline {agent anyenvironment { def ITEMNAME "erp"def DESTPATH "/home/ops/testpipe"def codePATH"/var/lib/jenkins/workspace/test_pipeline"}stages { stage(代碼拉取){steps {echo "checkout from ${ITEMNAME}"git url:…

利用layui前端框架實現對不同文件夾的多文件上傳

利用layui前端框架實現對不同文件夾的多文件上傳 問題場景: 普通的input標簽實現多文件上傳時,只能對同一個文件夾下的多個文件進行上傳,如果要同時上傳兩個或多個文件夾下的文件,是無法實現的。這篇文章就是利用layui中的插件&am…

ps、grep和kill聯合使用殺掉進程

ps、grep和kill聯合使用殺掉進程例如要殺掉hello這個進程,使用下面這個命令就能直接實現。ps -ef |grep hello |awk {print $2}|xargs kill -9這里是輸出ps -ef |grep hello 結果的第二列的內容然后通過xargs傳遞給kill -9,其實第二列內容就是hello的進程號&#xf…

03 控制語句

if語句 if age > 18 print your age is, age else print teenager Python代碼的縮進規則:具有相同縮進的代碼被視為代碼塊。 if age > 18 print adult elif age > 6 print teenager elif age > 3 print kid else print baby for循環 L [Adam, L…

yum 來安裝 nodejs

要通過 yum 來安裝 nodejs 和 npm 需要先給 yum 添加 epel 源,添加方法在 centos 添加epel和remi源 中##添加 epel 源 64位: rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm32位: rpm -ivh http://download.fedoraproj…

yzh的神仙題

U66905 zz題 考慮一個點權值被計算了多少次。。。不知 所以對未來承諾,方便直接算上總數! 然后其實是給邊定向,即先刪除fa和son的哪一個 f[x][j],會計算j次 無法轉移 f[x][j][k],其中會從子樹計算k次。 當邊從兒子指向…

04 函數

內置函數 Python內置了很多有用的函數,可以直接調用。 要調用一個函數,需要知道函數的名稱和參數。 可以直接從Python的官方網站查看文檔:http://docs.python.org/2/library >>> abs(-20) >>> help(abs) >>>…

iview render的時候可以寫控件的基本格式

render: (h, params) > {return h(div, [h(Button, {props: {type: id,size: small},style: {marginRight: 5px},on: {click: () > {this.pojectshow(this.datatable[params.index].id)}}}, 詳情),h(Button, {props: {type: id,size: small},style: {marginRight: 5px},o…

ES6基本使用

var let 度可用于聲明變量. 區別&#xff1a;1、let&#xff1a;只在let命令所在代碼塊內有效 2、let 不存在變量提升&#xff08;內部影響不到外部&#xff09; var b [];for(var j0;j<10;j){let dj;b[j]function(){console.log(d);};}b[3]() //3 3、let 不允許在相同作用…

Axios的Vue插件(添加全局請求/響應攔截器)

/*** file Axios的Vue插件&#xff08;添加全局請求/響應攔截器&#xff09;*/// https://github.com/mzabriskie/axios import axios from axios// 攔截request,設置全局請求為ajax請求 axios.interceptors.request.use((config) > {config.headers[X-Requested-With] XML…

05 切片、迭代、列表生成

切片 >>> L [Adam, Lisa, Bart, Paul] >>> L[0:3] #取前3個元素 >>> L[:3] >>> L[1:3] >>> L[:] >>> L[::2] #第三個參數表示每2個元素取一個元素&#xff0c;也就是隔一個取一個 [Adam,Bart] >>>…

一個例子徹底搞懂C++的虛函數和純虛函數

學習C的多態性&#xff0c;你必然聽過虛函數的概念&#xff0c;你必然知道有關她的種種語法&#xff0c;但你未必了解她為什么要那樣做&#xff0c;未必了解她種種行為背后的所思所想。深知你不想在流于表面語法上的蜻蜓點水似是而非&#xff0c;今天我們就一起來揭開擋在你和虛…

利用Caffe實現mnist的數據訓練

阿里云的參考文檔&#xff1a;https://help.aliyun.com/document_detail/49571.html在文檔里提供了caffe的一個案例&#xff0c;利用Caffe實現mnist的數據訓練。準備的數據源可以在“深度學習案例代碼及數據下載”頁找到Caffe數據下載并解壓。要訓練自己的圖片&#xff0c;還是…

06 函數式編程

1 函數式編程簡介 函數&#xff1a;function 函數式&#xff1a;functional 一種編程范式 特點&#xff1a; 把計算視為函數而非指令 純函數式編程&#xff1a;不需要變量&#xff0c;沒有副作用&#xff0c;測試簡單 支持高階函數&#xff0c;代碼簡潔 Python支持的函數式…

Android SDK開發

目前我們的應用內使用了 ArcFace 的人臉檢測功能&#xff0c;其他的我們并不了解&#xff0c;所以這里就和大家分享一下我們的集成過程和一些使用心得 集成 ArcFace FD 的集成過程非常簡單 在 ArcFace FD 的文檔上有說明支持的系統為 5.0 及以上系統&#xff0c;但其實在 4.4 系…

jQuery WeUI 上傳

jQuery WeUI 是專為微信公眾賬號開發而設計的一個框架&#xff0c;jQuery WeUI的官網&#xff1a;http://jqweui.com/ 需求&#xff1a;需要在微信公眾號網頁添加上傳圖片功能 技術選型&#xff1a;實現上傳圖片功能可選百度的WebUploader、餓了么的Element和微信的jQuery WeUI…

07 模塊

模塊和包的概念 等同于java中的Package 模塊名文件名&#xff08;無后綴&#xff09; 在文件系統中&#xff0c;包就是文件夾&#xff0c;模塊就是xxx.py文件 每層包下面都有__init__.py文件 導入模塊 >>> import math >>> math.pow(2, 0.5) >>…

1.rabbitmq 集群版安裝及使用nginx進行四層負載均衡設置

1.安裝erlang 需要注意erlang的版本是否滿足rabbitmq的需求 這里用到的版本是&#xff1a;Erlang 19.0.4 RabbitMQ 3.6.15 wget http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpmrpm -ivh erlang-19.0.4-1.el7.centos.x86_64.rpm yum -y inst…