zoukankan      html  css  js  c++  java
  • 廖雪峰python摘录3

    1、if判断条件还可以简写x。只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False

    2、这是因为input()返回的数据类型是strstr不能直接和整数比较,必须先把str转换成整数。Python提供了int()函数来完成这件事情:

    s = input('birth: ')
    birth = int(s)
    if birth < 2000:
        print('00前')
    else:
        print('00后')
    

      或者 s>'2000' 也可以,需要类型一致才能比较。

    要是int()函数发现一个字符串并不是合法的数字时就会报错,程序就退出了。

    4、Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来。所以for x in ...循环就是把每个元素代入变量x,然后执行缩进块的语句。

    5、Python提供一个range()函数,可以生成一个整数序列,再通过list()函数可以转换为list。比如range(5)生成的序列是从0开始小于5的整数

    6、二种循环是while循环,只要条件满足,就不断循环,条件不满足时退出循环。比如我们要计算100以内所有奇数之和,可以用while循环。continue 继续循环。continue的作用是提前结束本轮循环,并直接开始下一轮循环。不要滥用breakcontinue语句。breakcontinue会造成代码执行逻辑分叉过多,容易出错。大多数循环并不需要用到breakcontinue语句。

    7、Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。

    注意要用冒号!   d={“Mike”:100,"Jack"::97}

    8、要删除一个key,用pop(key)方法,对应的value也会从dict中删除

    9、

    和list比较,dict有以下几个特点:

    1. 查找和插入的速度极快,不会随着key的增加而变慢;
    2. 需要占用大量的内存,内存浪费多。

    而list相反:

    1. 查找和插入的时间随着元素的增加而增加;
    2. 占用空间小,浪费内存很少。

    所以,dict是用空间来换取时间的一种方法。v

    10、在Python中,字符串、整数等都是不可变的,因此,可以放心地作为key。而list是可变的,就不能作为key

    11、set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作。&交  | 并

    12、所以,对于不变对象来说,调用对象自身的任意方法,也不会改变该对象自身的内容。相反,这些方法会创建新的对象并返回,这样,就保证了不可变对象本身永远是不可变的。

     13、一是必选参数在前,默认参数在后,否则Python的解释器会报错(思考一下为什么默认参数不能放在必选参数前面)

    也可以不按顺序提供部分默认参数。当不按顺序提供部分默认参数时,需要把参数名写上。 

    14、 定义默认参数要牢记一点:默认参数必须指向不变对象!我们在编写程序时,如果可以设计一个不变对象,那就尽量设计成不变对象。

     15、定义可变参数和定义一个list或tuple参数相比,仅仅在参数前面加了一个*号。在函数内部,参数numbers接收到的是一个tuple,因此,函数代码完全不变。但是,调用该函数时,可以传入任意个参数,包括0个参数。

    16、*nums表示把nums这个list的所有元素作为可变参数传进去。这种写法相当有用,而且很常见。

     >>> nums = [1, 2, 3]

    >>> calc(*nums)

    14

    17、可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。   它可以扩展函数的功能。

    18、在Python中定义函数,可以用必选参数、默认参数、可变参数(*a:1,2,3,'a','b','c',限制列表格式)、关键字参数(**a;city='a',b='c',限制字典格式)和命名关键字参数(*,a:a='c'限制a),这5种参数都可以组合使用。但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。

    19、如果一个函数在内部调用自身本身,这个函数就是递归函数。

    20、Python标准的解释器没有针对尾递归做优化,任何递归函数都存在栈溢出的问题。

    21、

    在Python中,代码不是越多越好,而是越少越好。代码不是越复杂越好,而是越简单越好。

    基于这一思想,我们来介绍Python中非常有用的高级特性,1行代码能实现的功能,决不写5行代码。请始终牢记,代码越少,开发效率越高。

    22、字符串'xxx'也可以看成是一种list,每个元素就是一个字符。因此,字符串也可以用切片操作,只是操作结果仍是字符串。

    23、认情况下,dict迭代的是key。如果要迭代value,可以用for value in d.values(),如果要同时迭代key和value,可以用for k, v in d.items()

    (输出什么看.values()  .items(),和for之后的无关)

    24、由于字符串也是可迭代对象,因此,也可以作用于for循环。任何可迭代对象都可以作用于for循环,包括我们自定义的数据类型,只要符合迭代条件,就可以使用for循环。

    
    
  • 相关阅读:
    居然就这么没有了
    RAID4 in WAFL
    网络存储导论第15章:Netapp产品分析
    radwareAPSolute应用前端解决方案全局负载均衡解决方案
    RAID , LVM and EVMS
    FND_STANDARD.SET_WHO
    基于基表的Form开发
    eclipse pydev 升级地址
    .net程序员应该知道的
    收集利用Jquery取得iframe中元素
  • 原文地址:https://www.cnblogs.com/xflqm/p/7460756.html
Copyright © 2011-2022 走看看