python基础学习1

python常用数据类型:

  • 整数型(int)

  • 浮点型(float)

  • 字符串(str)
    基本同ruby,单双引号都可以

  • 布尔型(bool)
    True,False

  • 空值(None)
    相当于nil

  • 列表(list)
    就是数组(可变),可用append,pop等方法

  • 元组(tuple)
    我理解为不可变的数组,(1,2,3)这种形式
    列表和元组 都可用切片的方法

    [1,2,3][0:2] #表示取从索引0开始到索引2结束(不包括索引2)
    [1,2,3][:2] #从索引0开始的可简写为
    [1,2,3][1:] #从某索引开始到结束可简写为
    
  • 字典(dict)
    类似于hash,key-value存储方式。长这样:{'name':'alex'},可以用[]下表取值/赋值,也可以用get()方法(参数为key)取值,可用pop方法取值并把该key,value从字典中去除;

  • set
    类似字典,但不存value,自动去重,长这样{'a','b'}

控制结构

  • 循环
for x in arr:
  print(x)

list、tuple、dict、set、str 都支持这种方式

这些可以直接作用于for循环的对象统称为可迭代对象:Iterable

  • 条件判断
    python没有 switch case的判断结构,只能用 if elif实现
   if a > 2:
      print('a')
   elif a > 1:
      print('b')
   else:
      print('c')

常用函数

  • map
    功能与ruby map相似,但不是对象的方法
    这么用
     map(lambda x: x*x,[1,2,3,4]) #返回map object (可迭代对象)[1,4,9,16],lambda也可以是函数
  • reduce
reduce(lambda a,b:a+b,[1,2,3,4])# 相当于 fn(fn(fn(1,2),3),4)这么凋用
  • list
    我的理解是把可迭代对象转化为list
list((1,2,3)) #元组
list(list({'s':1,'b':2}))   #返回 ['s','b']
list( map(lambda x: x*x,[1,2,3,4]) ) #返回[1,4,9,16]
..
  • filter
    相当于select
list(filter(lambda x: x%2 ==0,[1,2,3,4,5] )) #返回 [2,4]
  • len
    获取元数个数
len((1,2,3)) #3
  • ininstance,type
#判断是否某一类型
isinstance(1,int) #True
#获取类型
type(1) # 

参数

  • 默认参数
def  say(a,b=0):
  return a + b
say(1,2)
say(1)
#默认参数应为不可变对象
  • 可变参数
    类似ruby
def pp(*args,**kw):
  print(len(args))
  #*args 把参数转化为tuple,**kw把关键字参数转为dict
  print(kw) #{'name':'me',age:99}

pp(1,2,3name='me',age = 99)


你可能感兴趣的:(python基础学习1)