@Python(1)-入门
笔者大学学习C++,自学C语言,实际使用的也多为C语言,最近买了一本明日科技的《Python编程入门》,此文为了记录Python的学习,记录学习过程中与C语言不同的地方
1)注释方面:
使用#和’’’ ‘’'对应c语言的//和/* */
2)代码缩进
Python对代码缩进要求十分严格,因为他使用代码缩进和:区分代码块,而不是{}。
3)for循环
for i in range(start,end,step):
print(i)
其中:i为迭代变量;start为计数起始值,可省略,省略从0开始;end为结束值,但不包括该值,不能省略;step为步长,可省略,省略后步长为1;
4)序列
Python的序列和数组有些像,但他是存放多个值的内存空间,功能更强
- 元素下标可为负数
- 可以任意切片(可截取,挑选序列中的元素)
- 序列可以相加(元素类型可以不同,谁加在前面谁在序列开头)
- 序列可以相乘((序列名*3)表示3个此序列相加)
- 可以检测单个元素是否在序列中(print(“元素” in 序列)返回True表示包含)
5)列表
列表可以实现遍历
- 通过for可以遍历列表元素,配合enumerate() 可以实现同事输出索引值和元素内容。
- 列表名.append(元素) 可以实现在列表末尾增加元素
列表名.extend(列表名) 可以实现将一个列表添加到另一个列表中 - 修改列表元素可根据索引修改 列表名[x]=" ",修改索引为x的元素值
- 删除元素,可通过 del 列表名[x],也可通过列表名.count(元素) 查看是否存在此元素,再通过列表名.remove(元素) 删除该元素
- 可通过 列表名.index(元素) 查找列表中第一次出现该元素的索引
- 列表名.sort(key,reverse) 表示对列表进行排序,key表示比较键,例如设置key=str.lower,表示排序时不区分大小写;reverse表示升序还是降序;列表名.sorted(key,reverse) 和这个一样,不过会生成副本,不改变原列表。
- 列表可推导生成,可根据表达式推到输出特定的列表
列表名称 =[对变量处理的表达式 遍历其他列表的for语句 筛选的条件表达式]
5)元组
元组是不可变的序列,用()表示
- tuple() 可以使用range() 直接创建元组
- 元组虽然不可改变,但是可以重新赋值,而且元组可以相加
- 元组访问速度比列表快,列表不能作为字典的键,但是元组可以
6)字典
字典和列表相似,也是可变序列,但是字典是无序的,通过”键-值对“的形式存放。
- 键是唯一的,必须不可变,但是值可以是多个
- 字典是可变的可随意嵌套
dictionary = {'key1‘:‘value1’,……}
• dict()可用作生成字典
dictionary = dict(zip(list1,list2)) #与zip()配合使用,第一个list为键,第二个为值
dictionary = dict(key1=value1,……)#可直接给定
dictionary = dict.fromkeys(list) #创建一个键名为列表元素的空字典
dictionary = dict.clear() #清空字典的所有元素N)常用内置函数
abs(x) #求绝对值
oct(x) #将x转换成8进制字符串
hex(x) #将x转换成16进制字符串
chr(x) #返回整数对应的ASCII码字符
ord(x) #返回x对应的ASCII值
Type(x) #可以返回变量类型
id(x) #可以返回变量的内存地址
len(sequence) #返回序列长度
max(sequence) #返回序列最大值
list(sequence) #将序列转换为列表
reversed(sequence) #反向序列中的元素
all(iterable) #集合中元素都为真时为真,或空为真
any(iterable) #集合中元素有一个真时为真,或空为假
cmp(x,y) #x<y,返回负数,x==y,返回0,x>y返回正数