0
点赞
收藏
分享

微信扫一扫

那些我们从牛客上学到的python干货

践行数据分析 2022-06-17 阅读 72
tmp = dict.fromkeys(['a', 'b'], 4)
print(tmp)

输出结果为:{'a': 4, 'b': 4}
++Python3 字典 fromkeys(seq, value) 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。该方法返回一个新字典++

>>> strs = 'abcd12efg'
>>> strs.upper()    # 所有字母全大写
'ABCD12EFG'
>>> strs.lower()    # 所有字母全小写
'abcd12efg'
>>> strs.upper().title()    # 单词首字母大写
'Abcd12Efg'
>>> strs.title()
'Abcd12Efg'
>>> strs.capitalize()        # 字符串首字母大写
'Abcd12efg'
>>> "12abc".capitalize()
'12abc'
tmp = [1, 2, 3, 4, 5, 6]
tmp.insert(-3, 'a')
print(tmp[4])

输出结果为:4
++insert(self, index, object) Insert object before index.
insert方法是指定位置前面加++

n = 1000
while n > 1:
    print(n)
    n = n / 2

该程序的循环次数为10
本题需要注意的一个点就是题目限定了python3,这点很重要
如果是python2的话,由于“地板除”的缘故,第9次除的结果被约成了1,故此不能再次进入循环,最后输出的结果只有9次
而python3因为是精确计算,第9次的结果为1.95xxxxx,大于1,可以再次进入循环,所以最后输出的结果有10次

str = "Hello,Python"
suffix = "Python"
print (str.endswith(suffix,2))

++str.endswith(suffix[, start[, end]]) 用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False。
可选参数"start"与"end"为检索字符串的开始与结束位置。++

关于python中的复数
1、虚数不能单独存在,它们总是和一个值为 0.0 的实数部分一起构成一个复数

2、复数由实数部分和虚数部分构成

3、表示虚数的语法:real+imagej

4、实数部分和虚数部分都是浮点数

5、虚数部分必须有后缀j或J
浅拷贝:切片,赋值,调用copy模块的copy方法
深拷贝:用copy模块的deepcopy方法
浅拷贝原数据改变时,拷贝数据也发生改变;深拷贝原数据改变时,拷贝数据不发生改变。
++映射是一种关联式的容器类型,它存储了对象与对象之间的映射关系,字典是python里唯一的映射类型,它存储了键值对的关联,是由键到键值的映射关系。++
*++xxx 不能用’from module import *’导入 (相当于protected)
xxx 系统定义名字 (系统内置的,比如关键字)
xxx 类中的私有变量名 (privated),所以更加不能使用from module import进行导入了++*

当一个嵌套函数在其外部区域引用了一个值时,该嵌套函数就是一个闭包,以下代码输出值为:

def adder(x):
    def wrapper(y):
        return x + y
    return wrapper
adder5 = adder(5)
print(adder5(adder5(6)))

++如果一个函数内部又定义了一个函数,就把外部的函数称为外函数,内部的函数称为内函数,如果内函数引用了外函数的变量,而外函数返回内函数(通过引用),就把这种形式称为闭包,并且当外函数结束时会将变量绑定给内函数。++
adder(5)=wrapper(x=5,y)
adder5=adder(5)=wrapper(x=5,y)
adder5(6)=wrapper(5,6)=11
adder5(adder5(6))=wrapper(5,11)=16
辗转相除法求最大公约数

def f(a, b):
    if b == 0:
        return a
    else:
        return f(b, a%b)

a, b = input(“Enter two natural numbers: ”)
print f(a, b)

执行以下程序,输出结果为()

执行以下程序,输出结果为()

def outer(fn):

    print('outer')

    def inner():

        print('inner')

        return fn

    return inner

@outer

def fun():

    print('fun')

++@为装饰器用法,装饰器的一个关键特性是,它们在被装饰的函数定义之后立即运行++
在fun()顶部写@outer 等同于将fun函数作为一个参数传入outer 写法如: fun = outer(fun)
所以先执行print ('outer')
return inner没有()因此inner函数不执行

举报

相关推荐

0 条评论