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

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
  • Python中Unicode字符串

    字符串还有一个编码问题。

    因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),0 - 255被用来表示大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母 的编码是65,小写字母 的编码是122

    如果要表示中文,显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,用来把中文编进去。

    类似的,日文和韩文等其他语言也有这个问题。为了统一所有文字的编码,Unicode应运而生。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。

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

    因为Python的诞生比Unicode标准发布的时间还要早,所以最早的Python只支持ASCII编码,普通的字符串'ABC'在Python内部都是ASCII编码的。

    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格式保存。


    查看全部
  • 方法和上一节的迭代value一样,函数变成了iteritems(),print需要同时打印key 和value。

    查看全部
  • 由于函数的参数按从左到右的顺序匹配,所以默认参数只能定义在必需参数的后面:

    # OK:def fn1(a, b=1, c=2):
        pass# Error:def fn2(a=1, b):
        pass


    查看全部
  • 在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值,所以,Python的函数返回多值其实就是返回一个tuple,但写起来更方便。

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

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

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


    查看全部
  • 字符串 'xxx'和 Unicode字符串 u'xxx'也可以看成是一种list,每个元素就是一个字符。因此,字符串也可以用切片操作,只是操作结果仍是字符串

    查看全部
    0 采集 收起 来源:对字符串切片

    2018-04-01

  • None (空值)的ASCII代码为0

    空串也只含有一个空字符(None)    NULL?

    所以与C中一样 :0位假 非0为真

    区别在于Ptyhon布尔值为True ,False,且Python中返回的是参与布尔运算的对象而不是True和False,当然如运算对象就是True或False,如:若左边例题中返回的是a,即True

    C中的逻辑值为1、0,且C中返回的就是1和0

    查看全部
  • 本章和C的语法规则一模一样

    查看全部
  • # -*- coding:utf-8-*-

    上面的注释要求解释器读程序中的字符串以utf-8进行编码

    如果在下面加个u,会导致编码冲突

    Ps:

    虽然#这个符号在python中表示注释,其实如果用pydev或者别的什么IDE来编写程序的时候,如果开头不声明保存编码格式,会默认使用ASCII码保存,那么代码中有中文就会有问题,即使你的中文是在注释里面。

    是不是以特定方式写的注释 程序不会忽略呢?

    查看全部
  • 从一个list 或者tuple中取出指定元素,可以使用切片操作。

    示例 L[0:3],表示从索引0位置取到索引3为止,但不包括索引3,其中0可以省略表示L[:3]

    还可以指定第三个参数,L[::2]是指每2个元素取出1个,即每隔一个取一个数,而L[:]只有一个; 表示从头取到尾。

    查看全部
    0 采集 收起 来源:对list进行切片

    2018-04-01

  • pop()方法总是删掉list的最后一个元素,并且它还返回这个元素,所以我们执行 L.pop() 后,会打印出 'Paul'。

    Paul的索引为2,就用pop(2)把Paul删掉

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

    insert(0,'Paul')--将‘Paul’添加到索引为0的位置

    查看全部
  • 正数时的顺序是从编号为0开始的;

    倒数时的顺序是从编号为-1开始的。

    查看全部
  • Python的默认编码是ASCII格式

    查看全部
  • 如果用了# -*- coding: utf-8 -*-,表示已经可以使用中文编译了,就不用再加u

    查看全部

举报

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

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