您的位置:首页 > 编程语言 > Python开发

Python基础语法

2016-09-02 16:41 204 查看
针对python3以上。

标识符:第一个字符必须是字母或下划线‘_’。其他部分可以是字母数字下划线。

大小写敏感。

注释:注释以#开头。

多行注释:用三个单引号(''')或者三个双引号(""")将注释括起来

eg: #注释

'''注释

注释'''

"""注释

注释"""

连接符‘ \ ’:连接多个物理行。

(python通常是一行一条语句,但如该语句很长,可使用反斜杠连接)

eg:

display="helloworld helloworld helloworld"

==>

display = "helloworld \

helloworld \

helloworld"

用户输入input:

eg:

input("请输入一个值,输入完毕按enter退出")

用户输出print:

eg:

print("您刚刚输入的值为:",x)

同一行中使用多条语句时,语句之间使用分号“ ; ”分隔。

Python中的变量不需要申明,也没有类型申明(变量类型看所赋的值,赋什么值就是什么类型)。每个变量在使用前必须赋值,赋值后变量才会被创建。

多个变量赋值:

eg:

a=b=c=6

a,b,c = 6,8,"hello"

数据类型:

数字、字符串、列表(List)、元组(Tuple)、集合(Sets)、字典(Dictionary)

数字:(不可变)

Python3 支持 int、float、bool、complex(复数)

内置的type()函数可以用来查询变量所指的对象类型。

eg:

a=100; b="hello"

print(type(a),type(b))

可以使用del语句删除一些对象引用:del a,b

运算符:

+加、-减、*乘、/除,得到的是一个浮点数、//除,得到的是一个整数、%取余、**乘方

(Python的复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型)

字符串:用单引号或双引号括起来 (元素不可变)

索引值以
0 为开始值,-1 为从末尾的开始位置。

eg:

str='hello'

str[0]是h,str[1]是e...

str[-1]是o,str[-2]是l...

字符串截取:变量[start : end]
加号 (+) 是字符串的连接符
星号 (*) 表示复制当前字符串,紧跟的数字为复制的次数
eg:
str='hello'

print (str) # 输出字符串

print (str[0:-1]) # 输出第一个个到倒数第二个的所有字符

print (str[0:]) # 输出从第一个开始到最后的所有字符

print (str[0]) # 输出字符串第一个字符

print (str * 2) # 输出字符串两次

print (str + "TEST") # 连接字符串

结果如下图所示:



反斜杠(\)转义特殊字符,如不想让反斜杠发生转义,可以在字符串前面添加一个
r,表示原始字符串:

eg:
print('hello\nhello')
>>>hello

hello

print(r'hello\nhello')
>>>hello\nhello

Python的引号:
单引号'、双引号"、三引号'''或""" 标识字符串常量。
单引号双引号使用完全相同(一行)。
三引号可以指定多行字符串:
eg:
str=""" helloworld
helloworld
helloworld """

列表(List):(元素可以改变)有序

列表中元素的类型可以不相同,它支持数字、字符串,还可以包含列表(即嵌套)。

列表:写在方括号[ ]之间、用逗号分隔的元素列表:

eg:list=['abc',666,['a','b',6],'z']

列表可以被索引和截取,列表被截取后返回一个包含所需元素的新列表,格式如下:

列表截取:变量[start : end : step] (start、end表示截取元素的下标,step截取步长)

一些列表使用例子如下:

eg:

list=['abc',666,['a','b',6],'z']

print (list) # 输出列表

print (list[0:-1]) # 输出第一个到倒数第二个的列表元素

print (list[0:]) # 输出从第一个开始的所有列表元素

print (list[0]) # 输出第一个列表元素

print (list * 2) # 输出两次列表

print (list + ['a','b','s']) # 连接列表

结果如下图所示:



list元素可以改变:

eg:

list=['abc',666,['a','b',6],'z']

list[2]='s6g'

print(list)

>>>['abc', 666, 's6g', 'z']

注:字符串不可改变



元组(Tuple):(元素不可修改)

与列表类似,但元素不可改变。

元组中的元素类型也可以不相同。

元组:写在小括号( )里,元素之间用逗号隔开。

一些元组使用例子如下:

eg:

tuple=(666,'abcde',['a','b',6],'z',('s',6),'g')

print (tuple) # 输出元组

print (tuple[0:-1]) # 输出第一个到倒数第二个的元组元素

print (tuple[0:]) # 输出从第一个开始的所有元组元素

print (tuple[0]) # 输出第一个元组元素

print (tuple* 2) # 输出两次元组

print (tuple + ('a','b','s')) # 连接元组

结果如下图:



构造仅包含0个或1个元素的元组语法上比较特殊:

tuple1 = ( ) # 空元组

tuple2 = (6,) # 元组仅包含一个元素,需要在元素后添加逗号

总结:string、list和tuple都属于sequence(序列)。

string和tuple元素不可修改,list可以修改。

string、list和tuple都可以被索引和切片截取。都可使用+拼接

string使用' '或" "括起来,元素间逗号隔开。

list写在[ ]之间,元素间逗号隔开。

tuple写在( )之间,元素间逗号隔开。

集合(Set):无序不重复元素的序列。

基本功能是进行成员关系测试和删除重复元素。

使用大括号{}或者 set()函数创建集合。

注:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

eg:

hobby={'painting','travel','singing','travel'}

#成员测试

if('painting' in hobby) :

print('1') #painting在集合中输出1

else :

print('2') ##painting不在集合中输出2

print(hobby) # 输出集合,重复的元素被自动移除

# set可以进行集合运算

s1 = set('abc135689abc')

s2= set('b2346789cde')

print(s1) # 输出s1集合,可见重复的元素被自动移除了

print(s2) # 输出s2集合

print(s1 - s2) # 输出s1和s2的差集 (可视作s1和s2相同元素相互抵消了)

print(s1 | s2) # 输出s1和s2的并集 (s1和s2元素合并,重复元素自动移除了)

print(s1 & s2) # 输出s1和s2的交集 (s1和s2中同时存在的元素)

print(s1 ^ s2) # 输出s1和s2中不同时存在的元素

结果如下图:



字典(Dictionary):无序的对象集合

字典:一种映射类型,字典用{ }标识,是一个无序的键(key) : 值(value)对集合。

字典当中的元素是通过键来存取。

键(key)必须使用不可变类型。

同一个字典中,键(key)必须是唯一的。

dict={ } #创建一个空字典

dict={ 'a':1,'b':2,'c':3,'d':'s' }

dict['z']=6

print(dict['z'],dict['d']) #输出键为'z'和'd'的值

print(dict.keys()) #输出字典的所有键

print(dict.values()) #输出字典的所有值

print(dict) #输出完整字典 可见输出结果是无序的

结果如下图:



还可以利用dict()函数创建字典

eg:

d1=dict([('a',1),('b',2),('c',3),('d',4)])

print(d1)

d2=dict(e=5,f=6,g=7,h=8)

print(d2)

结果如下:

{'d': 4, 'a': 1, 'c': 3, 'b': 2}

{'h': 8, 'g': 7, 'f': 6, 'e': 5}

python数据类型转换

函数 描述

int(x [,base ]) 将x转换为一个整数 (base表示x按什么进制转换,可有可无)

long(x [,base ]) 将x转换为一个长整数 (同上,默认十进制)

float(x) 将x转换到一个浮点数

complex(real [,imag ]) 创建一个复数 (real+imag*j 如real为字符串,则不需要imag)

real:int, long, float或字符串;imag: int, long, float;

str(x ) 将对象 x 转换为字符串

repr(x ) 将对象 x 转换为表达式字符串

eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象

tuple(s ) 将序列 s 转换为一个元组

list(s ) 将序列 s 转换为一个列表

set(s) 转换为可变集合

dict(d) 创建一个字典。d 必须是一个序列 (key,value)元组。

frozenset(s) 转换为不可变集合

chr(x ) 将一个整数转换为一个字符

unichr(x ) 将一个整数转换为Unicode字符

ord(x ) 将一个字符转换为它的整数值

hex(x ) 将一个整数转换为一个十六进制字符串

oct(x ) 将一个整数转换为一个八进制字符串

序列的一些操作:

操作 描述

s + r 序列连接

s * n , n * s s的 n 次拷贝,n为整数

s % d 字符串格式化(仅字符串)

s[ i ] 索引

s[ i :j ] 切片

a in b , a not in b 从属关系

for x in y : 迭代

len(s) 长度

min(s) 最小元素

max(s) 最大元素

del s[ i ] 删除列表中一个元素

del s[ i: j ] 删除列表中一个片段

部分数值操作:

x << y 左移

x >> y 右移

x & y 按位与

x | y 按位或

x ^ y 按位异或 (exclusive or)

~x 按位翻转

x // y 除(得到的结果为整数)

x ** y 乘方 (xy )

x % y 取模 (x mod y )

~x ~x=-(x+1)

abs(x ) 绝对值

divmod(x ,y ) 返回 (int(x / y ), x % y )

pow(x ,y [,modulo ]) 返回 x的y次方再对modulo取余 ==>(x**y)%modulo

round(x ,
) 四舍五入,n为小数点位数

成员运算符:

in if (x in y): x 在 y 序列中 , 如果 x 在 y 序列中返回 True。

not in if (x not in y):x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。

身份运算符:

is is是判断两个标识符是不是引用自一个对象

x is y, 如果 id(x) 等于 id(y) , is 返回结果 1

is not is not是判断两个标识符是不是引用自不同对象

x is not y, 如果 id(x) 不等于 id(y). is not 返回结果 1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: