Python语法基础(三)

1、列表的增删改查

增:append()、insert()、extend()

names = ['赵','钱','孙','李']
names.append("周")    # 向列表最后追加元素

names.insert(0,"郑")  # 向指定的位置添加内容
names.insert(2,"沙")  # 同上

names2 = ['葫','叮','候']
names3 = names + names2  # 返回两个列表拼接的结果,合并两个列表
names.extend(names3)     # 合并连个列表

删: pop()、remove()、del

pop()         #和append()相对,都是从尾部
names.pop()   # 删除列表最后一个元素,并返回该元素
names.remove("李")  #从左向右删除列表中指定元素一次,列表中可以存在相同元素
del names[0]    #删除列表中指定的切片的元素
del names[2:5]  # 列表支持切片,返回列表

names[0] = "刘"  # 直接修改第0个元素

查in 或 not in

in      #判断列表是否包含某元素
not in  #判断列表是否包含某元素

2、字典的增删改查

infor = {"name":"赵","addr":"山东","age":18}
print("%s %d %s"%(infor['name'],infor['age'],infor['addr']))  # 关联索引更具特征性,不会像列表一样数字索引容易出错

增 改

infor['key'] = 'value'

del infor['key']

infor.get('key')

3、for else结构

for temp in couples:
    pass # 这里可以是一个if判断,如果if成立则break,不成立则执行else
    break
else:
    pass

4、列表中的append 和 extend 的区别

a = [11,22,33]
b = [44,55]

a.extend(b)  # b列表元素合并到a列表后,a = [11,22,33,44,55]  其中b只能是列表   无返回值 None
a.append(b)  # 把b当作一个元素整体追加到a最后 append可以追加元素本身  a = [11,22,33,[44,55]]

4、字典常见操作

infor= {"name":"赵","addr":"山东","age":18}
## len(infor)     # 列表/字典中值的个数
## infor.keys()   # 返回字典的键组成的列表
## infor.values() # 返回字典的值组成的列表
## infor.items()  # 返回值为 键值对组成元组 元组在组成列表  [('name','赵'),('addr','山东'),('age','18')]

5、 元组应用

for item in infor.items():
    key,value = item # 此时key='键' value='值'
    pass

num = (11,22,33)  # 返回tuple,元组类型
type(num)
元组的特点,一旦设置,不可修改

6、 函数封装

a = 300             # 全局变量定义的位置
def print_func():
    """函数的注释写在这里"""   # 用help(print_func)可以查看函数的注释,是函数就可以
    print "hello world" 
    print ("="*5)   # python3的print函数需要用小括号
    a = 500         # 这里需要注意,列表字典可以不用global声明而直接用,
    global a        # 全局变量
    a = 11
    b = 22
    c = 33
    return a,b,c    # 返回元组 (11,22,33)

7、不定长参数

def sun_2_sums(a,b,c,*args,**kwargs):     # args必须放在最后
    print(a)
    print(b)
    print(c)
    print(args)
    print(kwargs)

sun_2_sums(11,22,33,44,55,66)  
# 返回结果 args为后边几个参数的元组形式, kwargs为空字典
# 11
# 22
# 33
# (44,55,66)
# {}
sun_2_sums(11,22,33,task=44,done=55)
# 有键的时候返回字典
# 11
# 22
# 33
# ()
# {'task':44,'done':55}
A = (44,55,66)
B = {'name':'laowang','age':18}
sun_2_sums(11,22,33,*A,**B)
# 想要元组给元组,字典给字典,需要在传参的时候带上*号前缀
# 否则会按照规则直接存入元组
# 11
# 22
# 33
# (44,55,66)
# {'name':'laowang','age':18}

8、引用

a = 100
b = a
id(a)    # 返回a的值的存储地址 如:10917536
id(b)    # 返回b的值的存储地址 10917536  即此时是传递至引用地址

A = [11,22,33]
B = A
A.append(44)  #打印B 返回和A一样  [11,22,33,44]

9、不可变类型、可变类型

####不可变类型:int、string、元组
####可变类型:列表、字典  字典不能用可变类型当作key,

10、递归

递归就是自己调用自己,用递归首先要想到的是出口

def getNums(num):
    if num > 1:
        return num * getnums( num - 1 )
    else:
        return num
getNums(5)

你可能感兴趣的:(Python语法基础(三))