输出
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(列表):
-
使用
[]
语法表示,比如names = ["Tony", "Sam", "James"]
可以随时写入和删除
-
写入末尾使用append,
names.append("Yi_Zhi_Yu") print names //['Tony', 'Sam', 'James', 'Yi_Zhi_Yu']
-
插入指定位置,注意这个插入,比如要插入一个"Gordon"在"Tony"和"Sam"之间,"Gordon"的索引值就是
1
, 原先的"Tony"后面的所有元素的索引各+1
names.insert(1,"Gordon") print names //['Tony', 'Gordon', 'Sam', 'James', 'Yi_Zhi_Yu']
-
更新元素,使用类似于PHP的语法,直接对指定的索引位置的元素赋值
names[1] = "Wang" print names//['Tony', 'Wang', 'Sam', 'James', 'Yi_Zhi_Yu']
-
删除元素,使用pop语法,pop函数输出的是删除的元素值
names.pop() //删除末尾 print names //['Tony', 'Wang', 'Sam', 'James'] names.pop(1)//删除指定位置(1位置"Wang") print names //['Tony', 'Sam', 'James']
tuple(元组):
- 使用
()
语法表示 - 一但初始化,不可改变
-
单个元素的写法要加一个
,
,与算数运算中的括号区分开,如name=("Yi_Zhi_Yu",)//('Yi_Zhi_Yu',)
python在显示单个元素的tuple时,也会带"
,
", 如果不带的话,输出的就只是一个字符串了name = ("Yi_Zhi_Yu") //Yi_Zhi_Yu
学习参考:
廖雪峰python教程
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。