BIF —————————— 内置函数,Python的内置函数,就比如说print()、isinstence()这样的函数就是Python的内置函数,这些内置函数的命名空间并不是 _ main _ 而是 _ builtins _
Python列表 —————— 是一个高层集合,原本设计为要存储一个“相关事物”的集合。列表并不关心这些事物的类型是什么,因为列表的存在只是为了提供一种机制,从而可以采用列表的形式存储数据。
>>> L = ['Michael', 100, True]
可以用 -1 这个索引来表示最后一个元素:
类似的,倒数第二用 -2 表示,倒数第三用 -3 表示,倒数第四用 -4 表示:
>>> L[-1] = 'Paul'
取一个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个数取一个数
对于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]
字符串 ‘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
要生成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]
#print('Hello World')
"""print('Hello world')"""
'''print('Hello world')'''
注意if和else后面加冒号
for each_flick in movies:
print(each_flick)
注意while后面加冒号
count = 0
while count< len(movies):
print(movies[count])
count = count + 1
print('"你好,世界。"') #用''将""包含起来
print("\"你好,世界。\"") #使用\"转义字符
以一个字母字符或一个下划线开头,接下来可以包含任意个字母字符、数字和/或者下划线。
Python是对字母大小写敏感的。msg和MSG是不同的变量
注意: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)
使用
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)
加注释,使用了三重引号而没有将字符串赋值给一个变量的时候,会被Python解释器认为是一个注释
如何查看你电脑上的默认搜索模块的路径?在IDLE中输入 import sys; sys.path(两句话放在一行),就能得到一个位置列表,Python解释器就是在这些位置搜索模块的。
在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 setup
setup(
name = 'nester',
version = '1.0.0',
py_modules = ['nester'],
author = 'hfpython',
author_email = '[email protected]',
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 function
function()
来调用模块中的函数,不过,这种不使用命名空间的调用方法会导致本地Python的同名方法被覆盖
在python.exe文件夹里面新建一个py文件,内容是
import os
os.system(“cls”);
os.system(“python.exe”);
保存之后用它来启动python.exe(IDLE)就是先执行了清屏操作
第一步、编译
第二步、写Python
第三步、
import os
os.system(“java Java文件名”);
input()