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

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
  • 一、错误原因:编码冲突(Unicode VS utf-8)
       解释:代码编辑第一行的注释#-*-coding:utf-8 -*-,表明以下Python代码使用utf-8编码,但是很多人把题目要求的输出语句写成print u'" ..."',这样就又要让解释器使用Unicode编码输出,导致解码出错。我们应该记住以何种方式编码就应以何种方式解码,否则就很有可能出现编码错误。

    查看全部
  • 变量名必须是大小写英文、数字、下划线的组合,且不能用数字开头

    查看全部
  • \n 表示换行
    \t 表示一个制表符
    \\ 表示 \ 字符本身


    查看全部
  • 可以用变量

    x1 = 1 表示第一项的值
    d = 3  表示公差
    n = 100 表示前100项
    x100 表示第100项的值

    首先计算第N项的值:

    x100 = x1 + (n - 1) * d

    再根据公式

    求和 s = (x1 + x100) * n / 2

    print可以把变量的值打印出来。


    查看全部
  • 1.dict:
        一:创建dict
            建立一组 key 和一组 value 的映射关系,dict的key是不能重复的。 模式:key-value
            d = {
                'Adam': 95,
                'Lisa': 85,
                'Bart': 59
            }
            注意:
                我们把名字称为key,对应的成绩称为value,dict就是通过 key 来查找 value。
                花括号 {} 表示这是一个dict
        二:访问dict
            1.d[key] 的形式来查找对应的 value //如果key不存在,会直接报错:KeyError。
             使用if判断是否存在: 
             if 'Paul' in d:
                 print d['Paul']
            2.使用dict本身提供的一个 get 方法,在Key不存在的时候,返回None
        三:特点
            1.查找速度快:
                无论dict有10个元素还是10万个元素,查找速度都一样
                dict的缺点是占用内存大,还会浪费很多内容
            2.是存储的key-value序对是没有顺序的!
                打印的顺序不一定是我们创建时的顺序,而且,不同的机器打印的顺序都可能不同,这说明dict内部是无序的,不能用dict存储有序的集合。
            3.作为key的元素必须不可变,不可变这个限制仅作用于key
                Python的基本类型如字符串、整数、浮点数都是不可变的,都可以作为key。但是list是可变的就不能作为key。
        四:更新dict
            d['Paul'] = 72  //d:{'Lisa': 85, 'Paul': 72, 'Adam': 95, 'Bart': 59}
                            //如果 key 已经存在,则赋值会用新的 value 替换掉原来的 value
            d['Bart'] = 60  //d:{'Lisa': 85, 'Paul': 72, 'Adam': 95, 'Bart': 60}
    2.set
        一:创建set
            调用 set() 并传入一个 list,list的元素将作为set的元素:s= set(['Adam','Lisa','Bart','Paul'])
        二:特点
            1.set内部存储的元素是无序的。
            2.set不能包含重复的元素  //s = set(['Adam','Lisa','Bart','Paul','Paul']) print s   //->set(['Adam','Lisa','Bart','Paul'])
            3.判断元素是否存在速度很快,所存元素是不变的对象
        三:访问set
            访问 set中的某个元素实际上就是判断一个元素是否在set中。
            采用 in 操作符
            >>>'Bart' in s
            True
            >>> 'bart' in s
            False
            区分大小写,因为key值是唯一的
        四:遍历set
            运用for循环:
            s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)]);
            for name in s:
                print name[0]+":",name[1];
           由于set里面的每一个元素都是tuple/list类型数据,所以可以对每个set里面的元素使用tuple元素访问方式访问并读取
       五:更新set
           1.添加元素:s.add()
               如果添加的元素已经存在于set中,add()不会报错,但是不会加进去:
               s.add('Mana')  //s = set(['Adam','Lisa','Bart','Paul','Paul,'Mana'])
               s.add('Paul')  //s = set(['Adam','Lisa','Bart','Paul','Paul,'Mana'])
           2.删除元素:s.remove()
               如果删除的元素不存在set中,remove()会报错:
               s.remove('Mana')  //s = set(['Adam','Lisa','Bart','Paul','Paul])
               s.remove('Mana')  //KeyError: Mana


    查看全部
  • python不适合的领域

    查看全部
  • print 后边貌似有3种方法:1、十位数乘10加个位数   数学运算

    2、把xy都转换为字符串形式通过加号连接在一起  转换可能叫转义   str

    3、好像是个站位符什么的,具体用法也忘记了

    查看全部
  • sum = sum + x

    是求和用的

    整除表示方法:x % 2 == 0

    必须记着  :    if 末尾必须有 “ :”

    查看全部
  • 还得再看没怎么会

    查看全部
  • for 循环主要弄能是循环

    while循环主要功能是判断循环,判断是否继续

    查看全部
    1. Python的整数运算结果仍然是整数,浮点数运算结果仍然是浮点数

         1.0 + 2.0    # ==> 浮点数 3.0

    整数和浮点数混合运算的结果就变成浮点数

    查看全部
  • 1.打印含有多种引号(单引号,双引号) 用r'''...''';头尾不能有空格
    2.设置编码:
        # -*- coding: utf-8 -*-
    3.打印中文格式:{
        单行:print u'中文';    
        多行:print ur'''第一行
                第二行''';
    }//有时候去掉u可以编译通过,原理不明
    4.
       整数/整数->整数
       整数/浮点数->浮点数
    5.
       False:0、空字符串''和None
       True:其他数值和非空字符串
    6. List列表的创建:
         L=["字符",数字,Ture]
        例如:L = ['Adam', 'Lisa', 'Bart']
        一:访问L列表的元素方法:    
            顺序:L[0]  //下标从0开始,注意不要越界L[3] 不存在
            倒序:L[-1] //下标从-1开始,注意不要越界L[-4] 不存在
        二:添加新元素
            尾部添加:append
                L.append('Paul');//L=['Adam','Lisa','Bart','Paul']
            元素插入:insert
                L.insert(1,'Paul); //L=['Adam','Paul','Lisa','Bart']
        三:删除元素
            指定删除:pop([num]) 
                num不写则默认删除L列表的最后一个元素
                num写的话,删除L列表第num-1个元素,
                注意列表下标从0开始,而且删除一个,下标自动加减
                例如:
                L.pop(2) // L=['Adam','Paul','Bart']
                L.pop(2) // L=['Adam','Paul']
        四:list切片
            取list的部分元素: L = ['Adam', 'Lisa', 'Bart', 'Paul']
                1.取前3个元素:[ L[0], L[1], L[2] ]     //['Adam', 'Lisa', 'Bart']
                2.取N个元素:
                      r = []
                      n = 3
                      for i in range(n):
                          r.append(L[i]);    //r=['Adam', 'Lisa', 'Bart']
                3.取前3个元素:L[0:3]/L[:3]
                    L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素。如果第一个索引是0,还可以省略
                    只用一个“ : ”,表示从头到尾    //['Adam', 'Lisa', 'Bart', 'Paul']
                4.指定第三个元素 L[::N]
                    L[::2]    //['Adam', 'Bart']
                    第三个参数表示步长,每N个取一个,上面的 L[::2] 会每两个元素取出一个来。
                    倒叙切片法:
                      题:利用倒序切片对 1 - 100 的数列取出:最后10个5的倍数。
                      1.print L[-46::5]
                        L[-46::5]表示从数列L的 -46的位置开始取,每五个取一个,一直取到最后。
                      2.print L[4::5][-10:]
                        L[4::5][-10:] 表示从L的第四个元素(也就是5)开始,每五个元素取一个,一直取到最后,也就是,5,10,15,......,95,100。然后再从现在这个数列的-10的位置取到-1.
    
    7.tuple的创建(不可删除,插入,只可查询)
            一:创建元组
              创建tuple和创建list唯一不同之处是用( )替代了[ ]。 
              并且用()定义单元素的tuple有歧义,所以 Python 规定,单元素 tuple 要多加一个逗号“,”
               t=(1)和t=(1,)不同,前者是数字,后者是元组
               print(t) //前者:1   后者:(1,)
            二:访问元组
             可顺序和倒序访问t元组
    8.if/if-elif-else语句
        if age >= 18:
            print 'your age is', age;
            print 'adult';
           
        if age >= 18:
            print 'adult';
        else:
            print 'teenager';
        
        if score>=90:
            print 'excellent';
        elif score>=80:
           print 'good';
         elif score>=60:
           print 'passed';
        else:
            print 'failed';
                  
        注意: {
           if 语句后接表达式,然后用“ : ”表示代码块开始,else 后面有个“ : ”,elif 意思就是 else if。
           Python代码的缩进规则:具有相同缩进的代码被视为代码块
           如果你在Python交互环境(命令行窗口)下敲代码,还要特别留意缩进,并且退出缩进需要多敲一行回车:
           缩进请严格按照Python的习惯写法:4个空格,不要使用Tab,更不要混合Tab和空格,否则很容易造成因为缩进引起的语法错误。
        }
    9.for循环
         L = ['Adam', 'Lisa', 'Bart']
         for name in L:
             print name;
            
         注意: name这个变量是在for循环中定义的,意思是,依次取出list中的每一个元素,并把元素赋值给 name,然后执行for循环体(就是缩进的代码块)
        例如: 
         L = [75, 92, 59, 68]
         sum = 0.0
         for num in L:
             sum=sum+num;
         print sum / 4;
    10.while循环
         N = 10;
         x = 0;
         while x < N:
             print x;
             x = x + 1;
                
         注意:while循环每次先判断 x < N,如果为True,则执行循环体的代码块,否则,退出循环。while后面的“ : ”
    11.break,continue
        break:终止当前循环(若有两层循环,break放在内层,一旦break生效,内层循环结束,外层循环继续下一次循环)
        continue:退出当前循环,继续执行下一循环
    查看全部

  • https://img1.sycdn.imooc.com//5affd1480001bd4303780254.jpg短路计算:布尔运算时,能提前确定结果,就不会往后算,直接返回结果。

    布尔运算结果未必是布尔类型

    查看全部
  • Unicode通常用两个字节表示一个字符,原有的英文编码从单字节变成双字节,只需要把高字节全部填为0就可以。

    Python在后来添加了对Unicode的支持,以Unicode表示的字符串用u'...'表示,比如:

    print u'中文'
    中文

    注意: 不加 u ,中文就不能正常显示。

    Unicode字符串除了多了一个 u 之外,与普通字符串没啥区别,转义字符和多行表示法仍然有效:

    转义:

    u'中文\n日文\n韩文'

    多行:

    u'''第一行
    第二行'''

    raw+多行:

    ur'''Python的Unicode字符串支持"中文",
    "日文",
    "韩文"等多种语言'''

    如果中文字符串在Python环境下遇到 UnicodeDecodeError,这是因为.py文件保存的格式有问题。可以在第一行添加注释

    # -*- coding: utf-8 -*-

    目的是告诉Python解释器,用UTF-8编码读取源代码。然后用Notepad++ 另存为... 并选择UTF-8格式保存。

    查看全部
  • 第一个办法是用 list 的 append() 方法,把新同学追加到 list 的末尾:

    >>> L = ['Adam', 'Lisa', 'Bart']
    >>> L.append('Paul')
    >>> print L
    ['Adam', 'Lisa', 'Bart', 'Paul']

    append()总是把新的元素添加到 list 的尾部。

    list的 insert()方法,它接受两个参数,第一个参数是索引号,第二个参数是待添加的新元素:

    >>> L = ['Adam', 'Lisa', 'Bart']
    >>> L.insert(0, 'Paul')
    >>> print L
    ['Paul', 'Adam', 'Lisa', 'Bart']


    查看全部

举报

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

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