python核心编程一书笔记之第一篇
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#env 是一个命令用来寻找系统中的python解释器。第二条解释使用utf-8编码
在类unix系统中允许python为了防止出现找不到命令经常会加上一段申明,在python3以下的版本需要加上编码申明来实行兼容:
在python中的第一个案例:
print 'Hello World!'
#你好这个世界 嘿嘿!
print 这个命令用于输出,常用来查看变量里面的内容,或者输出一些内容显示给用户。
变量是会变的量所以叫做变量。变量可以帮助程序员记忆一些东西,所以一些变量名都是代表着一些内容。变量的起名规则:只能由数字,字母,下划线组成,其中数字不能开头,变量名最好可以给你一种见名起义的感觉,变量名不要起太长不方便记忆。
在python中_下划线可以起到重复上一条命令的作用例:
>>> 1 == 1
True
>>> _
True
>>>
在python中三种常用的字符串格式操作符%s,%d,%f %s代表字符串,%d代表整数,%f代表浮点型。例:
name1 = 'alex'
name2 = 'eric'
name3 = 'seven'
print 'name1:%s,name2:%s,name3%s' %('name1','name2','name3')#可加引号,也可不加,python3中必须加。
用户的输入可以用raw_input('')等待用户输入内容,如果等待用户输入的是密码可以这么做例:
import getpass
name = raw_input('You name:')
pwd = getpass.getpass('You pwd:')
如何将用户输入的字符串转换成整形例:
name1 = int(raw_input('Guess the number:'))
查询帮助信息help(内建函数)即可查帮助信息。
注释:帮助理解用的,有申明注释,代码注释例:
#!/usr/bin/env python
# -*- coding:utf-8 -*- #申明注释
# 可做当行注释
'''
''' #多行注释,可用三个单引号或者三个双引号不可混用。
算术操作符+ - * / // % **
前四种在python中与正常算术运算符一样,可正常加减,但不可字符串+,-整形, *对字符串使用的话可以成倍出现,除法中如果不带小数点会只留整数部分,//取整数部分,%取余,**用来幂运算
还有一些= , == , != <=, >= 第一个辅助运算,将右面的值赋给左边的值,这种运算都是先算右边再算左边。 ==比较 !=不等于.后面两个是大于等于喝小于等于。
还有一些特殊的布尔运算返回值为True 和False,和逻辑运算符返回值not, and, or not表示条件相反,and表示并且,or表示或。
字符串: 是 表示""引号和字符之类内容的集合,两个引号必须相同不可左边一个单引号,右边一个双引号,两个字符串直接如果用+就表示两个字符串内容和成一个字符串可以叫做连接运算,如果用*表示重复字符串,在字符串中还有一些索引的用法注:索引从0开始的[:3]的话只会输出3这个代表位前面的元素例:
>>> pystr = 'python'
>>> iscool = 'is cool'
>>> pystr[0]
'p'
>>> pystr[2:5]
'tho'
>>> iscool[:2]
'is'
>>> iscool[3:]
'cool'
>>> iscool[-1]
'l'
>>> pystr + iscool
'pythonis cool'
>>> pystr + ' ' + iscool
'python is cool'
>>> pystr * 2
'pythonpython'
>>> '-'*20
'--------------------'
>>> pystr = '''python
... is cool '''
>>> pystr
'python\n ... is cool '
>>> print pystr
python
... is cool
>>> iscool[-3]
'o'
>>> iscool[-3:]
'ool'
列表和元祖:可以保存python中任意类型任意数量的对象。列表用[]包裹里面的元素个数和元素值可以改变。元祖用()包裹里面的元素个数和元素值不可改变,可以当成可读,但元祖本身可以改变。列表和元祖都可以用切片来操作得到子集([][:])和字符串操作方法一样。不过它得到的子集不是单个的字符,而可能是一组字符,下面是一些列表和元祖的操作例:
>>> alist = [1,'s',3,4]
>>> alist
[1, 's', 3, 4]
>>> alist[0]
1
>>> alist[2:]
[3, 4]
>>> alist[:3]
[1, 's', 3]
>>> alist[1]=2
>>> alist
[1, 2, 3, 4]
>>> #元祖的切片操作
>>> atuple = ('robots',77,93,'try')
>>> atuple
('robots', 77, 93, 'try')
>>> atuple[:3]
('robots', 77, 93)
>>> atuple[1] = 5 Traceback (most recent call last):
File "<pyshell#11>", line 1, in <module>
atuple[1] = 5
TypeError: 'tuple' object does not support item assignment
>>>
字典:由键值对组成(key,value)字典用{}包裹里面的元素可以修改操作例:
>>> adict = {'host':'earth'}
>>> adict['port']=80
>>> adict
{'host': 'earth', 'port': 80}
>>> adict.keys()
['host', 'port']
>>> adict['host']
'earth'
>>> adict['earth']
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
adict['earth']
KeyError: 'earth'
>>> for key in adict:
print key,adict[key]
host earth
port 80
>>>
代码块的缩进和对齐:一级一级的对应,同级的缩进应该保持一致。
if语句:在if语句中判断条件是否符合,符合就往下执行,否则不执行例:
if True:
print 'hello'
if 1 == 0:
print 'no' hello if 1 == 0:
print 'no'
else:
print 'yes' yes
while循环:当条件满足时,会一直执行代码,直到条件不满足跳出。注意要保持缩进一致例
counter = 0
while counter < 3:
print 'loop #%d' %(counter)
counter += 1 loop #
loop #
loop #
for循环:需要连接一个变量往下执行例:
#-*- coding:utf-8 -*-
print 'I like to use the Internet for:'
for item in ['e-mail','net-surfing','homework','chat']:
print item I like to use the Internet for:
net-surfing
homework
chat #如果想让上面的例子执行在同一行只需要在print语句最后添加一个逗号 print 'I like to use the Internet for:'
for item in ['e-mail','net-surfing','homework','chat']:
print item,
I like to use the Internet for:
e-mail net-surfing homework chat
还有一种类似计数循环:
python核心编程一书笔记之第一篇的更多相关文章
- python参考手册一书笔记之第一篇上
在python2和python3的版本差异很大输出hello world的方法在2里支持在3里就不支持了. print 'hello world' #在2中支持 print ('hello world ...
- python核心编程第二版笔记
python核心编程第二版笔记由网友提供:open168 python核心编程--笔记(很详细,建议收藏) 解释器options:1.1 –d 提供调试输出1.2 –O 生成优化的字节码(生成 ...
- 《python核心编程》--读书笔记 第21章 数据库编程
准备:今天拿笔记本装了mysql,这样就能在不同地方用其他电脑远程访问同一个数据库了. python安装MySQLdb模块:http://www.codegood.com/downloads. 21. ...
- 《python核心编程》读书笔记--第18章 多线程编程
18.1引言 在多线程(multithreaded,MT)出现之前,电脑程序的运行由一个执行序列组成.多线程对某些任务来说是最理想的.这些任务有以下特点:它们本质上就是异步的,需要多个并发事务,各个事 ...
- 《python核心编程》读书笔记--第16章 网络编程
在进行网络编程之前,先对网络以及互联网协议做一个了解. 推荐阮一峰的博客:(感谢) http://www.ruanyifeng.com/blog/2012/05/internet_protocol_s ...
- 《python核心编程》读书笔记--第15章 正则表达式
15.1引言与动机 处理文本和数据是一件大事.正则表达式(RE)为高级文本匹配模式,为搜索-替换等功能提供了基础.RE是由一些字符和特殊符号组成的字符串,它们描述了这些字符和字符串的某种重复方式,因此 ...
- 《python核心编程》读书笔记——列表解析
列表解析是列表类型的方法,这种方法结合了列表的方括弧.for循环.if语句. 用for把处理后的值放入列表: squared = [ x**2 for x in range(4) ] for i in ...
- python核心编程--笔记
python核心编程--笔记 的解释器options: 1.1 –d 提供调试输出 1.2 –O 生成优化的字节码(生成.pyo文件) 1.3 –S 不导入site模块以在启动时查找pyt ...
- python核心编程--笔记(不定时跟新)(转)
的解释器options: 1.1 –d 提供调试输出 1.2 –O 生成优化的字节码(生成.pyo文件) 1.3 –S 不导入site模块以在启动时查找python路径 1.4 –v ...
随机推荐
- 【漏洞公告】CVE-2017-12615/CVE-2017-12616:Tomcat信息泄漏和远程代码执行漏洞
2017年9月19日,Apache Tomcat官方确认并修复了两个高危漏洞,漏洞CVE编号:CVE-2017-12615和CVE-2017-12616,该漏洞受影响版本为7.0-7.80之间,在一定 ...
- Redis集群介绍
http://mt.sohu.com/20160601/n452401108.shtml
- 【SQL】- 基础知识梳理(四) - 存储过程
存储过程的概念 存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行 存储过程的好处 A. 存储过程允许标准组件式编程 ...
- MVC(3DOnLine)开发过程的一些难点以及知识点
1.当修改数据然后保存时,会提示有一行受影响无法保存 @Html.HiddenFor(model => model.UserID) 最好将主键隐藏 也就是不去修改它 原因:修改了主键 然 ...
- java初学者(新手)应该如何选择学习教材与网站
作者:天天向上 1.学习教材选择推荐<JAVA核心技术>,想多看点代码多练习可以找<java开发实战经典>&amp;lt;img src="https ...
- Ubuntu16.04 Using Note
I meet lots of problems when i installed and use ubuntu 16.04.below is my using note: (my operating ...
- JSP入门 分页
<div> <% Integer pageNo = (Integer) request.getAttribute("pageNo"); ...
- P1050
问题 F: P1050 时间限制: 1 Sec 内存限制: 128 MB提交: 37 解决: 27[提交][状态][讨论版] 题目描述 一个字符串A的子串被定义成从A中顺次选出若干个字符构成的串. ...
- Codecraft-17 and Codeforces Round #391 (Div. 1 + Div. 2, combined)D. Felicity's Big Secret Revealed
题目连接:http://codeforces.com/contest/757/problem/D D. Felicity's Big Secret Revealed time limit per te ...
- 如何在maven pom.xml文件中设置Java编译器版本
今天遇到一个问题: 在Eclipse中用maven创建一个新的web项目,然后再用maven update一下,则JDK版本自动变为1.5. 通过查找资料,终于发现maven编译器插件(Maven C ...