此文为《Python核心编程》的读书笔记记录。


Python是一门解释性语言,所有的语句用解释器(interpreter)来直接解释,但它同时是High Level的语言,这样的组成能够在编写代码时得到直接与机器交互的体验。非常棒

 >>> print "Hello World!"

在解释器上直接输入,屏幕上直接就会显示Hello World!. >>>符号是提示符,是解释器提示输入等待标志。输入两种东西是可以得到回应的,一个是语句一个是表达式。语句是用关键词组成命令,比如说Print "Hello World!"。而表达式是没有关键字的,比如说一个函数或者一个数学式子。

Python的print语句和C语言一样可以和字符串操作符(%)一起使用,实现字符串替代功能。如:

 >>> print "%s is number %d!" % ("Programming",1)
Progamming is number 1!

这里的%是一个字符替换,后面的字母代表替换格式。常用的是%s %d %f。C语言的printf()语句表达上述写法是
printf("%s is number %d","Programming",1);
有略微的语法差别。

>>> num = int(raw_input("Please input an integer: "))

raw_input是一个文本输入函数,用于从标准输入读取一个字符串然后删除串尾的换行符。输入的内容会存储成字符串类型,然后使用int()将内容转换成整型

注释

>>> # one comment
... print 'Hello World!' # another comment

Python使用#作为单行注释符。#后的内容作为注释
另外Python有文档字符串的特别注释,在模块、类或者函数起始添加一个字符串,该字符串是在线文档的作用,如:

>>> def foo():
"This is a doc string"
retrun True

"This is a doc string"这一句等同注释。不过与普通注释不同,文档字符串可以在运行时,可以用来自动生成文档(?)

+ - * / // % **
加 减 乘 除 取余 幂
其中//是浮点除法(对结果进行四舍五入)

关于变量,Python作为动态类型语言,不用预先申明变量类型,变量的类型和值在赋值那一刻被初始化。赋值号是 =
Python里不支持C中的自增和自减。对n的自增1和自减1写成

n += 1
n -= 1

关于类型,Python有五种基本数字类型,有符号整型,长整型,布尔型,浮点型和复数型
Python的长整型和C的长整型不同,长整型的大小取决于用户虚拟内存总数,类似于Java的BigInteger。复数类型适合进行科学运算

字符串,支持使用成对的单引号或双引号,三引号用以包含特殊字符。索引操作符[]和切片操作符[:]可以得到子字符串。字符串索引中,第一个索引是0,最后一个是-1.
+可以用于字符串的连接,*可以用于字符串的重复

列表和元组,这是Python有的数据组织结构,可以看成普通的“数组”。保存任意数量和任意类型的Python对象。也是从0开始索引元素。但是列表和元组都可以存储不同类型的对象。
列表元素用中括号[]包裹,元素的个数和值都可以改变。元组元素用小括号()包裹,不可以更改(但他们的内容可以更改)。元组可以看成只读的列表,通过切片运算([]和[:])可以得到子集。
列表:

>>> aList = [1, 2, 3, 4]
>>> aList
[1, 2, 3, 4]
>>> aList[0]
1
>>> aList[2:]
[3, 4]
>>> aList[:3]
[1, 2, 3]
>>> aList[1] = 5
>>> aList
[1, 5, 3, 4]

元组:

>>> aTuple = ('robots', 77, 93, 'try')
>>> aTuple
('robots', 77, 93, 'try')
>>> aTuple[:3]
('robots', 77, 93)
>>> aTuple[1] = 5
Traceback (innermost last):
File "<stdin>", line 1, in ?
TypeError: object doesn't support item assignment

字典,是由键——值(key-value)构成。几乎所有的Python对象都可以作键,以数字和字符串最常用。
值可以是任意类型的Python对下那个,字典用大括号({})包裹。如下:

>>> aDict = {'host': 'earth'} # create dict
>>> aDict['port'] = 80 # add to dict
>>> aDict
{'host': 'earth', 'port': 80}
>>> aDict.keys()
['host', 'port']
>>> aDict['host']
'earth'
>>> for key in aDict:
... print key, aDict[key]
...
host earth
port 80

代码块通过缩进表达逻辑。不使用括号。可读性上的确更简洁。但是可能更多要求对代码层次的掌握。个人暂时仍不适应这种方式。但习惯它的方法。

2015/8/10 Python基本使用(1)的更多相关文章

  1. 2015/9/10 Python基础(11):错误和异常

    程序在执行的过程中会产生异常,出现错误在以前的一个时期是致命的,后来随着程序的发展,使得一些错误的处理方式是柔和的,发生错误会产生一些错误的诊断信息和一些模糊的提示.帮助我们来处理异常.今天将学习Py ...

  2. 2015年10个最佳Web开发JavaScript库

    2015年10个最佳Web开发JavaScript库 现在的互联网可谓是无所不有,有大量的JavaScript项目开发工具充斥于网络中.我们可以参考网上的指导来获取构建代码项目的各种必要信息.如果你是 ...

  3. http://browniefed.com/blog/2015/09/10/the-shapes-of-react-native/

    http://browniefed.com/blog/2015/09/10/the-shapes-of-react-native/

  4. 2015/9/9 Python基础(10):文件和输入输出

    文件对象文件对象不仅可以用来访问普通的磁盘文件,而且也可以访问其它任何类型抽象层面上的“文件”.一旦设置了合适的“钩子”,你就可以访问文件类型接口的其它对象,就好像访问的是普通文件一样.文件对象的处理 ...

  5. 10.python中的序列

    本来说完字符串.数字.布尔值之后,应该要继续讲元祖.列表之类的.但是元祖和列表都属于序列,所以有必要先讲讲python的序列是什么. 首先,序列是是Python中最基本的数据结构.序列中的每个元素都分 ...

  6. 在Windows 10 + Python 3.6.5 中用 pip 安装最新版 TensorFlow v1.8 for GPU

    声明 什么cuDNN之类的安装,应该是毫无难度的,按照官网的教程来即可,除非...像我一样踩了狗屎运.咳咳,这些问题不是本文的关键. 本文的关键是解决pip安装tensorflow gpu版的问题. ...

  7. #10 Python字符串

    前言 通过上一节可知,Python6个序列的内置类型中,最常见的是列表和元组,但在Python中,最常用的数据类型却不是列表和元组,而是字符串.要想深入了解字符串,必须先掌握字符编码问题.因此本篇博文 ...

  8. 10 python 封装----@property的用法

    1.基本概念 在python中用双下划线开头的方式将属性隐藏起来(设置成私有的) #其实这仅仅这是一种变形操作 #类中所有双下划线开头的名称如__x都会自动变形成:_类名__x的形式: class A ...

  9. 2015/9/29 Python基础(20):类的授权

    类的授权 1.包装包装在Python编程世界中时经常会被提到的一个术语.它是一个通用的名字,意思是对一个已存在的对象进行包装,不管它是数据类型,还是一段代码,可以是对一个已存在的对象,增加新的,删除不 ...

随机推荐

  1. C Program基础-宏定义

    写好c语言,漂亮的宏定义是非常重要的,我们在阅读别人工程时,往往能看到大量的宏定义,宏定义可以增加代码的可读性,也能增加代码的可移植性,一个好的宏定义甚至是一件艺术品.今天我们就来看看宏定义的方方面面 ...

  2. HDU 1569 方格取数(2)(最大流最小割の最大权独立集)

    Description 给你一个m*n的格子的棋盘,每个格子里面有一个非负数. 从中取出若干个数,使得任意的两个数所在的格子没有公共边,就是说所取数所在的2个格子不能相邻,并且取出的数的和最大.   ...

  3. C语言--链表基础模板

    1.建立结构体 struct ST { int num;///学号 int score;///成绩 struct ST*next; };///结构体 2.空链表的创建 struct ST creatN ...

  4. Hero In Maze(BFS广搜)

    Description 500年前,Jesse是我国最卓越的剑客.他英俊潇洒,而且机智过人^_^.突然有一天,Jesse心爱的公主被魔王困在了一个巨大的迷宫中.Jesse听说这个消息已经是两天以后了, ...

  5. 20145214 《Java程序设计》第7周学习总结

    20145214 <Java程序设计>第7周学习总结 教材学习内容总结 时间的度量 格林威治标准时间(GMT),现已不作为标准时间使用,即使标注为GMT(格林威治时间),实际上谈到的的是U ...

  6. ACM 第四天

    A - 最短路 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的 ...

  7. 【Docker 命令】- run命令

    docker run :创建一个新的容器并运行一个命令 语法: docker run [OPTIONS] IMAGE [COMMAND] [ARG...] OPTIONS说明: -a stdin: 指 ...

  8. Cacti自定义脚本,监测Docker信息(Script/Command方式)

    一 环境背景 监控主机A:192.168.24.231:被监控主机B:192.168.24.233 A/B主机,通过公私钥建立ssh连接 [操作B主机时不需要输入密码,详见笔记:http://app. ...

  9. Android基础------Intent组件

    1.什么是intent 同Activity一样,也是Android应用组件在Android中承担着一种指令输出的作用Intent负责对应用中一次操作的动作及动作相关的数据进行描述.Android则根据 ...

  10. 如何在存储过程中执行set命令  我来答

    1.EXEC使用EXEC命令两种用种执行存储程另种执行态批处理所讲都第二种用 面先使用EXEC演示例,代码1DECLARE @TableName VARCHAR(50),@Sql NVARCHAR ( ...