2015/8/10 Python基本使用(1)
此文为《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)的更多相关文章
- 2015/9/10 Python基础(11):错误和异常
程序在执行的过程中会产生异常,出现错误在以前的一个时期是致命的,后来随着程序的发展,使得一些错误的处理方式是柔和的,发生错误会产生一些错误的诊断信息和一些模糊的提示.帮助我们来处理异常.今天将学习Py ...
- 2015年10个最佳Web开发JavaScript库
2015年10个最佳Web开发JavaScript库 现在的互联网可谓是无所不有,有大量的JavaScript项目开发工具充斥于网络中.我们可以参考网上的指导来获取构建代码项目的各种必要信息.如果你是 ...
- http://browniefed.com/blog/2015/09/10/the-shapes-of-react-native/
http://browniefed.com/blog/2015/09/10/the-shapes-of-react-native/
- 2015/9/9 Python基础(10):文件和输入输出
文件对象文件对象不仅可以用来访问普通的磁盘文件,而且也可以访问其它任何类型抽象层面上的“文件”.一旦设置了合适的“钩子”,你就可以访问文件类型接口的其它对象,就好像访问的是普通文件一样.文件对象的处理 ...
- 10.python中的序列
本来说完字符串.数字.布尔值之后,应该要继续讲元祖.列表之类的.但是元祖和列表都属于序列,所以有必要先讲讲python的序列是什么. 首先,序列是是Python中最基本的数据结构.序列中的每个元素都分 ...
- 在Windows 10 + Python 3.6.5 中用 pip 安装最新版 TensorFlow v1.8 for GPU
声明 什么cuDNN之类的安装,应该是毫无难度的,按照官网的教程来即可,除非...像我一样踩了狗屎运.咳咳,这些问题不是本文的关键. 本文的关键是解决pip安装tensorflow gpu版的问题. ...
- #10 Python字符串
前言 通过上一节可知,Python6个序列的内置类型中,最常见的是列表和元组,但在Python中,最常用的数据类型却不是列表和元组,而是字符串.要想深入了解字符串,必须先掌握字符编码问题.因此本篇博文 ...
- 10 python 封装----@property的用法
1.基本概念 在python中用双下划线开头的方式将属性隐藏起来(设置成私有的) #其实这仅仅这是一种变形操作 #类中所有双下划线开头的名称如__x都会自动变形成:_类名__x的形式: class A ...
- 2015/9/29 Python基础(20):类的授权
类的授权 1.包装包装在Python编程世界中时经常会被提到的一个术语.它是一个通用的名字,意思是对一个已存在的对象进行包装,不管它是数据类型,还是一段代码,可以是对一个已存在的对象,增加新的,删除不 ...
随机推荐
- hadoop问题集(1)
参考: http://dataunion.org/22887.html 1.mapreduce_shuffle does not exist 执行任何时报错: Container launch ...
- Thunder团队——事后诸葛亮会议
小组名称:Thunder 项目名称:爱阅APP 小组成员:王航 李传康 代秋彤 邹双黛 苗威 宋雨 胡佑蓉 杨梓瑞 一.设想和目标 1.我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型 ...
- 搭建github
http://www.cnblogs.com/liuxianan/p/build-blog-website-by-hexo-github.html
- 201621044079 week13 网络
作业13-网络 1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 为你的系统增加网络功能(购物车.图书馆管理.斗地主等)-分组完成 为了让你的系统可以 ...
- Qt单元测试(QTestLib)
版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Qt单元测试(QTestLib) 本文地址:http://techieliang.co ...
- 使用图片方式显示email地址
import java.awt.Color; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics2D ...
- zoj3209-Treasure Map
给出一个左下角为\((0,0)\),右上角为\((n,m)\)的矩形,再给出\(k\)个在大矩形内的小矩形(可以重合),问是否能用这些小矩形完全覆盖这个大矩形,并且没有重合,如果可以至少需要多少个. ...
- 【bzoj4165】矩阵 堆+STL-map
题目描述 定义和谐矩阵为长不小于 Mina 且宽不小于 Minb 的矩阵,矩阵的权值为整个矩阵内所有数的和.给定一个长为 N,宽为 M 的矩阵 A,求它的所有和谐子矩阵中权值第 K 小的矩阵,并输出它 ...
- [洛谷P4248][AHOI2013]差异
题目大意:给一个长度为$n$的字符串,求: $$\sum\limits_{1\leqslant i<j\leqslant n}|suf_i|+|suf_j|-2\times lcp(suf_i, ...
- US Open 2016 Contest
比较弱,只写了金组和银组,铂金组的第一题. [262144] http://www.usaco.org/index.php?page=viewproblem2&cpid=648 给一个序列,相 ...