python基础的一些补充

再次看了一下<<python编程从入门到实践>>,把以前不常用的一些点记录一下。

删除空白

'python '和’python’看起来几乎没什么区别,但是对于程序而言,这是两个不同的字符串。

  • 保证字符串末尾没有空白,使用方法rstrip()
s = 'python '
print(s.rstrip())
>>> 'python'
# 这种删除只是暂时的,并没有改变s本来的值
print(s)
>>> 'python '
  • 删除字符串开头的空白,使用方法lstrip()
  • 删除字符串两端的空白,使用方法strip()
对于列表的操作
指定位置插入元素,insert(index, value),要指定新插入元素的索引和值.
l1 = ['a', 'b', 'c']
print(l1.insert(0, 'd'))
>>> ['d', 'a', 'b', 'c']
删除元素
  • 知道元素索引,用del
del l1[2]
  • pop()
l1.pop()    # 默认删除l1中的最后一个元素
l1.pop(2)   # 删除索引为2的元素
  • 根据值删除元素,remove()
l1.remove('a')    # 删除l1中第一个为'a'的元素
排序
  • sort()方法对列表的改变是永久性的
  • sorted()函数是临时的
l1.sort()    # 此时l1已经是变化之后的
l1.sort(reverse=True)    # 默认reverse=False
print(sorted(l1))    # l1并没有变化 
将列表逆序,永久性操作
l1.reverse()
复制列表
l2 = l1    # l2和l1指向同一个列表,其中任意一个的变化都会让另一个变化
l2 = l1[:]   # l2变化不影响l1本身
input()函数,将用户的输入解读为字符串
age = input("How old are you?")
How old are you? 21
>>>age
'21'
函数的定义
  • 使用默认值的时候,在形参列表中必须先列出没有默认值的形参,再列出有默认值的形参。
  • 传递任意数量的实参
def make_pizza(*toppings)print(toppings)
# *toppings 创建了一个名为toppings的空元组,将所有传进来的实参都封装到这个元组中
  • 接受任意数量的关键字参数
def build_profile(**user_info):
    profile = {}
    for k,v in user_info.items():
        profile[k] = v
    return profile

user_profile = build_profile(location='priceton', filed='physics')
# **user_info 创建了一个空字典
  • 这些参数的定义顺序: 位置参数、*args、默认参数、**kwargs
*可将元组,列表,字符串打散
l = [2,3,4,1,0]
print(*l)
>>>2 3 4 1 0
def func_dic(**kwargs):
    print(kwargs)
# **将字典打散
dic = {'a': 1, 'b': 2}
func_dic(**dic) 

# 直接用print(**dic)会报错
局部变量和全局变量
  • 对于不可变数据类型,可在局部查看全局变量,但是不能直接修改
  • 如果想要修改,可以在定义时添加global声明
a = 1
def func():
    a += 1
    print(a)
    
func()   # 这样会报错,不能在函数里面修改a的值

a = 1
def func():
    global a
    a += 1
    print(a)
    
func()
>>> 2
  • nonlocal 关键字,只能用于局部变量,找上层中离当前函数最近的局部变量
a = 1
def func1():
    a = 2
    def func2():
        nonlocal a
        a += 1
    func2()
    return a
print(a)
print(func1())
>>> 1
>>> 3
函数进阶
  • 函数名可以赋值
def f1():
    print(1)

f2 = f1
f2()
>>> 1
  • 函数名可以作为容器(列表、元组等)类型的元素
l = [f1, f2]
for i in l:
    i()

>>>1
>>>1
  • 函数名可以作为函数的参数和返回值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值