Python学习记录1

来源:互联网 发布:网络爱国青年叫什么 编辑:程序博客网 时间:2024/06/06 05:11

    • 交互式解释器
    • 模块
    • python序列
        • 索引提取
        • 序列运算
        • 空列表
        • 成员资格
        • 长度最大值最小值函数
    • 列表
        • list和join函数

交互式解释器

’ >>> ‘为提示符。

语句是用来告诉计算机他们应该做什么的指令。


模块

可以把模块理解为导入到Python中来增强其功能的扩展。需要用import命令导入。在导入模块之后,按照“模块.函数”的格式来使用这个模块中的函数。

import mathmath.floor(32.9)

在确定自己不会导入多个同名函数(从不同的模块中导入)的情况下,可以用另一种格式来导入模块及调用函数。

from math import sqrtsqrt(9)

另外,还可以对函数名再命名,然后调用相对应的变量名。

foo=math.sqrtfoo(4)

处理复数的模块为cmath

import cmathcmath.sqrt(-1)

python序列

Python包含6中内建的序列,分别为:列表、元组、字符串、Unicode字符串、buffer对象、xrange对象。

列表和元组的主要区别在于,列表可以修改,元组则不能。

列表的各个元素通过逗号分开,写在方括号内,

edward=['Edward Gumy',42]john=['John Smith',20]database=[edward,john]

python之中还有一种名叫容器(container)的数据结构。容器基本上是包含其他对象的任意对象。序列(6种)和映射(如字典)是两类主要的容器。序列的每个元素都有自己的编号,而映射中的每个元素则有一个名字(也称为键)。还有既不是序列也不是字典的容器,如集合(set).

索引提取

对于序列,可以通过索引一个一个的引用,索引编号从0开始,一次加1计数。也可以从最后一个元素起(-1)一次减一来计数。

# 根据给定的年月日以数字的形式打印日期months = [    'January', 'February', 'March', 'April', 'May', 'June', 'July',    'August', 'September', 'October', 'November', 'December']# 以1-31的数字作为结尾的列表endings = ['st', 'nd', 'rd'] + 17 * ['th'] \          + ['st', 'nd', 'rd'] + 7 * ['th'] \          + ['st']year = input('Year: ')month = input('Month(1-12): ')day = 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)

也可以使用分片操作来访问一定范围内的元素,分片通过冒号隔开的两个索引号来实现。注意分片操作时,第一个索引号在征引范围之内,第二个在征引范围之外。

>>>number=[1,2,3,4,5,6,7,8,9,10]>>>number[3:6][4,5,6]>>>number[0,1]1>>>number[-3:][8,9,10]>>>number[:3][1,2,3]>>>number[:][1,2,3,4,5,6,7,8,9,10]

python的分片步长隐含为1,但是可以自己设定。步长还可以是负数(但是不能为0),当步长为正数时,从头到尾安步长提取序列,为负数的时候从尾至头安步长提取序列。

#  对http:\\www.something.com形式的URL进行分割url = input('Please enter the URL: ')domain = url[11:-4]print('Dominate name:'+domain)
>>>number[1,2,3,4,5,6,7,8,9,10]>>>number[0:10:2][1,3,5,7,9]>>>number[::-2][10,8,6,4,2]

序列运算

  • 序列加法:加法运算可以将两个类型相同的序列连接
  • 序列乘法:用数字x乘以一个序列会生成一个新序列,在新序列中,原来序列被重复x次。
>>>[1,2,3]+[4,5,6,7,8,9][1,2,3,4,5,6,7,8,9]>>>[1,2,3]+'word'error...>>>[1,2,3]*5[1,2,3,1,2,3,1,2,3,1,2,3,1,2,3]

空列表

创建空列表有几种办法:

  • 简单的用两个括号表示([]),或者用[0]*10
  • 用python内建函数none来表示。none表示什么都没有的意思。
# 以正确的宽度在居中的盒子内打印一个句子# 注意整数除法运算只能在Python2.2以及后续版本,在之前的版本中只能使用普通除法sentence = input('Sentence: ')screen_width = 80text_width = len(sentence)box_width = text_width + 6left_margin = (screen_width-box_width)//2printprint(''* left_margin + '+' + '-'* (box_width-2) + '+')print(''* left_margin + '|' + ' '* text_width + '|')print(''* left_margin + '|' +sentence + '|')print(''* left_margin + '|' + ' '* text_width  + '|')print(''* left_margin + '+' + '-'* (box_width-2) + '+')print

成员资格

为了检查一个元素是否属于某个序列,可以利用in运算符。该运算检查某个条件是否为真,然后返回相应的值:条件为真返回true,条件为假返回false。这样的运算叫做布尔运算,返回的值叫做布尔值

database = [    ['albert' ,'1234'] ,['dilbert' ,'4242'] ,['smith' ,'7524'] ,['joines' ,'9843']]username = input('User name: ')pin = input('PIN code: ')if[username,pin] in database:print('Access granted')

长度、最大值、最小值函数

函数名 功能 len 返回序列中所包含元素的数量 min 返回序列中的最小值 max 返回序列中的最大值

列表

列表不同于元组和字符串的地方:列表的内容是可以改变的。

list和join函数

函数 功能 list 将字符串转化为序列 join 用来连接序列中的元素
>>>list('Hello!')['H','e','l','l','o','!']''.join(somelist)   # somelist是需要转换的列表。>>>dirs='','usr','bin','env'>>>'/'.join(dirs)'/usr/bin/env'>>>print('C:'+'\\'.join(dirs))C:\usr\bin\env

列表的基本操作包括:元素赋值、元素删除、分片赋值、列表方法。

  • 元素赋值:利用索引直接对对应元素赋值即可。
  • 删除元素:直接利用del函数删除。删除后,列表的元素相对应的减少。
  • 分片赋值:利用冒号运算符分片赋值,注意分片赋值时可以用不同长度的序列替换原来分片。也可以插入新元素,也可以用来删除某一部分的序列。
>>>x=[1,1,1]>>>x[1]=2>>>x[1,2,1]>>>y=[1,2,3,4,5,6]>>>del y[2]>>>y[1,2,4,5,6]>>>name=list('perl')>>>name['p','e','r','l']>>>name[2:]=list('ython')>>>name['p','y','t','h','o','n']>>>name[1:3]=[]>>>name['p','h','o','n']>>>name[1:1]=[1,2,3]>>>name['p',1,2,3,'h','o','n']
  • 列表方法:方法是一个与某些对象紧密联系的函数,对象可能是列表、数字,也可能是字符串或者其他类型的对象。一般来说,方法可以这样调用:

对象.方法(参数)

针对于列表所提供的方法有:

方法 功能 备注 append 用于在列表末尾追加新的对象 直接修改原序列,而不是返回新序列 count 统计某个元素在列表中出现的次数 无 extend 可以在列表的某位一次性追加另一个序列中的多个值 extend修改原有列表,而join返回新列表 index 找出序列中某个值第一个匹配项的索引位置 如果该元素不在序列内,使用该方法会报错 insert 用于将对象插入列表中 可以使用分片赋值代替此功能 remove 移除列表中某个值的第一个匹配项 只是第一次出现的值被移除,不在列表中的值会出现报错 reverse 将序列中的值反向存放 该方法改变列表但是没有返回值 sort 在原位置对列表进行排序 该函数修改原序列,而不返回值。 pop 移除列表中指定的元素,并返回该元素 默认为最后一个
0 0
原创粉丝点击