Head First Python 学习札记 2016-04-06
来源:互联网 发布:mac磁盘清理软件排名 编辑:程序博客网 时间:2024/05/16 01:53
Python术语:
BIF —————————— 内置函数,Python的内置函数,就比如说print()、isinstence()这样的函数就是Python的内置函数,这些内置函数的命名空间并不是 _ main _ 而是 _ builtins _
Python列表 —————— 是一个高层集合,原本设计为要存储一个“相关事物”的集合。列表并不关心这些事物的类型是什么,因为列表的存在只是为了提供一种机制,从而可以采用列表的形式存储数据。
1、Python列表的操作语句:
1、插入:insert(position,text)
2、追加内容到列表的末尾:append(text)
3、将列表的最后一个元素删除并返回:pop();删除指定位置的数,我们用Student.pop(2)
4、由于Python是动态语言,所以list中包含的元素并不要求都必须是同一种数据类型,我们完全可以在list中包含各种数据:
>>> L = ['Michael', 100, True]
5、倒序访问list
可以用 -1 这个索引来表示最后一个元素:
类似的,倒数第二用 -2 表示,倒数第三用 -3 表示,倒数第四用 -4 表示:
6、对list中的某一个索引赋值,就可以直接用新的元素替换掉原来的元素,list包含的元素个数保持不变。
>>> L[-1] = 'Paul'
7、切片操作
取一个list的部分元素是非常常见的操作。比如,一个list如下,Python提供了切片(Slice)操作符,能大大简化这种操作。
>>> L = ['Adam', 'Lisa', 'Bart', 'Paul']>>> L[0:3]['Adam', 'Lisa', 'Bart']
range()函数可以创建一个数列:
>>> range(1, 101)[1, 2, 3, ..., 100]
请利用切片,取出:
1. 前10个数;
2. 3的倍数;
3. 不大于50的5的倍数。
L = range(1, 101)print L[0:10]print L[2::3] #从2开始每隔3个数取一个数print L[4:50:5]#从4开始到50每隔5个数取一个数
8、倒序切片
对于list,既然Python支持L[-1]取倒数第一个元素,那么它同样支持倒数切片,试试:
>>> L = ['Adam', 'Lisa', 'Bart', 'Paul']>>> L[-2:]['Bart', 'Paul']>>> L[:-2]['Adam', 'Lisa']>>> L[-3:-1]['Lisa', 'Bart']>>> L[-4:-1:2]['Adam', 'Bart']
记住倒数第一个元素的索引是-1。倒序切片包含起始索引,不包含结束索引。
任务
利用倒序切片对 1 - 100 的数列取出:
* 最后10个数;
* 最后10个5的倍数。
>>> L = range(1, 101)>>> print L[-10:][91, 92, 93, 94, 95, 96, 97, 98, 99, 100]>>> print L[-46::5][55, 60, 65, 70, 75, 80, 85, 90, 95, 100]
9、对字符串切片
字符串 ‘xxx’和 Unicode字符串 u’xxx’也可以看成是一种list,每个元素就是一个字符。因此,字符串也可以用切片操作,只是操作结果仍是字符串:
>>> 'ABCDEFG'[:3]'ABC'>>> 'ABCDEFG'[-3:]'EFG'>>> 'ABCDEFG'[::2]'ACEG'
字符串有个方法 upper() 可以把字符变成大写字母:
>>> 'abc'.upper()>>>'ABC'
但它会把所有字母都变成大写。请设计一个函数,它接受一个字符串,然后返回一个仅首字母变成大写的字符串。
提示:利用切片操作简化字符串操作。
>>> def firstCharUpper(s): return s[0].upper() + s[1:]>>> print firstCharUpper('hello')Hello>>> print firstCharUpper('sunday')Sunday>>> print firstCharUpper('september')September
10、生成列表
要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],我们可以用range(1, 11):
但如果要生成[1x1, 2x2, 3x3, …, 10x10],可以用循环:
>>> L = []>>> for x in range(1, 11):... L.append(x * x)... >>> L[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
任务
请利用列表生成式生成列表 [1x2, 3x4, 5x6, 7x8, …, 99x100]
>>> print [x * (x+1) for x in range(1,100,2)][2, 12, 30, 56, 90, 132, 182, 240, 306, 380, 462, 552, 650, 756, 870, 992, 1122, 1260, 1406, 1560, 1722, 1892, 2070, 2256, 2450, 2652, 2862, 3080, 3306, 3540, 3782, 4032, 4290, 4556, 4830, 5112, 5402, 5700, 6006, 6320, 6642, 6972, 7310, 7656, 8010, 8372, 8742, 9120, 9506, 9900]
2、Python的注释:
#print('Hello World')"""print('Hello world')"""'''print('Hello world')'''
3、for循环
注意if和else后面加冒号
for each_flick in movies: print(each_flick)
4、while循环
注意while后面加冒号
count = 0while count< len(movies): print(movies[count]) count = count + 1
5、如和在字符串中包含一个双引号
print('"你好,世界。"') #用''将""包含起来print("\"你好,世界。\"") #使用\"转义字符
6、Python的标示符命名规则
以一个字母字符或一个下划线开头,接下来可以包含任意个字母字符、数字和/或者下划线。
Python是对字母大小写敏感的。msg和MSG是不同的变量
7、在列表中存储列表和遍历列表、利用isinstance()来检查Python中变量的的数据类型
注意:Pythopn中的if和else后面都是有:的
isinstance(变量名, 数据类型)会返回一个boolean值,当isinstance中的变量属于相应的变量名的时候,就返回true否则返回false,数据类型和,之间必须有一个空格。
movies = ["The Holy Grail",1975,"Terry Jones $ Terry Gilliam",91, ["Graham Chapman",["Michael Palin","John Cleese", "Terry Gillam","Eric Idle","Terry Jones"]]]print(movies[4][1][3])print()for each_item in movies: print(each_item)#含有条件判断的遍历,因为是三层嵌套的列表,所以,我们使用两个地方语句做层层判断for each_item in movies: if isinstance(each_item, list): for each_InnerItem in each_item: if isinstance(each_InnerItem, list): for nest_item in each_InnerItem: print(nest_item) else: print(each_InnerItem) else: print(each_item)
8、在Python中创造一个函数
使用
def 函数名(参数表): 函数体
这样的格式来完成函数的声明
实例:
print("调动函数来遍历多层列表:")def print_lol(the_list): for item in the_list: if isinstance(item, list): print_lol(item) else: print(item)print_lol(movies)
9、在因特网上分享你的代码
加注释,使用了三重引号而没有将字符串赋值给一个变量的时候,会被Python解释器认为是一个注释
如何查看你电脑上的默认搜索模块的路径?在IDLE中输入 import sys; sys.path(两句话放在一行),就能得到一个位置列表,Python解释器就是在这些位置搜索模块的。
10、安装模块的和预执行模块的方法,安装模块之后,如果修改了模块里的源码,就必须重新安装,这样很麻烦所以不建议这样做,建议使用预执行方法。
预执行方法、
在Python的安装目录里面找到Python35-32\Lib\site-packages中的dir.pth本文文件,在里面加上你想要设置的路径,例如:E:\Python_WrokSpace\package。然后把你写好的&&&.py文件放到E:\Python_WrokSpace\package中,再在IDLE或者Python编辑器里输入
import &&&&&&.函数名()
就能使用你自己导入模块里的方法了
安装模块、
1、创建名为&&&.py的Python文件
2、任意一处创建名为&&&的文件夹,将&&&.py放到其中
3、在文件夹中新建一个名为setup.py的Python文件
内容:
from distutils.core import setupsetup( name = 'nester', version = '1.0.0', py_modules = ['nester'], author = 'hfpython', author_email = '845523085@qq.com', url = 'http://www.onclick.ac.cn', description = 'A simple printer of nested lists', )
4、在&&&文件夹里面打开Dos窗口依次输入命令:C:\Users\Tony\AppData\Local\Programs\Python\Python35-32\python.exe setup.py sdist
C:\Users\Tony\AppData\Local\Programs\Python\Python35-32\python.exe setup.py install
5、在Python文件中导入&&&模块:在IDLE或者Python编辑器里输入
import &&& &&&.function()
就完成了对模块中函数的引入和调用了。
当然还可以通过
from module import functionfunction()
来调用模块中的函数,不过,这种不使用命名空间的调用方法会导致本地Python的同名方法被覆盖
11、启动先清屏IDLE的方法
在python.exe文件夹里面新建一个py文件,内容是
import os
os.system(“cls”);
os.system(“python.exe”);
保存之后用它来启动python.exe(IDLE)就是先执行了清屏操作
12、在Python中调用Java
第一步、编译
第二步、写Python
第三步、
import os
os.system(“java Java文件名”);
input()
- Head First Python 学习札记 2016-04-06
- Head First Python 学习札记 2016-04-07
- Head First Python 学习札记 2016-04-08
- Head First Python 学习札记 2016-04-09
- Head First Python 学习札记 2016-04-10
- 《Head First Python》学习笔记
- Head First Python学习总结
- Head First Python学习笔记
- Python学习笔记《Head first for Python》
- 《Head First Python》学习笔记 01
- head first series 学习记录(Python)
- head first python chap 5 学习笔记
- Head First Python 学习笔记-Chapter5:数据处理
- Head First Python学习笔记(1)
- Head First Python学习笔记(2)
- Head First Python 第三章 学习笔记
- Python学习札记 2016-04-24
- Head First Python
- 中控服务器accesstoken
- 001.【笔记】android socket 初步认识
- jquery插件的编写
- 消除Bitmap图片的锯齿
- Tsinsen A1134 Cantor表
- Head First Python 学习札记 2016-04-06
- [IOS]NSObject--用于传值
- Android 控件和其基本属性1
- placeholder 的兼容问题
- 腾讯4月3号机试
- 关于BooleanQuery在搜索中的用处
- Android 控件及其属性2
- 第66课:SparkSQL下Parquet中PushDown的实现学习笔记
- SDAU 搜索专题 16 Red and Black