python源代码解读

所有Python源代码文件都使用扩展名 .py。当运行.py文件时,Python会自动创建相应的.pyc文件。.pyc文件包含目标代码。

看下面一个简单程序:

#name.py
name=input(‘what is your first name?‘)
print(‘hello ‘+name.capitalize()+‘!‘)

第一行是源代码注释,python注释总是以符号#打头,并延续到行尾。

第二行调用函数input,这是用于从键盘读取字符串的标准内置函数。这行代码执行时,将在输出窗口中显示 what is your first name?和闪烁的光标。程序等待用户输入一个字符串并按回车。函数input返回用户输入的字符串,让变量name最终指向用户输入的字符串。

第三行显示一句问候语。

Python为string对象提供了转换大小写的方法:upper() 和 lower().

还不止这些,Python还为我们提供了首字母大写,其余小写的capitalize()方法,

以及所有单词首字母大写,其余小写的title()方法.

what is your first name?wei bo liu
hello Wei bo liu! #capitalize()
hello WEI BO LIU! #upper()
hello wei bo liu! #lower()
hello Wei Bo Liu! #title()

函数strip()将字符串开头和结尾的空白字符删除,如下所示:

>>> ‘  oven  ‘.strip()
‘oven‘

从键盘读取数字

函数input只是返回字符串,因此如果你需要的数字,就必须使用Python的数值转换函数之一。

#age.py
age=input(‘How old are you today?‘)
age10=int(age)+10
print(‘In 10 years you will be ‘+str(age10)+‘ years old.‘)

假设用户输入24,变量age指向字符串‘24’,因为Python不会自动将看起来像数字的字符串转换为整数或浮点数,也不会自动将整数或浮点数转换为字符串。如果要将字符串用于算术运算,必须先将其转换为数字。

在print语句中,必须将变量age10转换为字符串,否则Python将显示错误消息,指出不能将数字和字符串相加。

在屏幕上打印字符串

print语句是用于将字符串打印到屏幕的标准内置函数。

可以将任意数量字符串传递给print:

>>> print(‘jack‘,‘ate‘,‘no‘,‘fat‘)
jack ate no fat

默认情况下,print在标准输出窗口中打印每个字符串,并用空格分隔它们。修改字符串分隔符很容易,可以像下面这样做:

>>> print(‘jack‘,‘ate‘,‘no‘,‘fat‘,sep=‘.‘)
jack.ate.no.fat

默认情况下,print打印完指定内容后自动添加一个换行符:\n。要在同一行打印所有文本,可将第一行的结束字符指定为空字符串:

print(‘jack ate ‘, end=‘‘)
print(‘no fat‘)
>>>
jack ate no fat

2015-06-22 23:37:54

时间: 2024-11-08 10:32:32

python源代码解读的相关文章

Python源代码目录组织结构

Demo:Demo用的代码,主要用来展示Python的一些应用Doc:Python的UserManual.Latex格式的Grammar:语法文件.这个语法文件会在Python运行的时候被用来分析Python源代码include:Python Include用的头文件Lib:Python的库文件Mac:For MacMisc:如字面意思,一些不适合放在其他地方的文件就放在这里了Modules:Python的一些Built-in Module的实现Objects:Python的基本内部对象的实现,

分享:json2.js源代码解读笔记

1. 怎样理解"json" 首先应该意识到,json是一种数据转换格式,既然是个"格式",就是个抽象的东西.它不是js对象,也不是字符串,它仅仅是一种格式,一种规定而已. 这个格式规定了如何将js对象转换成字符串.以及转换成如何的字符串--序列化 -- JSON.stringify 接口: 以及怎样将一个有效字符串转换成js对象--反序列化-- JSON.parse 接口: 2. 关于作者 json作者是 道格拉斯.克劳福德 ,是一位js大牛,写过一本<jav

Apache OFbiz entity engine源代码解读

简单介绍 近期一直在看Apache OFbiz entity engine的源代码.为了能够更透彻得理解,也由于之前没有看人别人写过分析它的文章,所以决定自己来写一篇. 首先,我提出一个问题,假设你有兴趣能够想一下它的答案: JDBC真的给数据訪问提供了足够的抽象,以至于你能够在多个支持jdbc訪问的数据库之间随意切换而全然不须要操心你的数据訪问代码吗? 我以前在微博上有过关于该问题的思考: 事实上这个感慨正是来自于我之前在看的一篇关于jdbc的文章,里面提到了jdbc中的一些设计模式(工厂方法

linux内核奇遇记之md源代码解读之十五bitmap原理

转载请注明出处:http://blog.csdn.net/liumangxiong 为人不识陈近南,走遍江湖也枉然.做raid不识bitmap,通通都是走过场. 那么bitmap究竟是何许人物,能够在raid5的场子里混得风生水起呢?话说最早raid5是没有bitmap这位门客的,突然有一天跑raid5的系统异常掉电了,客户发现异常掉电之后再写数据就出现了数据不一致的情况.查来查去发现raid5本身设计就有一个缺陷:raid5每次写至少要写两个磁盘,写过程中异常掉电的时候就会发现一个磁盘写完成而

linux内核奇遇记之md源代码解读之十四raid5非条块内读

转载请注明出处:http://blog.csdn.net/liumangxiong 如果是非条块内读,那么就至少涉及到两个条块的读,这就需要分别从这两个条块内读出数据,然后再凑成整个结果返回给上层.接下来我们将看到如何将一个完整的bio读请求拆分成多个子请求下发到磁盘,从磁盘返回之后再重新组合成请求结果返回给上层的. 4097 logical_sector = bi->bi_sector & ~((sector_t)STRIPE_SECTORS-1); 4098 last_sector =

《python源代码剖析》笔记 python中的Dict对象

本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 1.PyDictObject对象 -->  C++ STL中的map是基于RB-tree的,搜索时间复杂度是O(logN) PyDictObject採用了hash表,时间复杂度是O(1) typedef struct{ Py_ssize_t me_hash; //me_key的hash值,避免每次查询都要又一次计算一遍hash值 PyObject *me_key; PyObject *me

python源代码下载地址

Python 源代码下载地址 http://ftp.python.org/ftp/python/ http://www.python.org/ftp/python/

PEP 263 -- Defining Python Source Code Encodings(定义Python源代码编码)

官方文档:https://www.python.org/dev/peps/pep-0263/ 概要 这个PEP建议引入一个语法来声明Python源文件的编码. Python解析器将使用这个编码信息中给定的编码来解释文件. 最引人注意的是,这增强了源代码中Unicode字符的解释. 问题描述 在Python 2.1中,Unicode字符只能使用基于Latin-1的"unicode-escape"编码编写. 这对生活和工作在非Latin-1语言环境(如许多亚洲国家)的Python用户来说是

源代码解读Spring只读事务与读写事务的性能的差别

前言:  如果大家使用过Spring事务管理,会发现Spring提供的事务分为"只读"和"读写"事务两类.这不免就会疑问这两种事务会有什么不同?本文则通过对Spring和Hibernate源代码的剖析来找出这两种事务的区别.特别是运行性能方面的区别.  解读的源代码版本为 Spring 2.5.6.SEC01 ,Hibernate 3.3.2.GA. Spring对事务的支持也分编程式和声明式,本文以基于Annotation方式的声明式事务为例:    Spring