Python基础语法

针对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])                四舍五入,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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值