Python 学习笔记1

输出

python 的输出使用print 语法

print "hello world"  //hello world
//或者
print "hello", "world" //hello world
//或者
print "hello" "world" //helloworld

请注意上面的第二和第三个,一个使用,连接字符串,一个使用空格连接字符串,输出的结果中,逗号连接的中间有个空格,而空格连接的,中间没有任何东西

输入

python的输入使用raw_input函数

hello = raw_input("Input your word:")
//括号中的参数表示输入的提示字符串,输入的结果保存在`hello`变量中

空值

python中的空值用None表示,类似于PHP中的Null

字符串编码

python 中的字符串编码问题,首先要搞明白asicii编码, unicode编码和utf-8编码之间的关系,这里总结如下:

asicii编码长度8位(一个字节),包含了所有的英文字母和一些常见的字符,
能够表示256种编码方式,比如字母a对应的asicii编码就是122(01111010),
因为英文总共也就只有那么些个字母和字符,所以一般情况下,asicii码表中的编码足够英文编码使用,但是其他的语言,比如中文,常见的中文字符就起码好几万个,
一个字节明显不够, 这就催生了针对中文的编码表,使用两个字节甚至是三个字节表示一个中文字符,
比如GB2312编码(2个字节表示一个字符), 但假如一个使用GB2312编码的文件,
被一个其他编码比如使用asicii编码的编辑器打开,
你看到的却都是乱码,这是因为asicii编码使用一个字节一个字节读取二进制文件(文件最终还是以二进制形式保存在磁盘中的)的关系,
每次读取的都是原来2个字节长度中的一半的长度,一个中文字符的一半,我们当然看不懂了。 unicode编码应运而生,
unicode编码实际上是一个大的编码表,
他使用最少两个字节表示一个字符的编码方式,每种语言占用了码表的某个段,在对应的段内编码自己的语言,比如

`a` 对应的unicode编码就是`00000000 01111010`。

这样,世界上的很多语言就能统一使用unicode编码进行写入和读取了 utf-8编码则是将unicode编码节约,
比如把英文字母定义为1个字节,中文字符定义为3个字节,这样英文字母中的前面的那么多没用的0位就能砍去了

python 早期不支持unicode编码, 但现在已经支持,使用u”…”语法, 可以输出中文内容了

print u"中" //中
print u'\u4e2d' //中
u"中"       //u'\u4e2d'

最下面的输出打印出的是的十六进制unicode编码, 在print的时候,u"中"u'\u4e2d'的输出结果都是一样的
另外,如果要计算中文字符串的字符长度的话,也要带u,否则输出的长度就是字节长度,而不是字符串长度了

print len(u"中") //1
print len("中")  //3

如果在编码文件中要输入或输出中文或者其他的非asicii编码的字符时,要在文件的第二行(第一行一般是#!/usr/bin/env python)加上# -*- coding: utf-8 -*-

list(列表) 和 tuple(元组)

list 和 tuple 类似于PHP中的索引数组,list和tuple的结构相似,但list可以随时进行写入和删除,而tuple一但初始化就不可以改动
list(列表):

  1. 使用[]语法表示,比如

    names = ["Tony", "Sam", "James"]
    
  2. 可以随时写入和删除

  3. 写入末尾使用append,

      names.append("Yi_Zhi_Yu")
      print names //['Tony', 'Sam', 'James', 'Yi_Zhi_Yu']
    
  4. 插入指定位置,注意这个插入,比如要插入一个”Gordon”在”Tony”和”Sam”之间,”Gordon”的索引值就是1, 原先的”Tony”后面的所有元素的索引各+1

    names.insert(1,"Gordon")
    print names //['Tony', 'Gordon', 'Sam', 'James', 'Yi_Zhi_Yu']
    
  5. 更新元素,使用类似于PHP的语法,直接对指定的索引位置的元素赋值

    names[1] = "Wang"
    print names//['Tony', 'Wang', 'Sam', 'James', 'Yi_Zhi_Yu']
    
  6. 删除元素,使用pop语法,pop函数输出的是删除的元素值

      names.pop() //删除末尾
      print names //['Tony', 'Wang', 'Sam', 'James']
      names.pop(1)//删除指定位置(1位置"Wang")
      print names //['Tony', 'Sam', 'James']
    

tuple(元组):

  1. 使用()语法表示
  2. 一但初始化,不可改变
  3. 单个元素的写法要加一个,,与算数运算中的括号区分开,如

    name=("Yi_Zhi_Yu",)//('Yi_Zhi_Yu',)
    

    python在显示单个元素的tuple时,也会带”,“, 如果不带的话,输出的就只是一个字符串了

    name = ("Yi_Zhi_Yu") //Yi_Zhi_Yu
    

学习参考:
廖雪峰python教程

    原文作者:Yi_Zhi_Yu
    原文地址: https://segmentfault.com/a/1190000002812280
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞