《Python基础教程》第2章读书笔记(1)
# -*- coding:utf-8 -*- #最基本的数据结构:序列,索引从0开始
#python包括6种内建的序列
#最常用的序列包括:列表,元祖 #列表
edward = ['Edward Gumby',42]
print edward #列表的元素可以是列表
john=['John Smith',50]
database = [edward, john]
print database #python之中还有一种名为容器的数据结构。
#序列(如列表和元组)和映射(如字典)是两类主要的容器。
#序列的每个元素都有自己的编号,而映射中的每一个元素则有一个名字(也称为键)
#既不是序列也不是映射的容器类型:集合(set) #序列(list\triple)的通用操作:索引、分片、加、乘、以及检查某个元素是否属于序列的成员、计算序列长度、找出最大元素、找出最小元素、迭代 #字符串使用索引
greeting = 'hello'
print greeting[0]
print greeting[-1] #字符串字面值直接使用索引
print greeting[1] #如果一个函数返回一个序列,那么可以直接对返回结果进行索引操作。
#fourth = raw_input('Year: ')[3]
#print fourth #输入年月日的数字,打印日期
#为方便后续笔记调试,该段代码已被注释掉
'''
months = [
'January',
'February',
'March',
'April',
'May',
'June',
'July',
'August',
'September',
'October',
'November',
'December'
] endings = ['st','nd','rd'] + 17 *['th']\
+ ['st','nd','rd'] + 7 *['th']\
+ ['st'] year = raw_input('Year: ')
month = raw_input('Month (1-12):')
day = raw_input('Day (1-31):') month_number = int(month)
day_number = int(day) month_name = months[month_number-1]
ordinal = day + endings[day_number-1] print month_name + ' ' + ordinal + ' ' + year
''' #分片,t[a:b]不包括t[b]
tag = 'https://www.quora.com/#'
tmpTag = tag[8:21]
print tmpTag #www.quora.com
print tag[8:-2] #www.quora.com #对列表分片
numbers = [1,2,3,4,5,6,7,8,9,10]
print numbers[3:6] #[4, 5, 6] #访问后几个元素
print numbers[8:] print numbers[-3:-1] #[8, 9] print numbers[-3:0] #[] print numbers[-3:] #[8, 9, 10] print numbers[:3] #[1, 2, 3] print numbers[:] #[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] #对http://www.quora.com形式的URL进行分割
'''
url = raw_input("Please enter the url:")
domain = url[11:-4]
print "Domain name: " + domain
''' #更大的步长
print numbers[0:10:1] #[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] print numbers[0:10:2] #[1, 3, 5, 7, 9] print numbers[3:6:3] #[4] print numbers[::3] #[1, 4, 7, 10] #步长可以是负数
print numbers[8:3:-1] #[9, 8, 7, 6, 5] #范围和步长不一致,输出为空
print numbers[3:8:-1] #[] print numbers[::-2] #[10, 8, 6, 4, 2] #一端没有指定,步长为负的情况:起始点大于结束点
print numbers[5::-2] #[6, 4, 2]
print numbers[:5:-2] #[10, 8] #序列相加
print [1,2,3]+[4,5,6] print 'Hello ' + 'world!' '''
print [1,2,3] + 'world!'
#TypeError: can only concatenate list (not "str") to list
''' #乘法
print 'python '*5 print [42] * 10 #None、空列表 和 初始化
sequence = [None]*10
print len(sequence) #以正确的宽度在居中的“盒子”内打印一个句子
'''
sentence = raw_input("Sentence: ")
screen_width = 80
text_width = len(sentence)
box_width = text_width + 20
left_margin1 = (screen_width - box_width) // 2
left_margin2 = (screen_width - text_width - 4) // 2 print
print ' ' * left_margin1 + '+' + '-' * (box_width -2) + '+'
print ' ' * left_margin2 + '| ' + ' ' * text_width + ' |'
print ' ' * left_margin2 + '| ' + sentence + ' |'
print ' ' * left_margin2 + '| ' + ' ' * text_width + ' |'
print ' ' * left_margin1 + '+' + '-' * (box_width -2) + '+'
''' #成员资格
permissions = 'rw'
print 'w' in permissions
print 'x' in permissions
users = ['mlh', 'foo', 'bar']
#print raw_input('Enter your user name: ') in users subject = 'Get rich now!!'
print 'rich' in subject #True #检查用户名和输入码
'''
database = [
['albert', '1234'],
['dilbert', '4242'],
['smith', '7524'],
['jones', '8765']
]
username = raw_input('User name: ')
pin = raw_input('PIN code: ') if [username, pin] in database: print 'Access granted'
''' #长度、最小值、最大值
numbers = [100, 34, 765]
print len(numbers)
print max(numbers)
print min(numbers)
《Python基础教程》第2章读书笔记(1)的更多相关文章
- python基础教程第2章——列表与元组笔记
1.序列是Python中最基本的数据结构.序列中的每个元素被分配一个序列号——元素的位置,也称索引,第1个索引是0,第2为1,以此类推.序列中的最后1个元素为-1,倒数第2个位-2. python中有 ...
- python基础教程-第三章-使用字符串
本章将会介绍如何使用字符串何世华其他的值(如打印特殊格式的字符串),并简单了解下利用字符串的分割.联接.搜索等方法能做些什么 3.1 基本字符串操作 所有标准的序列操作(索引.分片.乘法.判断成员资格 ...
- python基础教程第4章——字典
1.映射(mapping):通过名字引用值的数据结构.字典是Python中唯一内建的映射类型,字典中的值并没有特殊的顺序,但是都存储在一个特定的键(key)里.键可以是数字.字符串甚至是元组. 2.字 ...
- python基础教程第5章——条件循环和其他语句
1.语句块是在条件为真(条件语句)时执行或者执行多次(循环语句)的一组语句.在代码前放置空格来缩进语句即可穿件语句块.块中的每行都应该缩进同样的量.在Phyton中冒号(:)用来标识语句块的开始,块中 ...
- 《Python基础教程》第一章:基础知识
如果希望只执行普通的除法,可以在程序前加上以下语句:from __future__ import division.还有另外一个方法,如果通过命令行运行Python, 可以使用命令开关-Qnew.此时 ...
- python基础教程第6章——抽象
1.函数的定义,使用def(或“函数定义”)语句: def hello(name): return ‘Hello.'+name+'!' def fibs(num): result=[0,1] for ...
- python基础教程第3章——字符串
1.字符串格式化 字符串格式化操作符%+转换标志+最小字段宽度+点后跟精度值+转换类型 String模块提供另外一种格式化方式 from string import Template s=Templa ...
- 《Java基础教程》第一章学习笔记
Java 是什么呀! 计算机语言总的来说分成机器语言,汇编语言,高级语言.其中Java一种高级计算机语言,它是一种可以编写跨平台应用软件,完全面向对象的程序设计语言. Java划分为三个技术平台,Ja ...
- 《Python基础教程》第二章:列表和元组(2)
list函数可以将字符串转换为列表 ' '.join(somelist)可以将列表转换为字符串 从列表中删除元素可以使用del语句来实现 方法是与对象有紧密联系的函数:对象.方法(参数) append ...
- 《Python基础教程》第二章:列表和元组(1)
列表可以修改,元组则不能 字符串就是一个由字符组成的序列 使用分片操作来访问一定范围内的元素,分片操作的实现需要提供两个索引作为边界,第一个索引的元素是包含在分片内的,而第二个不包含在分片内. 如果分 ...
随机推荐
- 实际情况来看,还是yield很爽
0 引言 最近公司有一个 php 的项目,要 port 到 node.js 来.我之前没有接触过这个项目,整个项目使用的是 yaf 框架.整个项目流程是调用服务端的业务数据,然后拼装数据,返回给前端: ...
- tornado学习 - TCPServer 实现聊天功能
最近学习tornado框架,其中有很多值得学习的模块,鉴于某位学长的建议,也决定好好看看tornado.tcpserver. 关于TCP协议详细介绍可查阅wiki. 对于TCP服务器,基本的操作tor ...
- Android 反射-换一种方式编程
Android 反射-换一种方式编程 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/59109933 本文出自[赵彦军的博客] 上一 ...
- [Selenium With C#学习笔记] Lesson-03 超级链接
超级链接或链接是Web页面的基本元素之一,而通过超级链接使得万维网可以互联互通.一个典型的链接如下所示: HTML源码如下所示: <a href="index.html" i ...
- 每天一个linux命令31)--chown命令
chown将 指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID,组可以使组名或者组ID:文件是以空格分开的要改变权限的文件列表,支持通配符.系统管理员经常使用chown命令,在将文件拷 ...
- Keepalived + HAProxy 搭建【第二篇】Keepalived 安装与配置
第一步:准备 1. 简介 本文搭建的是利用 Keepalived 实现 HAProxy 的热备方案,即两台主机上的 HAProxy 实例同时运行,其中全总较高的实例为 MASTER,MASTER出现异 ...
- 数据存储与访问之——初见SQLite数据库
本节引言: 本节学习Android数据库存储与访问的第三种方式:SQLite数据库,和其他的SQL数据库不同,我们并不需要在手机上另外安装一个数据库手机软件,Android系统已经集成了这 ...
- lxd容器之GPU发现和加载
lxd gpu设备发现: // /dev/nvidia[0-9]+ type nvidiaGpuCards struct { path string major int minor int id st ...
- 简单聊聊HTTP/TCP/IP协议
经过几天的面试,有很多公司的面试官都会问到是否了解HTTP/TCP/IP协议? 一遇到这个问题,就一脸懵逼,虽然是计算机基层的东西,看来是必须得了解的,回到家之后,就查找了一些资料,整理了一篇博客,简 ...
- SQL Server-聚焦NOLOCK、UPDLOCK、HOLDLOCK、READPAST你弄懂多少?(三十四)
前言 时间流逝比较快,博主也在快马加鞭学习SQL Server,下班回来再晚也不忘记更新下博客,时间挤挤总会有的,现在的努力求的是未来所谓的安稳,每学一门为的是深度而不是广度,求的是知识自成体系而不是 ...