變量和類型
基本變量類型
- 整數(shù)
- 浮點(diǎn)數(shù)
- 字符串
- 布爾值
- 空值
- 函數(shù)
- 模塊
- 類型*
- 自定義類型
例1. 基本數(shù)據(jù)類型:
print(type(1234))
print(type(123.45))
print(type(123.))
print(type('abc'))
<class 'int'>
<class 'float'>
<class 'float'>
<class 'str'>
對(duì)比:
Java中的數(shù)據(jù)類型有:包裝類型(Integer) 和 簡單數(shù)據(jù)類型(int) 兩種。
Python中沒有簡單數(shù)據(jù)類型苫幢,所有的對(duì)象都是一個(gè)類访诱,都繼承自O(shè)bject。
?
例2. 基本數(shù)據(jù)結(jié)構(gòu):
print(type( [1, 2, 3, 'a', 'b'] ))
print(type( (1, 'abc') ))
print(type( set(['a','b',3]) ))
print(type( {'a':1, 'b':2} ))
<class 'list'>
<class 'tuple'>
<class 'set'>
<class 'dict'>
?
例3. 函數(shù):
def func(a, b, c):
print(a, b, c)
print(type(func)) # <class 'function'>
a = func
print(type(a)) # <class 'function'>
?
例4. 模塊:
import string
print(type(string)) # <class 'module'>
?
例5. 類:
class MyClass(object):
pass
print(type(MyClass)) # <class 'type'>
myClass = MyClass()
print(type(myClass)) # <class '__main__.MyClass'>
?
變量定義
- 變量存儲(chǔ)在內(nèi)存中的值韩肝。這就意味著在創(chuàng)建變量時(shí)會(huì)在內(nèi)存中開辟一個(gè)空間盐数。
- 基于變量的數(shù)據(jù)類型,解釋器會(huì)分配指定內(nèi)存伞梯,并決定什么數(shù)據(jù)可以被存儲(chǔ)在內(nèi)存中。
- 變量可以指定不同的數(shù)據(jù)類型帚屉,這些變量可以存儲(chǔ)整數(shù)谜诫,小數(shù)或字符。(弱類型)
變量賦值
- 每個(gè)變量在使用前都必須賦值攻旦,變量賦值以后該變量才會(huì)被創(chuàng)建喻旷。(重要!@挝荨G以ぁ)
- 等號(hào)(=)用來給變量賦值,等號(hào)(=)運(yùn)算符左邊是一個(gè)變量名,等號(hào)(=)運(yùn)算符右邊是存儲(chǔ)在變量中的值烙无。
?
?
常見字符串處理
- 去除空格及特殊符號(hào):
strip
,lstrip
,rstrip
- 復(fù)制字符串:
str1 = str2;
- 連接字符串:
str2 += str1;
??new_str = str2 + str1;
- 查找字符串:
pos = str1.index(str2);
- 比較字符串:
cmp(str1, str2)
- 字符串長度:
len(str)
- 大小寫轉(zhuǎn)換:
u_str = str.upper();
??l_str = str.lower();
- 首字母大寫:
str.capitalize();
??string.capword(str);
- 分割與合并字符串:
split
,splitlines
,join
- 類型轉(zhuǎn)換:int, float轉(zhuǎn)換
- 格式化字符串
- 字符串測試
str.startwith(prefix)
str.endwith(suffix)
str.isalnum() # 是否全是字母和數(shù)字锋谐,并至少有一個(gè)字符。
str.isalpha() # 是否全是字母截酷,并至少有一個(gè)字符涮拗。
str.isdigit() # 是否全是數(shù)字,并至少有一個(gè)字符迂苛。
str.isspace() # 是否全是空白字符三热,并至少有一個(gè)字符。
str.islower() # 字母是否全是小寫
str.isupper() # 字母是否全是大寫
str.istitle() # 首字母是否大寫
參考代碼:lesson_03_string.py
?
?
條件判斷
- 真值判斷
if x == True:
if x:
if not x:
- 空值判斷
if x is None:
if not x:
- 比較
if a == b:
if a > b:
...
?
?
循環(huán)控制
- for循環(huán)
for i in range(begin, end, steps):
<=>for (i = begin; i < end; i += steps)
- while循環(huán)
- while 條件判斷:
- 循環(huán)嵌套
- 循環(huán)控制
break
continue
pass
?
?
函數(shù)
- 函數(shù)定義格式
- 默認(rèn)參數(shù)
- 可變參數(shù):*args三幻,自動(dòng)組裝成tuple
- 關(guān)鍵字參數(shù):*args就漾,自動(dòng)組裝成dict
- 命名關(guān)鍵字參數(shù)
- 函數(shù)調(diào)用
- 函數(shù)名(參數(shù)名)
- 模塊名.函數(shù)名(參數(shù)名)
- 帶參數(shù)名調(diào)用
- 什么是遞歸?