Python笔记

要点1 :list和tuple

list例如:classmates=['michael','kangkang','heima'],索引从0开始,取最后元素可以直接使用classmates[-1],类退classmates[-2],list是可变数组

classmates.append('daanna')

classmates.insert(1,'kangkai')原来1位置元素后移

classmates.pop()删除末尾元素classmates.pop(1)删除指定位置元素

list元素类型可以不同,可以循环嵌套,即list里面可以套list,替换直接classmates[1]='michael';

tuple元组类似数组,但是tuple一旦初始化就不能改变,这个相对于list更为安全,不可变;

如果想要提前定义元组的个数,可以定义t=(2),但是定义元组个数为1时候,会出现歧义,所以t=(1,)

要点2 :条件函数

if a > 2 :

print('a大于2!')

elif :

print('a等于2!')

else :

print('a小于2!')

循环函数

sum=0;

for x in [1,2,3,4] :

sum =sum+x

sum = 0

for x in range(101):

sum = sum+x

要点3 :dict字典 set

dict{'1':'kangkang','2':'heima'}删除key方法dict.pop('1')

dict.get('kangkang'),返回none则不存在这个key,也可通过dict.get('kangkang',-1)返回-1表示不存在这个key

'kangkang' in dict返回false则不存在该key

set([1,2,3]),set中是不可以重复的,会自动去重,并且里面顺序是无序的;可以set.add(),set.remove()

要点4 : 自定义函数使用def函数

例如:def my_abc():

if x > 0 :

return x

else :

return x-100

内置函数会检查参数类型,上面定义函数不会检查,如果需要检查,需要 添加

def my_abc():

if not isinstance(x, (int, float)):

      raise TypeError('bad operand type,参数错误!')

if x > 0 :

return x

else :

return x-100

要点5 :自定义函数设置默认函数

def add_end(L=[]):

    L.append('END')

    return L

例如:def add_end(L = None) :

if L is None :

L = []

L.append('end')

return L;

Python函数在定义的时候,默认参数L的值就被计算出来了,即[],因为默认参数L也是一个变量,它指向对象[],每次调用该函数,如果改变了L的内容,则下次调用时,默认参数的内容就变了,不再是函数定义时的[]了。

要点6 :自定义函数设置可变参数

def print1(a,b,c):

print('a'a,'b',b,'c',c)

简写:

def print1(*numbers):

sum = 0

for i in numbers :

sum = i+sum

print(sum)

要点7 :自定义函数关键字参数

def person(**kw) :

print('name',name,'age',age,'other',kw)

命名关键字参数

def person(name,age,*,city,job)

print(name,age,city,job)

可知,可变参数就是一个list,关键字参数算是dict

list[1,2,3],tuple(1,2,[1,2]),dict{'michle':4,'kangkang':5},set{1,2,3,4}结果不能重复;

要点8 : 递归函数

def xpow(n) :

sum = 1

if n > 1 :

sum = n * xpow(n-1)

return sum;

要点9 :切片

list[0:10]-----0到9 可以简单或list[:10]

list[1:10]-----1到9切片还可以反向来list[-1:]最后一个list[-10:-1]-10,-9,-8.....

要点10 : 迭代

for x in list :

pass

for x in "abc" :

print(x)      ##结果为a,b,c

可以利用函数isinstance('abc',Iterable)判断是否可以迭代true or false

利用迭代求一个list的最小值和最大值

min = None

max = None

for item in L:

    if min == None or item < min:

        min = item

    if max == None or item > max:

        max = item

return (min, max)

要点11 : 列表生成式

如果需要生成list中元素的乘积可以使用列表生成式

[x*x for x in range(0,10) if x % 2 ==0]结果显示为 0 1 4 9......

双层循环

[ x + y for x in range(1,5) for y in range(6,9)]

迭代字典

d = {'x':1,'y':2,'z':4,'t':5}

for k,v in d.items() :

print(k,'=',v)

字符串小写

L = ['HELLO','WORLD','IBM','APPLE']

[s.lower() for s in L]

要点12 :生成器

为解决大数据量的问题,列表生成式会面临一个内存溢出的问题,所以我们使用生成器

只需要在列表生成式[]改为()即可;然后调用迭代其即可;

正常形式

def fib(max):

    n, a, b = 0, 0, 1

    while n < max:

        print(b)

        a, b = b, a + b

        n = n + 1

    return 'done'

generate形式只需要添加yield就可以了

def fib(max):

    n, a, b = 0, 0, 1

    while n < max:

        yield b

        a, b = b, a + b

        n = n + 1

    return 'done'

    然后f = fib(6)

    迭代f就好了  for x in f: print(x)

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Python 是一种相当高级的语言,通过 Python 解释器把符合语法的程序代码转换成 CPU 能够执行的机器码...
    Python程序媛阅读 2,091评论 0赞 3
  • http://python.jobbole.com/85231/ 关于专业技能写完项目接着写写一名3年工作经验的J...
    燕京博士阅读 7,909评论 1赞 118
  • 基础1.r''表示''内部的字符串默认不转义2.'''...'''表示多行内容3. 布尔值:True、False(...
    neo已经被使用阅读 1,927评论 0赞 5
  • 明月起相思,入骨知不知。
    浮偌阅读 295评论 2赞 3
  • 密尔在《论自由》中写道,生存是否对人有价值,全看其他人的行为是否得到约束。换个角度来说,也就是自由在不伤害他人利益...
    锦焱阅读 2,164评论 10赞 10

友情链接更多精彩内容