python学习笔记(一)

老师课堂总结,禁止转载

函数汇总
函数功能
list.append(x)
在列表list尾部添加元素x
list.extend(list2)
在列表list尾部添加列表2
list.insert(i,x)
在列表list中第i个元素前添加元素x
list.remove(x)
删除从左往右第一个x 如果没有这样的元素,就会返回一个错误
del(list[i])
删除指定位置
del(list[n1:n2])
删除切片
del(list)
删除列表 列表不存在了
del(list[:])
删除列表所有元素 列表变为空表
list.pop()
返回最后一个元素
list.pop(i)
从链表的指定位置删除元素,并将其返回
list.index(x)
返回链表中第一个值为x的元素的索引,如果没有匹配的元素就会返回一个错误
len(list)
求list的长度
list1 + list2
合并输出
list2 * 3
列表重复3遍
list.count(x)
返回元素x在链表中出现的次数
list.sort()
升序排列对链表中的元素进行适当的排序 存储结构改变
list.reverse()
倒排链表中的元素  存储结构改变

注释 #, ' ' ‘, " " "

输出(简单控制台)

用print()在括号中加上字符串,就可以向屏幕上输出指定的文字print("Hello Zhengzhou!\n")

print()函数也可以接受多个字符串,用逗号“,”隔开,就可以连成一串输出:

print("We are "+"learning "+"simplest Python")

print()也可以打印整数,或者计算结果: print(125+225)
print()也可以在特定位置打印变量信息

num = 100+100     

print("100+100的结果是:%d" %num)

Python提供了一个input(),可以让用户输入字符串,并存放到一个变量里

name = input()
print("The input name is: "+name)

input()

从控制台接受到的输入信息最终都变为字符串类型变量
提前类型转换以适应不同情况的需要

number = input()
print("The input number is: "+number)
print("The input number is: %d" %int(number))

数据类型

一个字面意义上的常量的例子是如同5、1.23、9.25e-3这样的 数,或者如同‘This is a string’、“It‘s a string!”这样的字符串
在Python中有4种类型的数——整数、长整数、浮点数和复数
int, 3L, float, complex(a,b)/a+bj

number = input()
print("The input number is: %f" %float(number))

字符串是字符的序列。Python中的字符串可以如下表示:
使用单引号(‘):可以用单引号指示字符串,就如同’Quote me on this‘这样。所有的空白,即空格和制表符都照原样保留。 
使用双引号(“):在双引号中的字符串与单引号中的字符串的使用完全相同,例如”What‘s your name?“。

缩进

空白在Python中是重要的。事实上行首的空白是重要的。它称为缩进。在逻辑行 首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。
这意味着同一层次的语句必须有相同的缩进。每一组这样的语句称为一个块。错误的缩进会引发错误 
不同于C/C++、Java用的是{}
不要混合使用制表符和空格来缩进,因为这在跨越不同的平台的时候,无法正常工作。强烈建议在每个缩进层次使用 单个制表符 或 两个或四个空格 。使用常用的python IDE可以自动补足,为初学者提供方便。

if x:
    if y:
        statements
else:
    statements//else匹配原则  根据if else 在哪里列

运算符名称说明例子

+ 两个对象相加3 + 5得到8。'a' + 'b'得到'ab'。
- 得到负数或是一个数减去另一个数-5.2得到一个负数。50 - 24得到26。
* 两个数相乘或是返回一个被重复若干次的字符串2 * 3得到6。'la' * 3得到'lalala'。
** 返回x的y次幂 3 ** 4得到81(即3 * 3 * 3 * 3)
/ x除以y4/3得到1(整数的除法得到整数结果)。4.0/3或4/3.0得到1.3333333333333333
// 取整除 返回商的整数部分 4 // 3.0得到1.0
% 取模 返回除法的余数 8%3得到2。-25.5%2.25得到1.5
<< 左移 把一个数的比特向左移一定数目(每个数在内存中都表示为比特或二进制数字,即0和1)2 << 2得到8。——2按比特表示为10
>> 右移 把一个数的比特向右移一定数目11 >> 1得到5。——11按比特表示为1011,向右移动1比特后得到101,即十进制的5。

位操作

运算符 名称说明例子
& 按位与 数的按位与5 & 3得到1。
| 按位或 数的按位或5 | 3得到7。
^ 按位异或 数的按位异或 5 ^ 3得到6
~ 按位翻转 x的按位翻转是-(x+1) ~5得到6。

运算符 名称说明例子
not 布尔“非” 如果x为True,返回False。如果x为False,它返回True。 x = True; not y返回False。
and 布尔“与” 如果x为False,x and y返回False,否则它返回y的计算值。 x = False; y = True; x and y,由于x是False,返回False。在这里,Python不会计算y,因为它知道这个表达式的值肯定是False(因为x是False)。这个现象 称为短路计算。
or 布尔“或” 如果x是True,它返回True,否则它返回y的计算值。 x = True; y = False; x or y返回True。

运算符 描述
lambdaLambda表达式
or 布尔“或”
and 布尔“与”
not x 布尔“非”
in,not in成员测试
is,is not 同一性测试
<,<=,>,>=,!=,== 比较
| 按位或
^ 按位异或
& 按位与
<<,>> 移位
+,- 加法与减法
*,/,% 乘法、除法与取余
+x,-x 正负号
~x 按位翻转
** 指数
x.attribute 属性参考
x[index]下标
x[index:index] 寻址段
f(arguments...) 函数调用
(experession,...) 绑定或元组显示
[expression,...] 列表显示
{key:datum,...} 字典显示
'expression,...' 字符串转换

字符串基本操作

+字符串合并
*字符串重复
字符串是字符的有序集合,能够通过其位置来获得他们的元素
Python中字符串中的字符是通过索引提取的
索引从0开始,但不同于C语言的是可以取负值,表示从末尾提取,最后一个是-1,前一个是-2,依次类推,认为是从结束处反向计数

字符统计个数 len()函数 

[0:6)开区间

[0:]到达最大长度

[0:-1]最后一个不取
[:]等价于[0:]

从字符串中分离提取了一部分内容(子字符串);可以用于提取部分数据,分离出前、后缀等场合。

当使用一对以冒号分隔的偏移索引字符串这样的序列对象时,Python就返回一个新的对象,其中包含了以这对偏移所标识的连续的内容。
左边的偏移被取作是下边界(包含下边界在内),而右边的偏移被认为是上边界(不包括上边界在内)。
如果被省略上下边界的默认值分别对应为0和分片对象的长度

>>> s = 'spam'
>>> s[1:3]
'pa'
>>> s[1:]
'pam'
>>> s[:-1]#最后一个不输出
'spa'
>>> s[:]#全输出
'spam'

索引(s[i])获取特定偏移的元素
第一个元素的偏移为0
负偏移索引意味着从最后或右边反向进行计数
s[0]获取第一个元素
s[-2]获取倒数第二个元素
分片(s[i:j])提取对应的部分作为一个序列
上边界并不包含在内
分片的边界默认为0和序列的长度,如果没有给出的话
s[1:3]获取从偏移为1开始,直到但不包含偏移为3的元素
s[1:]获取了从偏移为1直到末尾之间的元素
s[:3]获取从偏移为0直到但不包含偏移为3的元素
s[:-1]获取从偏移为0直到但不包含最后一个元素之间的元素
s[:]获取从偏移为0直到末尾之间的所有元素

列表

可变长度、异构以及任意嵌套

异构:列表的元素也可以是任意属性,可以使列表 a=[1,2.3,[1,2,3]]

和字符串不同,列表可以根据需要增长或缩短(长度可变),并且可以包含任何类型的对象,并支持任意的嵌套

可变序列

每个元素属性都可以不同
列表支持在原处的修改,也可以响应所有针对字符串序列的操作,如索引、分片以及合并。实际上,序列操作在列表与字符串中工作方式相同。唯一区别是:当合并或分片应用于列表时,返回新的列表而不是新的字符串。当然,支持某些字符串不支持的操作

末尾添加list.append(x)

把一个元素添加到列表的结尾,相当于a[len(a):] = [x]向列表尾部追加一个新元素,列表只占一个索引位,在原有列表上增加

list.append(1)#追加了一个元素,列表长度+1
list.append([1,2,3]) #追加了一个列表,列表长度+1

list.extend(list2)

通过添加指定列表的所有元素来扩充列表,相当于a[len(a):]=list2;向列表尾部追加一个列表,将列表中的每个元素都追加进来,在原有列表上增加

指定位置添加list.insert(i,x)

在指定位置插入一个元素。第一个参数是准备插入到其前面的那个元素的索引,例如a.insert(0,x)会插入到整个链表之前,而a.insert(len(a), x)相当于a.append(x)。#对象操作

删除从左往右第一个x   list.remove(x)

删除链表中值为x的第一个元素。如果没有这样的元素,就会返回一个错误

删除列表元素del()

del[i] 删除指定位置

del[0:2] 删除[0,1]切片

del[0:] 从第一个元素开始删除

del[:]  全部删除

删除指定位置list.pop(i)

从链表的指定位置删除元素,并将其返回。如果没有指定索引,a.pop()返回最后一个元素#类似弹出栈顶元素#。元素随即从链表中被删除

pop(0) 模拟队列操作

pop()   模拟栈操作

返回从左往右第一个x的索引 list.index(x)

返回链表中第一个值为x的元素的索引。如果没有匹配的元素就会返回一个错误

基本操作

操作解释
L1=[] 一个空的列表
L2 = [0, 1, 2, 3] 四元素列表
L3 = [‘abc’,10,[‘def’, ‘ghi’] 嵌套列表
L2[i] 索引
L3[i][j]索引的索引#列表的元素是列表,引用列别表元素的元素
L2[i:j] 分片
len(list2) 求长度
list1 + list2合并#把新加入的列表打散,一个一个元素加入L1表中
list2 * 3重复

list.count(x)

返回x在链表中出现的次数

list.sort()

升序排列对链表中的元素进行适当的排序

list.reverse()

倒排链表中的元素
可以用del删除列表某个索引的元素或切片元素

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值