您的位置:首页 > 编程语言 > Python开发

python写一个下载的脚本

2012-06-22 00:51 239 查看
raw_input()是有区别的。raw_input是把输入作为字符串返回,而input是在raw_input的基础上返回数字,使用eval内置函数将输入处理成数字。

1、 Python中文编码问题
Python中文编码问题!
今天闲来无事,试着使用Python语言开发一个商品信
息管理系统,刚声明了一个变量,就报了一堆错误,
真是郁闷啊!代码如下:

_proName='联想笔记本' print _proName
运行代码出错,错误为:SyntaxError: Non-ASCII
character '\xc1' in file 11.py on line 1, but
no encoding declared; see http://www.python.org/peps/pep-0263.html for
details 【解决办法】字符串在Python内部的表示是
Unicode编码。在做编码转换时,通常需要以Unicode
作为中间编码,即先将其他编码的字符串解码
(decode)成Unicode,再从Unicode编码(encode)成另
一种编码。
decode()函数的作用就是将其他编码的字符串转换成
Unicode编码,例如str1.decode ('gb2312'),表示将
gb2312编码的字符串str1转换成Unicode编码。
encode()函数的作用是将Unicode编码转换成其他编码
的字符串,例如str2.encode('gb2312'),表示将
Unicode编码的字符串str2转换成gb2312编码。转换时
,一定要先搞明白字符串是什么编码,然后使用
decode()函数将字符串编码改为Unicode编码,然后再
使用encode()函数将编码改为其他编码格式。如果是
在UTF8的文件中,该字符串就是UTF8编码;如果在
gb2312编码的文件中,则其编码为gb2312。

2、Python中单引号、双引号和三引号的区别:
先说1双引号与3个双引号的区别,双引号所表示的字
符串通常要写成一行
如:
s1 = "hello,world"
如果要写成多行,那么就要使用\ (“连行符”)吧,

s2 = "hello,\
world"
s2与s1是一样的。如果你用3个双引号的话,就可以直
接写了,如下:
s3 = """hello,
world,
hahaha.""",那么s3实际上就
是"hello,\nworld,\nhahaha.", 注意“\n”,所以,
如果你的字符串里\n很多,你又不想在字符串中用\n
的话,那么就可以使用3个双
引号。而且使用3个双引号还可以在字符串中增加注释
,如下:
s3 = """hello, #hoho, this is hello, 在3个双引
号的字符串内可以有注释哦
world, #hoho, this is world
hahaha."""
这就是3个双引号和1个双引号表示字符串的区别了,3
个双引号与1个单引号的区别也
是和这个一样的,实际上python支持单引号是有原因
的,下面我来比较1个单引号和
1个双引号的区别。
当我用单引号来表示一个字符串时,如果要表示
Let's go 这个字符串,必须这样:
s4 = 'Let\'s go',注意没有,字符串中有一个',而
字符串又是用'来表示,所以
这个时候就要使用转义符 \ (\,转义符应该知道吧
), 如果你的字符串中有一大堆
的转义符,看起来肯定不舒服,python也很好的解决
了这个问题,如下:
s5 = "Let's go"
这时,我们看,python知道你是用 " 来表示字符串,
所以python就把字符串中的那
个单引号 ' , 当成普通的字符处理了,是不是很简单

对于双引号,也是一样的,下面举个例子
s6 = 'I realy like "python"!'
这就是单引号和双引号都可以表示字符串的原因了

字符串是程序中最常见的数据类型。在Python中,可以使用三种方式定义字符串。单引号、双引号和三引号。
例如:'string'、"string"、"""string"""或者是'''string'''。
在使用上,单引号和双引号没有什么区别。三引号的主要功能是在字符串中可以包含换行。也就是说,在三引号中的字符串,如果其中的内容在程序中是分行的,那么,在使用中也是分行的。这样就不需要显示的使用"\n"来换行了。

像多数编程语言一样,python中的字符串是不可变的。同样,对于转移字符的处理,也和其他语言类似。如“ 'What's your name?' ”,在这个字符串内部,出现了“ ' ”字符,对于这个字符,可以使用'\'字符转移: 'What\'s your name?',或者使用双引号代替字符串定义: "What's your name?"。经常使用的方式是用'\'来转移字符。可以使用'\n'来定义表示一个换行,'\t'表示一个tab,'\\'表示一个真实的'\'字符。

对于字符串,有一个非常有用的format方法。这个方法的主要用途是代替丑陋的"+"字符串连接。例如"my name is {0}".format("联合国"),那么,这个字符串的真实值就是"my name is 联合国"。这样,就可以在运行时替换这个字符串的内容。同时,也可以使用命名参数的形式来替换,例如:"my name is {name}".format(name="联合国")。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: