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 ...
随机推荐
- Python学习笔记010_迭代器_生成器
迭代器 迭代就类似于循环,每次重复的过程被称为迭代的过程,每次迭代的结果将被用来作为下一次迭代的初始值,提供迭代方法的容器被称为迭代器. 常见的迭代器有 (列表.元祖.字典.字符串.文件 等),通常 ...
- 随便讲讲我对于svn和git的想法
1.SVN是集中式版本管理工具,而Git是分布式版本管理工具,这是核心区别. 二者都有集中的库,只是git偏向于分布式,用户可以再自己电脑上克隆一份自己的库,即使在断网的情况下也能够查看版本,创建分支 ...
- CSS3的颜色渐变效果
在 animate.css寻找自己想要的动态效果,看到标题Animate.css和按钮Animate it的颜色在逐渐变化,觉得蛮有趣的,把控制变化的相关代码扒了下来,自己分析实现一波. 一开始认为使 ...
- 渗透相关website
开源安全测试方法论:http://www.isecom.org/research/osstmm.html 信息系统安全评估框架:www.oissg.org/issaf 开放式web应用程序安全项目(O ...
- Atlas框架介绍集成(一)
Atlas是什么? Atlas是一个Android客户端容器框架,主要提供了组件化.动态性.解耦化的支持.支持在编码期.Apk运行期以及后续运维修复期的各种问题. 在工程期,实现工程独立开发,调试功能 ...
- uva 10391
这个题,单纯做出来有很多种方法,但是时间限制3000ms,因此被TL了不知道多少次,关键还是找对最优解决方法,代码附上: #include<bits/stdc++.h> using nam ...
- Floyd算法(最短路)
如题,这是最短路算法Floyd. Floyd,是只有五行的代码. 简单,易懂.O(N的三方)的时间也可以. 遇到简单的就这么用. #include<iostream> #include&l ...
- 编码格式简介:ASCII码、ANSI、GBK、GB2312、GB18030和Unicode、UTF-8,BOM头
编码格式简介:ASCII码.ANSI.GBK.GB2312.GB18030和Unicode.UTF-8,BOM头 二进制: 只有0和1. 十进制.十六进制.八进制: 计算机其实挺笨的,它只认识0101 ...
- vue组件初学--弹射小球
1. 定义每个弹射的小球组件( ocicle ) 2. 组件message自定义属性存放小球初始信息(可修改) { top: "0px", //小球距离上方坐标 left: &qu ...
- Hive基础(4)---Hive的内置服务
版权声明:<—— 本文为作者呕心沥血打造,若要转载,请注明出处@http://blog.csdn.net/gamer_gyt <—— 目录(?)[+] 一:Hive的几种内置服务 ...