python基础学习笔记(二)
为了让别人能够更容易理解程序,使用注释是非常有效的,即使是自己回头再看旧代码也是一样。
#获得用户名: user_name = raw_input("what is your name?")
在python 中用井号(#)表示注释。井号(#)右边的内存将不被程序执行。即使没有注释,也应该让代码本身易于理解。幸好!Python是一门出色的语言,它能帮助程序员编写易于理解的程序。^_^
字符串
第一个输出,明明是双引号( “” ) ,怎么输入变成了单引号( ‘’ )。这有什么区别呢?事实上,没有区别。
再看第二个,单引导(‘’)里面包含了一对双引号(“”),这次完整输出了。难道只有双引号输出会变成单引号么?
再看第三个,双引号(“”)号里面包含了一对单引号(‘’),这次为什么没把最外面的双引号变成单引号输出? 这编译器比较情绪化,呵呵!
"Lets go"
第一个输出,双引号包含一个单引号(实际上应该叫撇(‘) ,因为它不是成对出现的。)可以正常输出。
第二个输出,一对单引号里面包含了一个单引号(这应该是输入者的本意)。编译器不知道怎么识别了。
第三个输出,为了达到这个目的,我们需要把中间的单引号用斜杠(\)进行转义。这次又不一样了,单引号输出之后变成了双引号。编译器,你真调皮。
拼接字符串
前面的例子读者可能注意到,所有通过python打印的字符串还是被引号括起来的。这是因为python打印值的时候会保持该值在python代码中的状态,而不是你希望 用户所看到的状态。如果用print语句,结果就不一样了:
"hello,world!" hello,world! 10000L 10000L print "hello,world!" hello,world! print 10000L
可以看到,长整型数10000L被转换成了数字10000 ,而且在显示给用户的时候也如此。
我们在这里讨论的实际上是值被转为字符的两种机制。可以通过以下两个函数来使用这两种机制:
print str("hello,world!") hello,world! print str(10000L) print repr("hello,world!") hello,world! print repr(10000L) 10000L
str()函数 ,它会把值转换为合理形式的字符串,以例用户可以理解;
repr()函数,它会创建一个字符串,它以合法的python表达式的形式来表示值。
input 和 raw_input 的比较
上一章的最后一个例子用到了raw_input 函数,那它与 input 有什么不用? 下面我们用input函数,再试试那个例子。
name = input("what is your name?") what is your name?huhu Traceback (most recent call last): File " pyshell#0 ", line 1, in module name = input("what is your name?") File " string ", line 1, in module NameError: name huhu is not defined name = input("what is name?") what is name?"huhu" print "hello, " + name + " !" hello, huhu !
input()函数会假设用户输入的是合法的python表达式。所以直接输入huhu 系统会提示错误,但是如果加上引号(“huhu”)就会是一个合法的字符,程序运行是没有问题的。
然而,要求用户带着引号输入他们的名字有点过份,因此,就这需要使用raw_input函数。
input("enter a namber:") enter a namber:3 raw_input("enter a namber:") enter a namber:3 3
当然input有特别的需要,比如要求用户输入数字时。
长字符串
如果需要写一个非常非常长的字符串,它需要跨多行,那么,可以使用三个引号带点普通引号。
print this is a very long string. It continues here. and its not over yet. this is a very long string. It continues here. and its not over yet.
普通字符串也可以跨行。如果一行之中最后一个字符是反斜线,那么,换行符本身就“转义”了,也就是被忽略了。
print " Hello.\ world!" Hello.world! 1+2+\ 4+5
print C:\\Program Files\\fnord\\foo\\bar\\baz\\frozz C:\Program Files\fnord\foo\bar\baz\frozz
通过上面的双斜线(\\)解决了路径问题,但如果路径很长的话会不会太麻烦了。
print rC:\Program Files\fnord\foo\bar\baz\frozz C:\Program Files\fnord\foo\bar\baz\frozz print rLet\s go ! Let\s go !
原始字符串不会把反斜线当作特殊字符。可以看到,原始字符串以r开头。
Unicode字符串
字符串常量的最后一种类型就是Unicode 字符串(或者称为Unicode 对象---与字符串并不是同一个类型)。Python中的普通字符串在内部是以8位ASCII码形成存储的,而Unicode字符串则存储为16位Unicode字符,这样就能够表示更多的字符集了,包括世界上大多数语言的特殊字符。
如果你不短简什么是Unicode ,可以访问Unicode网站:http://www.unicode.org
uhello, world! uhello, world!
可以看到,Unicode字符串使用u前缀,就像原始字符串使用r 一样。
注意:在python 3.0中,所有字符串都是Unicode字符串。
Python学习笔记之环境搭建 Python**是一种编程语言,可以让您更快地工作并更有效地集成系统。 您可以学习使用Python,并立即看到生产力的提高和维护成本的降低。 Python是荷兰程序员**吉多·范罗苏姆**(Guido van Rossum)参照**ABC语言**来写成的, 而且还是在1989年圣诞节为了打发时间写成的。 1991年公开了第一个发行版。 2000年10月16日发布了Python2.0,一直到2020年1月1日,停止了Python 2的更新,并永远停止在了Python 2.7。 2008年12月3日Python3.0终于面世了,为了舍弃老旧、臃肿的代码,新版本不兼容2.x,所以还没上车的人建议直
相关文章
- Python基础笔记-元祖
- python基础笔记-列表
- python基础笔记-字符串
- python 基础笔记-函数
- python基础学习笔记(一)
- python基础学习笔记(九)
- 最基础的Python的socket编程入门教程
- Python编程语言学习:python语言中快速查询python自带模块&函数的用法及其属性方法、如何查询某个函数&关键词的用法、输出一个类或者实例化对象的所有属性和方法名之详细攻略
- Python:python代码编程带你玩转双色球(了解双色球的概率逻辑)
- python --> Python初阶 --> 基础语法 --> 条件和分支
- 已解决2. Set PROTOCOL_BUPFERS_PYTHON_iMPLEMENTATION=python (but this will use pure-Python parsing and w
- Python 实现个人博客系统(附零基础python学习资料)
- 【零基础python实战】给图片批量打水印,想要什么效果,改改参数就好了~
- Python爬虫基础:验证码概述及打码平台
- python零基础爬虫 分享高清优秀插画(这是个正经得网站)
- python基础===requests学习笔记
- python基础===利用PyCharm进行Python远程调试(转)
- python selenium
- Python 基础数据结构
- 【异常】前端ERR! stack Error: Can‘t find Python executable “python“, you can set the PYTHON env variable.
- 经验分享:如何零基础开始自学Python编程(上)