为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
初识Python_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
  • pop()方法总是删掉list的最后一个元素,并且它还返回这个元素,

    pop(定位)

    查看全部
  • append加入list的末尾

    insert(索引号,待添加的新元素)

    查看全部
  • dict的第三个特点是作为 key 的元素必须不可变,Python的基本类型如字符串、整数、浮点数都是不可变的,都可以作为 key。但是list是可变的,就不能作为 key。

    查看全部
  •  Python代码的缩进规则。具有相同缩进的代码被视为代码块

    缩进请严格按照Python的习惯写法:4个空格,不要使用Tab,更不要混合Tab和空格,否则很容易造成因为缩进引起的语法错误。

    如果你在Python交互环境下敲代码,还要特别留意缩进,并且退出缩进需要多敲一行回车

    查看全部
    0 采集 收起 来源:Python之if语句

    2018-06-09

  • set的元素没有重复,而且是无序的,这点和 dict 的 key很像。


    当向set中输入重复的元素时,set会自动的删除重复的元素。

    查看全部
  • True and 'a=T' 计算结果是 'a=T'
    继续计算 'a=T' or 'a=F' 计算结果还是 'a=T'

    要解释上述结果,又涉及到 and 和 or 运算的一条重要法则:短路计算。

    1. 在计算 a and b 时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。

    2. 在计算 a or b 时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。

    所以Python解释器在做布尔运算时,只要能提前确定计算结果,它就不会往后算了,直接返回结果。


    查看全部
  • 常用的转义字符还有:

    \n 表示换行
    \t 表示一个制表符
    \\ 表示 \ 字符本身


    查看全部
  • # -*- coding: utf-8 -*-
    d = {
        'Adam':95,
        'Lisa':85,
        'Bart':59
    }
    for a in d:
        print d.get(a)
        
        
    d = {
        95:'Adam',
        85:'Lisa',
        59:'Bart'
    }
    for a in d:
        print d.get(a)


    查看全部
  • 第3章总结

    https://img1.sycdn.imooc.com//5b1b9f180001c19602970117.jpg

    https://img1.sycdn.imooc.com//5b1b9f180001570502570125.jpg

    https://img1.sycdn.imooc.com//5b1b9f180001052c02650173.jpg

    https://img1.sycdn.imooc.com//5b1b9f1900010b7801980117.jpg

    https://img1.sycdn.imooc.com//5b1b9f1900019f3202840199.jpg

    https://img1.sycdn.imooc.com//5b1b9f190001d0e902430117.jpg

    https://img1.sycdn.imooc.com//5b1b9f1a000191ca02790171.jpg

    https://img1.sycdn.imooc.com//5b1b9f1a0001ad4f02530158.jpg

    https://img1.sycdn.imooc.com//5b1b9f1a0001620202290116.jpg

    https://img1.sycdn.imooc.com//5b1b9f1b0001d17202290101.jpg

    https://img1.sycdn.imooc.com//5b1b9f1b0001f06602940097.jpg

    https://img1.sycdn.imooc.com//5b1b9f1b0001ce6802810117.jpg

    https://img1.sycdn.imooc.com//5b1b9f1c0001314b02140109.jpg


    查看全部
  • 第一个python程序hello,world:

    print 'hello,world'

    注意:首行不能有空格,python对缩进要求严格。

    要使用Notepad++编写代码,不能用word文档写。

    执行python文件:

    python helloworld.py


    查看全部
  • #-*-coding:utf-8#
    #先判断再输出
    d = {
        'Adam': 95,
        'Lisa': 85,
        'Bart': 59
    }
    print 'Adam:',d.get('Adam')
    print 'Lisa:',d.get('Lisa')
    print 'Bart:',d.get('Bart')
    #直接输出
    d = {
        'Adam': 95,
        'Lisa': 85,
        'Bart': 59,
    }
    print 'Adam:',d['Adam']
    print 'Lisa:',d['Lisa']
    print 'Bart:',d['Bart']


    查看全部
    0 采集 收起 来源:Python之访问dict

    2018-06-09

  • 加了注释# -*- coding: utf-8 -*-之后 print之后就不要再加u了

    查看全部

  • 第一级别是源码级别的混淆,用 ast 和 astor ,再自己手写一个混淆器,三五百行的脚本直接混淆到几万行,整个文件面目全非,基本可以做到就算直接放脚本给你拿去逆,除非你再写出来一个逆向前面的混淆算法的脚本来逆(在熟悉 python 的情况下需要花几天,且不说需要了解程序构造原理),手动去调试脚本几乎达到不可行的地步(话费时间再乘以 2 ) 

    第二级别是个性化定制 pyinstaller , pyinstaller 会打包所有需要的库,将脚本也包含进打包的 exe ,但是, pyinstaller 有一个 stub ,相当于一个启动器,需要由这个启动器来解密脚本和导入模块,外面有直接导出脚本的工具,但是那是针对 pyinstaller 自带的启动器做的,完全可以自己修改这个启动器再编译,这样逆向者就必须手动调试找到 main 模块。配合第一级别加密,呵呵,中国就算是最顶尖的逆向专家也要花个一两周,来破解我们的程序逻辑了,就我所知,实际上国内对于 py 程序的逆向研究不多。 

    第三级别是再上一层,将 py 翻译为 c 再直接编译 c 为 dll ,配合第一阶段先混淆再转 c 再编译,在第一步混淆之后,会产生非常多垃圾(中间层)函数,这些中间层函数在 c 这里会和 py 解释器互相调用,脚本和二进制之间交叉运行,本身混淆之后的源码就极难复原,再混合这一层,想逆向,难。 

    第四级别是利用 py 的动态特性,绝大多数逆向者都是 c ,汇编出身,对于程序的第一直觉就是,程序就是一条一条的指令,后一条指令必然在这一条指令后面,然而, py 的动态特性可以让代码逻辑根本就不在程序里面,这一点不想多讲,涉及到我一个项目里的深度加密。 

    第五级别,数学做墙。了解过比特币原理的知道要想用挖比特币就得提供大量算力去帮网络计算 hash ,这个成为 pow ,那么既然已经采用 py 了估计已经不考虑太多 cpu 利用率了,那就可以采用 pow (还有其他的手段)确保程序运行时拥有大量算力,如果程序被单步调试,呵呵,一秒钟你也跑不出来几个 hash 直接拉黑这个 ip (这个说法可能比较难理解,因为我第四层的加密没有说明,不过意思就是拒绝执行就对了-----------phrack

    查看全部
  • [(2*x-1)*2*x for x in range(1,51)]
    查看全部
    0 采集 收起 来源:生成列表

    2018-06-09

  • 利用 if ... else ... 语句,我们可以根据条件表达式的值为 True 或者 False ,分别执行 if 代码块或者 else 代码块。

    注意: else 后面有个“:”。


    查看全部
    0 采集 收起 来源:Python之 if-else

    2018-06-09

举报

0/150
提交
取消
课程须知
如果您了解程序设计的基本概念,会简单使用命令行,了解中学数学函数的概念,那么对课程学习会有很大的帮助,让您学起来得心应手,快速进入Python世界。
老师告诉你能学到什么?
通过本课程的学习,您将学会搭建基本的Python开发环境,以函数为基础编写完整的Python代码,熟练掌握Python的基本数据类型以及list和dict的操作。
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!