python参考手册一书笔记之第一篇上
在python2和python3的版本差异很大输出hello world的方法在2里支持在3里就不支持了。
- print 'hello world' #在2中支持
- print ('hello world') #在2,3两个版本都支持。
在交互模式中_为特殊变量用于保存最后一次的运算结果,这个特殊变量只有在交互模式中才有定义。
如果要创建可以重复使用的程序可以将代码放在一个文件里,后缀名为.py结尾。
如果需要调试的话可以在ide中打开文件,在创建python程序文件时,需要加两行注释:
- #!/usr/bin/env python #
- -*- coding:utf-8 -*-
- #两行代码的意思分别是找到python程序的编译器,和使用utf-8这个万国码。
在python交互模式中输入任意合法的语句,或语句序列,都能返回结果例:
- >>> 6000+4523.50+134.12
- 10657.62
- >>> _+10
- 10667.62
- >>>
_在python中是个特殊变量,会代表上一次的运算结果,这个方法只有在交互模式工作中才有定义。
如果想创建可以重复运行的程序,可以先创建个.py的文件,将你想运行的代码放进这个文件里,在ide中运行可以达到重复使用的作用。
一个简单的复利运算
- principal =1000 #初始金额
- rate = 0.05 #利率
- numyears = 5 #年数
- year = 1
- while year<= numyears:
- principal = principal * (1+rate)
- print year,principal #python3中需要加上括号
- year += 1
变量名称是无类型的,在执行过程中可以调用任意类型。赋值运算符仅仅是将名称和值关联起来。
格式化字符串三种常用的序列%d 代表整数类型,%s 代表字符串类型.%f 代表浮点类型,下面是一个能将上面的复利运算结果变得更美观的一个用法:
- #!/usr/bin/env python
- # -*-*coding:utf-8 -*-
- principal =1000 #初始金额
- rate = 0.05 #利率
- numyears = 5 #年数
- year = 1
- while year<= numyears:
- principal = principal * (1+rate)
- print '%3d %0.2f' %(year,principal) #python3中需要加上括号
- year += 1
- #%3.d表示结果整体向右移三个空格,%.2f表示显示小数点后两位。
- #还有一种格式化字符的用法调用format()函数如下:
- print format(year,'3d'),format(principal,'0.2f')
- #还有一种格式化很多值的方法还是调用format()函数:
- print {0:3d}{1:0.2f} format(year,principal)
- #在这个例子中:前的数字表示传给format()函数的参数,冒号后面是格式说明符
if判断语句:if和else的子句的主体用缩进表示,else是可选的,表示判断条件不为真时执行它例:
- a = 1
- b = 2
- if a<b:
- print 'computer says yes'
- else:
- print 'computer says no'
要创建空语句是可使用pass语句:
- if a<b:
- pass
- else:
- print 'computer saye no'
使用 or,and,not等关键字可以建立布尔型的表达式。
- 1 product = 1
2 age =19- if product =='game' and type =='pirate memory'\
- and not (age <4 or age > 8):
- print 'I ll take it!'
#编写复杂程序的时候可能会输入很长的代码,让人看着不舒服可以输入一个\就可以在下一行的任意位置输入你的代码,不受缩进限制。
在python如果需要处理多个测试用例可以使用if语句中elif语句如下:
- if suffix =='.htm':
- content ='text/html'
- elif suffix =='.jpg':
- content ='image/jpeg'
- elif suffix =='.png':
- content ='image/png'
- else:
- raise runtimeerror('unknown content type')
要表示真值,可以使用布尔值True和False,例:
- s = [123,'sspan',233]
- if 'span' in s:
- print 'has_spam = True'
- else:
- print 'has_spam = False'
文件的输入和输出
- f = open('python_1.py') # f为返回的一个文件对象,或者叫文件句柄
- line = f.readline() #调用文件readline方法每次只读一行
- while line:
- print line, #后面跟着逗号表示忽略换行符
- #print (line,end='') #在python3中这么使用
- line = f.readline() #一次读取一行,包括结尾的换行符在内。读至文件结尾时将返回空字符串。
- f.close() #关闭文件
如果程序在像这样的数据集(例如输入中的行、数字、字符串等)上进行循环,那么通常就称之为迭代。
迭代是一种很常见的操作,所以python为其提供了一个专用语句循环for同样的程序我们可以写成这样例:
- #! /usr/bin/env python
- # -*- coding:utf-8 -*-
- principal =1000 #初始金额
- rate = 0.05 #利率
- numyears = 5 #年数
- year = 1
- for line in open('python_1'):
- print line
- 要将程序输入到一个文件中可以使用print语句中的>>指定一个文件如下:
- f = open('python_1.py','w') #打开文件写入,用w方式时会覆盖文件原有内容
- while year <= numyears:
- principal = principal *(1 + rate)
- print >>f,,'%3d %0.2f' %(year,principal) #写进f这个文件句柄代表的文件
- #python3中只能这么使用 print('%3d %0.2f' %(year,principal),file = f)
- year += 1
- f.close()
- #另外,文件对象支持使用write()方法写入原始数据。例如,前一例子中的print语句也可以写成下面这样:
- f.write('%3d %0.2f' %(year,principal),file = f)
上面的例子处理的都是文件,同意的技术也可以用于标准的解释器输入流和输入流 例如想用交互式方法读取用户输入,可以从文件sys.stdin中读取。如果需要输出到屏幕可以写入文件sye.stdout 例:
- import sys #调用sys模块
- sys.stdout.write ('Enter your name :') #使用stdout语句输出
- name = sys.stdin.readline() #写入文件。
- 在python2中可以这么使用
- name = raw_input('Enter your name:') #在python3中可以使用input输入和2中raw_input 效果一样
字符串
要创建个字符串可以将字符串放进""或者'' 再或者''' '''这三种引号内。这三种引号必须相互对应例:
- a = 'name1'
- b = "name2"
- c = '''name3'''
- #三个引号可以多行输入,其他两种方式不可。
字符串的存储是从0开始的,如果想取出某个元素可以用索引运算符取出,如果要取出多个元素可以用切片运算符可以取出多个例
- a = 'hello world'
- b = a[4]
- c = a[:5]
- d = a[6:]
- e = a[3:8]
- 也可以使用+号将两个字符串连接
- g = a +' this is a test'
python不会将字符串的值解释为数据数值例如两个字符号中间放个+号只会连接两个字符串,如果你想让两个字符串元素中的数字相加可以将字符串转换类型。
如int,float,将字符串转换成整形或浮点型。
- x = ''
- y = ''
- z = x + y # z = '3742'(字符串连接)
- 要执行数学计算,可以将字符串先转换
- z= int(x) + int(y) #z = 79(integer +)
- 使用str()、repr()或format()函数可将非字符串值转换为字符串表示形式,例:
- s = 'The value of x is' + str(x)
- s = 'The value of x is' + repr(x)
- s = 'The value of x is' +format(x,'4d')
- 尽管str()和repr()都可以创建字符串,但是str生成的和print语句的结果相同二用repr()创建的字符串则代表精确值例:
- x =3.4
- str(x) #结果'3.4'
- x = 3.4
- repr(x) #结果'3.9999999'
- 而format()函数的作用是利于特定格式将值转换成字符串例
- format(x,'0.5f') #结果3.40000
python参考手册一书笔记之第一篇上的更多相关文章
- python核心编程一书笔记之第一篇
#!/usr/bin/env python# -*- coding:utf-8 -*- #env 是一个命令用来寻找系统中的python解释器.第二条解释使用utf-8编码 在类unix系统中允许py ...
- 《python参考手册(第四版)》【PDF】下载
<python参考手册(第四版)>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382222 内容介绍 本书是权威的Python语 ...
- C语言学习推荐《C语言参考手册(原书第5版)》下载
- 转载-《Python学习手册》读书笔记
转载-<Python学习手册>读书笔记 http://www.cnblogs.com/wuyuegb2312/archive/2013/02/26/2910908.html
- c++学习笔记之封装篇(上)
title: c++学习笔记之封装篇(上) date: 2017-03-12 18:59:01 tags: [c++,c,封装,类] categories: [学习,程序员,c/c++] --- 一. ...
- 《Python学习手册》读书笔记
之前为了编写一个svm分词的程序而简单学了下Python,觉得Python很好用,想深入并系统学习一下,了解一些机制,因此开始阅读<Python学习手册(第三版)>.如果只是想快速入门,我 ...
- 《Python学习手册》读书笔记【转载】
转载:http://www.cnblogs.com/wuyuegb2312/archive/2013/02/26/2910908.html 之前为了编写一个svm分词的程序而简单学了下Python,觉 ...
- Python编程笔记(第一篇)Python基础语法
一.python介绍 1.编程语言排行榜 TIOBE榜 TIOBE编程语言排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于互联网有经验的程序员.课程和第三方厂商的数量. 2.pytho ...
- Python全栈开发之路 【第一篇】:Python 介绍
本节内容 一.Python介绍 python的创始人为荷兰人——吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本 ...
随机推荐
- Spring第八篇【XML、注解实现事务控制】
前言 本博文主要讲解Spring的事务控制,如何使用Spring来对程序进行事务控制-. 一般地,我们事务控制都是在service层做的..为什么是在service层而不是在dao层呢??有没有这样的 ...
- 浅谈Linux虚拟内存
我的orangepi内存很少,所以我打算给它弄个虚拟内存 首先建立一个1G的空文件: dd if=/dev/zero of=/home/swapfile bs=64M count=16 格式化为swa ...
- Linux下安全证书申请以及配置到Nginx
wget https://raw.githubusercontent.com/xdtianyu/scripts/master/lets-encrypt/letsencrypt.shchmod +x l ...
- 纯css隐藏移动端滚动条解决方案(ios上流畅滑动)
纯css隐藏移动端滚动条解决方案(ios上流畅滑动) html代码展示(直接复制代码保存至本地文件运行即可): <!DOCTYPE html> <html lang="en ...
- Ubuntu16.04安装piwik3.0.1
1.安装PHP环境 sudo apt-get install php7.0-fpm 2.下载piwik3.0.1 https://piwik.org/download/ 下载后解压到/var/ww ...
- oracle 数据库(表)的逻辑备份与恢复
一.介绍逻辑备份是指使用工具export将数据对象的结构和数据导出到文件的过程.逻辑恢复是指当数据库对象被误操作而损坏后使用工具import利用备份的文件把数据对象导入到数据库的过程.物理备份即可在数 ...
- Opengl4.5 中文手册—G
索引 A B C D E F G H I J K L M N O P Q ...
- Redisson分布式锁的简单使用
一:前言 我在实际环境中遇到了这样一种问题,分布式生成id的问题!因为业务逻辑的问题,我有个生成id的方法,是根据业务标识+id当做唯一的值! 而uuid是递增生成的,从1开始一直递增,那么在同一台机 ...
- 基于NIO的Socket通信
一.NIO模式的基本原理: 服务端: 首先,服务端打开一个通道(ServerSocketChannel),并向通道中注册一个通道调度器(Selector):然后向通道调度器注册感兴趣的事件Select ...
- 项目发布Debug和Release版的区别
一.Debug和Release的区别 Debug:调试版本,包含调试信息,所以容量比Release大很多,并且不进行任何优化(优化会使调试复杂化,因为源代码和生成的指令间关系会更复杂),便于程序员调试 ...