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 类似于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教程
下一篇:python实现地址分布可视化