python主要知识点(与Java的区别)


语法:
1、乱码: 注意: Python3.X 源码文件默认使用utf-8编码,所以可以正常解析中文,无需指定 UTF-8 编码。
#!/usr/bin/python
# -*- coding:UTF-8 -*-  或者 #coding=utf-8  或  #coding=UTF-8

print '你好'

2、Python 标识符

在python里,标识符有字母、数字、下划线组成。

在python中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。

python中的标识符是区分大小写的。

以下划线开头的标识符是有特殊意义的。以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用"from xxx import *"而导入;

以双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如__init__()代表类的构造函数。

3、行和缩进

学习Python与其他语言最大的区别就是,Python的代码块不使用大括号({})来控制类,函数以及其他逻辑判断。python最具特色的就是用缩进来写模块。

缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。如下所示:

IndentationError: unexpected indent 错误是python编译器是在告诉你"Hi,老兄,你的文件里格式不对了,可能是tab和空格没对齐的问题",所有python对格式要求非常严格。

如果是 IndentationError: unindent does not match any outer indentation level错误表明,你使用的缩进方式不一致,有的是 tab 键缩进,有的是空格缩进,改为一致即可。

因此,在Python的代码块中必须使用相同数目的行首缩进空格数。

建议你在每个缩进层次使用 单个制表符  两个空格  四个空格 , 切记不能混用

4、变量赋值

每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。

(1)多个变量赋值

Python允许你同时为多个变量

赋值。例如:

a = b = c = 1

以上实例,创建一个整型对象,值为1,三个变量被分配到相同的内存空间上。

您也可以为多个对象指定多个变量。例如:

a, b, c = 1, 2, "john"

以上实例,两个整型对象1和2的分配给变量a和b,字符串对象"john"分配给变量c。

(2)注意事项

a,b,c=1,2
Traceback (most recent call last): File "/usercode/file.py", line 12, ina,b,c=1,2 ValueError: need more than 2 values to unpack
必须都赋值,才可以生效。

5、标准数据类型
number:int long,float,complex, 但是没有double

6、Python字符串

python的字串列表有2种取值顺序:

  • 从左到右索引默认0开始的,最大范围是字符串长度少1
  • 从右到左索引默认-1开始的,最大范围是字符串开头

如果你的实要取得一段子串的话,可以用到变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾。最大范围不包括上边界

加号(+)是字符串连接运算符,星号(*)是重复操作

#!/usr/bin/python
# -*- coding: UTF-8 -*-

str = 'Hello World!'

print str # 输出完整字符串
print str[0] # 输出字符串中的第一个字符
print str[2:5] # 输出字符串中第三个至第五个之间的字符串
print str[2:] # 输出从第三个字符开始的字符串
print str * 2 # 输出字符串两次
print str + "TEST" # 输出连接的字符串

以上实例输出结果:

Hello World!
H
llo
llo World!
Hello World!Hello World!
Hello World!TEST

7、Python列表

List(列表) 是 Python 中使用最频繁的数据类型。

列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(所谓嵌套)。

列表用[ ]标识。是python最通用的复合数据类型。看这段代码就明白。

列表中的值得分割也可以用到变量[头下标:尾下标],就可以截取相应的列表,从左到右索引默认0开始的,从右到左索引默认-1开始,下标可以为空表示取到头或尾。

加号(+)是列表连接运算符,星号(*)是重复操作。

#!/usr/bin/python
# -*- coding: UTF-8 -*-

list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']

print list # 输出完整列表
print list[0] # 输出列表的第一个元素
print list[1:3] # 输出第二个至第三个的元素 
print list[2:] # 输出从第三个开始至列表末尾的所有元素
print tinylist * 2 # 输出列表两次
print list + tinylist # 打印组合的列表
list=[123,345,'ege',['123m44r',445,666],'gfdee']
print list # 输出完整列表

以上实例输出结果:

['abcd', 786, 2.23, 'john', 70.2]
abcd
[786, 2.23]
[2.23, 'john', 70.2]
[123, 'john', 123, 'john']
['abcd', 786, 2.23, 'john', 70.2, 123, 'john']
[123, 345, 'ege', ['123m44r', 445, 666], 'gfdee']

8、 Python元组

元组是另一个数据类型,类似于List(列表)。

元组用"()"标识。内部元素用逗号隔开。但是元素不能二次赋值,相当于只读列表。


Python的元组与列表类似,不同之处在于元组的元素不能修改。

元组使用小括号,列表使用方括号。

元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

创建空元组

tup1 =();

元组中只包含一个元素时,需要在元素后面添加逗号

tup1 =(50,);
(1)修改元组

元组中的元素值是不允许修改的,但我们可以对元组进行连接组合,如下实例:

# 创建一个新的元组
tup3 = tup1 + tup2;
(2)删除元组

元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组

del tup;
(3)无关闭分隔符

任意无符号的对象,以逗号隔开,默认为元组,如下实例:


9、Python 字典(Dictionary)


key-values样式


字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

d ={key1 : value1, key2 : value2 }

键必须是唯一的,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。


(1)修改字典

向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例:

dict['Age']=8;# update existing entry
dict['School']="DPS School";# Add new entry
(2)删除字典元素

能删单一的元素也能清空字典,清空只需一项操作。

显示删除一个字典用del命令,如下实例:

del dict['Name'];# 删除键是'Name'的条目
dict.clear();# 清空词典所有条目del dict ;# 删除词典,用del后字典不再存在


10、循环使用 else 语句

在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。(continue中断不算)

#!/usr/bin/python

count =0while count <5:print count," is  less than 5"
   count = count +1else:print count," is not less than 5"

以上实例输出结果为:

0is less than 51is less than 52is less than 53is less than 54is less than 55isnot less than 5
内置函数 len() 和 range(),函数 len() 返回列表的长度,即元素的个数。 range返回一个序列的数

无do ...while

for iterating_var in sequence: 
    statements(s)

11、Python pass 语句

Python pass是空语句,是为了保持程序结构的完整性。

passass 不做任何事情,一般用做占位语句。

Python 语言 pass 语句语法格式如下:

pass
Python 数字:
转换,数学公式
12、 Python转义字符

在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符。如下表:

转义字符描述
\(在行尾时)续行符
\\反斜杠符号
\'单引号
\"双引号
\a响铃
\b退格(Backspace)
\e转义
\000
\n换行
\v纵向制表符
\t横向制表符
\r回车
\f换页
\oyy八进制数,yy代表的字符,例如:\o12代表换行
\xyy十六进制数,yy代表的字符,例如:\x0a代表换行
\other其它的字符以普通格式输出
   
   

(1)Python字符串格式化
   
   

Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。


print "My name is %s and weight is %d kg!" % ('Zara', 21)      
string.join(seq)
student=['1d','d2','3','li;/','kkjhkk']
print "ss".join(student)
1dssd2ss3ssli;/sskkjhkk

student中的元素必须都是字符串,整型的不可以

string.partition(str)
有点像 find()和 split()的结合体,从 str 出现的第一个位置起,把 字 符 串 string 分 成 一 个 3 元 素 的 元 组 (string_pre_str,str,string_post_str),如果 string 中不包含str 则 string_pre_str == string.


s='21rrrrrffffff'
print s.partition('dd')
print s.partition('rr')
('21rrrrrffffff', '', '')
('21', 'rr', 'rrrffffff')

(3)增加元素

A.新加入一个元素append

append方法添加。它在原列表末尾添加一个 item, item类型可以是任意的

l = [1, 2, 3]
l.append('hello')   #得到 [1, 2, 3, 'hello']
l.append(['hello'])   #得到 [1, 2, 3, 'hello', ['hello']]

B.插入一个元素insert

l1 = [1, 2, 3]
l1.insert(1,9)    #[1, 9, 2, 3]   

C.两个列表相加两种方式第一种

l1 = [1, 2, 3]
l3 = l1 + [4, 5, 6]  #这种方式,l1不变,二者返回新的列表,当列表很长时,会消耗大量内存

第二种(必须接收一个参数,且是另一个列表)

l1.extend([4, 5, 6])  #直接扩增l1

等价的做法

l1 += [4,5,6]
(4)删除元素

A.按item的索引或切片删除

  
  
l1 = [1, 2, 3, 4, 5, 6]
del l1[0] #得到[2, 3, 4, 5, 6]
del l1[0:2] #得到[4, 5, 6]

B.按item的值进行删除

  
  
l1 = [1,2,3,1,2]
l1.remove(1) #得到[2,3,1,2]

若是remove对应值查无,将跑ValueError

C.删除某个位置并返回该位置值

pop若是不传位置参数,默认删除列表最后一个元素

  
  
l1 = [1, 2, 3, 4, 5]
a = l1.pop(1) #a=2
b = l1.pop() #a=5
(5)修改元素

对指定索引进行赋值操作

A.某个元素

  
  
l1 = [1, 2, 3, 4]
l1[0] = 0 #[0,2,3,4]

B.某一段元素

  
  
l1= [1,2,3,4]
l1[0:2] = [7,8,9] #[7,8,9,3,4]
1[:] = [] #清空了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值