1、数据类型
global
在python
的函数中和全局同名的变量,如果你有修改变量的值就会变成局部变量,如果确定要引用全局变量,并且要对它修改,必须加上global
关键字。
复数
data = 1 + 2j
print ( type ( data) )
List(有序集合)
lis = [ 'a' , 'b' , 'c' ]
len ( lis)
lis[ 0 ]
lis[ - 1 ]
lis. append( 'd' )
lis. insert( index, value)
lis. pop( )
lis. pop( index)
lis. sort( )
tuple(元组)
一旦初始化,不能修改;
tuple
的每个元素,指向永远不变;
tup1 = ( 'a' , 'b' , 'c' )
tup2 = ( 1 , )
dict(字典)
在其他语言中也称为map
,使用键-值(key-value
)存储,具有极快的查找速度;
dict
的key
必须是不可变对象,dict
根据key
来计算value
的存储位置(Hash
);
d = {
'a' : 1 , 'b' : 2 , 'c' : 3 }
d[ 'a' ]
'd' in d
d. get( 'd' , - 1 )
d. pop( 'a' )
set
一组key
的集合,不存储value
值,元素不能重复;
要创建一个set
,需要提供一个list
作为输入集合;
不可放入可变对象;
s1 = set ( [ 1 , 2 , 3 ] )
ss = set ( [ 1 , 2 , 2 , 2 , 3 ] )
s1. add( 4 )
s1. remove( 4 )
s2 = set ( [ 2 , 3 , 4 , 5 ] )
s1& s2
s1 | s2
2、函数
abs ( - 1 )
int ( '1234' )
int ( 12.34 )
float ( 12.34 )
str ( 1.23 )
bool ( 1 )
bool ( '' )
属性
定义函数
定义默认参数要牢记一点:默认参数必须指向不变对象!
def add_end ( L= [ ] ) :
L. append( 'END' )
return L
add_end( )
add_end( )
def add_end ( L= None ) :
if L is None :
L = [ ]
L. append( 'END' )
retrun L
def calc ( * nums) :
sum = 0
for n in nums:
sum = sum + n* n
return sum
calc( 1 , 2 )
nums = [ 1 , 2 , 3 ]
calc( * nums)
def person ( name, age, ** kw) :
pass
person( 'a' , 12 , city= 'Shanghai' )
extra = {
'city' : 'Beijing' , 'job' : 'Engineer' }
person( 'b' , 13 , ** extra)
def person ( name, age, * , city= 'Beijing' , job) :
pass
person( 'a' , 22 , city= 'Shanghai' , job= 'Engineer' )
def person ( name, age, * args, city, job) :
pass
参数顺序:必选参数
、默认参数
、可变参数
、命名关键字参数
和关键字参数
3、特性
切片
L = [ 'a' , 'b' , 'c' , 'd' , 'e' ]
L[ : 3 ]
L[ 1 : 3 ]
L[ - 2 : ]
L[ - 2 : - 1 ]
L[ : : 3 ]
迭代(Iteration
)
d = {
'a' : 1 , 'b' : 2 , 'c' : 3 }
for key in d:
print ( key)
for value in d. values( ) :
pass
for k, v in d. items( ) :
pass
from collections import Iterable
isinstance ( 'abc' , Interable)
isinstance ( [ 1 , 2 , 3 ] , Interable)
isinstance ( 123 , Interable)
enumerate,将一个list变成索引-元素对
for i, value in enumerate ( [ 'A' , 'B' , 'C' ] ) :
print ( i, value)
列表生成式(List Comprehensions
)
[ x * x for x in range ( 1 , 11 ) if x % 2 == 0 ]
[ m+ n for m in 'ABC' for n in 'XYZ' ]
import os
[ d for d in os. listdir( '.' ) ]
dic = {
'a' : 1 , 'd' : 2 , 'A' : 4 , 'g' : 8 }
[ k + '=' + v for k, v in dic. items( ) ]
L = [ 'Hello' , 'Bye' , 122 ]
[ s. lower( ) for s in L if isinstance ( s