Python 基础语法汇总

2017-10-31  本文已影响0人  annyecho

1、打印:print(100000)

print("字符串输出")

2、获取输入:input("输入提示:")

3、导入模块:

a、import math

这种方式使用math库中的函数方式:math.floor(3.0)

b、如果不想在floor前面加上math前缀,可以用这种加载方式:from math import floor,那么上述语句可以使用:

floor(3.0)

4、注释:

#表示单行注释

‘’‘多行注释’‘’ """多行注释"""前后都是三个单引号或者三个多引号

#coding=utf-8编码标注

5、转义字符:‘\’

6、字符串拼接:'+'

7、数字类型:

int float bool

complex(复数),Python3中没有Long,而2中有

8、str和repr的差别:

str出来的值是给人看的字符串,repr出来的值是给机器看的,括号中的任何内容出来后都是在它之上再加上一层引号

print(str("Echo"))的结果是:'Echo'

print(repr("Echo"))的结果是:Echo

9、打印跨越多行的字符串:

print('''多行字符串''')或者将字符串头尾的单引号改成双引号

10、原始字符串:

在字符串引号的前面加上一个r(和C#中的@一个意思),如:

print(r"第一行\n第二行")因为r,在第一行和第二行之间的\n就不会变成换行符

不过原始字符串不能以反斜杠结尾,如果原始字符串结尾需要是一个反斜杠的话,可以使用拼接的方式:print(r"第一行\n第二行" '\\')

11、常用内建序列:列表和元组,列表可以修改,元组则不能;其他内建序列还有:字符串、Unicode字符串、buffer对象和xrange对象

如下:edward john是列表,database也是列表

edward = ['EdwardGumby', 42]

john = ['JohnSmith', 50]

database =[edward,john, 1]

print(database)

print(database[0])

print(edward[-1])

输出结果:

序列中的元素都是有编号的,从0开始递增,因此可以用下标访问,如上,database[0]。下标-1表示从尾部开始

12、序列的分片,冒号分割,做闭包,左边位置包括,右边位置不包括:

tag="0123456789"

print(tag[2:3]) #2

print(tag[2:-1])#2345678

print(tag[-3:-1])#78

print(tag[0:])#0123456789

print(tag[:])#0123456789

print(tag[-3:0]) #空 无效

print(tag[::2])

#02468第三个参数表示步长,如前面几行没设置就是默认1

print(tag[::-2])

#97531步长是负数,从右向左提取

print(tag[2:8:-2])

#无效 步长是负数,起始点索引必须大于结束点索引

print(tag[8:2:-2])#864

print(tag[2::-2])

#20第二个位置开始往左边按照步长2分片

13、序列成员资格检查in,检查一个值是否在序列中,使用in运算符

permissions ='rwx'

print('x'inpermissions) #True

print("a"in permissions) #False

print("rw"in permissions) #True

14、序列的长度、最小值和最大值:len、min、max

15、列表的基本操作:

可以用字符串创建列表:print(list("Perl"))#['P','e','r','l']

元素赋值:x[1]=2,改变x列表第2个位置的值,不能为一个位置不存在的元素进行赋值

删除元素:del

x[1],删除列表第2个位置的元素,并且列表长度-1

分片赋值:

perl =list("Perl")

print(perl)#['P','e','r','l']

perl[1] = 'a'

print(perl)#['P','a','r','l']

del perl[1]

print(perl)#['P','r','l']

perl[1:1] = 'ffff'

#['P','f','f','f','f','r','l']如果起始点和结束点位置一样,则做插入

print(perl)

perl[1:3] = 'gggg'

#['P','g','g','g','g','f','f','r','l']如果起始点和结束点之间的位置不够放右值,则替换掉已有的位置值,剩余的值做插入处理

print(perl)

perl[1:8:2] =

'hhhh' #['P','h','g','h','g','h','f','h','l']如果步长大于1,那么右值的个数要等于分片数,否则编译不通过

print(perl)

16、 列表方法

append,在列表末尾追加新对象x.append(1)

count,计算某个元素在列表中出现的次数:x.count(1)

extend,在列表的末尾一次性追加另一个序列的多个值,通过修改原始序列,而“+”连接操作符是返回一个全新的列表

index,从列表中找出某个值第一个匹配项的索引,但是如果索引的值不存在,会产生异常

insert,将对象插入列表,x.insert(1,'dkjf')

pop,一处列表中的一个元素,默认最后一个,并返回该元素的值

remove,用于移除列表中某个值的第一个匹配项,在原有列表上修改

reverse,将列表中的元素反向存放,在原有列表上修改

sort,排序列表,在原有列表上修改,返回一个空值,如果想保存排序前的x列表,那么在排序前保存x列表的副本,保存x列表副本的方式:

y=x[:] y.sort()用副本y排序

y=sorted(x)这个函数可以用于任何序列,但是总是返回一个列表

y=x错误的使用方式,这条语句是将x y指向同一个副本

高级排序

x.sort(cmp) #cmp制定排序函数

x.sort(key=len) #按长度排序

x.sort(reverse=True)

#反向排序

17、元组,不能修改的序列,列表用中括号,元组用圆括号,单个元素的元组,要在元素后面加一个逗号,如(1,),因为如果不加逗号会被认为是数字

tuple([1,2,3]) #把list转换成元组

tuple('abc')==》('a','b','c')

序列的操作函数元组都有,但是列表的没有哦

18、字符串,字符串是不能修改的序列

格式化:

format ="Hello %s %d %%"

values =("wff", 10)

print(format%values)#Hello wff 10 %

格式化字符串里如果要显示%就得用‘%%’

模板字符串:

字符串函数:

find,查找子字符串,返回字符串所在位置,不存在返回-1。str.find('aaa')

join,是split方法的逆方法,将队列拼成字符串,可以带拼接符。

lst=['1','2']

sep='+'

newlst=sep.join(lst)

print(newlst) #1+2

lower,返回字符串的小写字母版,str.lower()

replace,字符串替换,

split

strip去除字符串两侧的空格

translate

maketrans(这个函数3.5之后现在在str类中)

x='this!is!'

a=str.maketrans('','',string.punctuation)

x=x.translate(a)

#结果:thisis字符串x中的punctuation将会被替换成空

print(x)

s='abcdefab'

table=str.maketrans('ab','AB')

s=s.translate(table)

#结果:ABcdefAB将s列表中的ab替换成AB

print(s)

19、字典

创建:

items =[('name','Gumby'),('age',42)] d = dict(items)

d=dict(name='Gumby',age=42)

访问方式和正常的字典一样

来一点特别的,字典的格式化字符串,非常给力:

fmt ="name:%(name)s,age:%(age)s"

print(fmt%d)#name:Gumby,age:42

字典方法:

clear

copy,返回一个具有相同键-值对的新字典(浅复制),如果想深复制,可以使用copy.deepcopy(dic)

fromkeys,使用给定的键建立新字典:

t={}.fromkeys(['name','age'],

'unknow') #如果没有提供默认值,则默认为None

get:

print(d.get('sex',

'unknow')) #sex不存在则返回unknow,如果没设置unknown,则sex不存在的情况抛出异常

items和iteritems,items是以列表的顺序返回所有所有键值对

keys和iterkeys

pop:d.pop('age')将age键值对从字典中移除,等于remove

popitem:弹出随机的一个键值对

update:利用一个字典项去更新另一个字典

d.update(x)用x字典中的项去更新d字典,不存在的新增,存在的则覆盖

values和itervalues

20、日志输出,print和logging,后者有分日志等级logging.info/warning/error等

21、import

import math

from math importsqrt,pow,add

from math importsqrtas foobar

import math asmymath

22、if语句

以下值当做布尔表达式的时候被认为是假:

False None 0"" () {} []

其他为真

if else elif

22、语句块,以“:”(冒号)开始,缩进改变为结束

23、字母的顺序值,ord函数,还有一个chr函数功能相反

print ord('a') #97

print chr(97) #a

24、三目运算符:print(11 if True else 22)#11

25、range函数,range(0,10)

#0123456789左闭包

xrange函数,xrange(1,5),生成一个生成器,每次加1

26、for语句

for word in words:

for num inrange(0,10):

for key,values ind.items:

27、while语句

while True:

28、zip函数

for name,age in

zip(names,ages): #names/ages分别是一个List

zip(range(5),xrange(10000))

#zip可以处理不等长序列,短序列处理完就停止。

29、enumerate函数,返回序列的索引-值对

for index,stringin enumerate(strings):

if 'xxx' instring:

strings[index]='newval'

30、reversed和sorted,返回翻转或者排序后的版本。

31、跳出循环,break、continue

32、列表推导式---轻量级循环

print([x*x for xin range(10) if x%3==0]) #0,9,36,81

for循环中的元素,满足是3的倍数,则将其平方返回。x%3可以换成其他的条件

print([(x,y) for x

in range(3) for y in range(3)]) #结果为x012和y012的排列组合

33、空代码块,pass

34、删除对象

x=None

或者del x

35、动态执行Python代码,exec

scope={} #命名空间,将代码放在命名空间中执行

exec("print('Hello,World')") in scope#Hello,World

36、动态执行表达式:eval以下是加了作用于的eval

scope = {}

scope['x'] = 2

scope['y'] = 3

print(eval('x*y',scope)) #6

37、

𿅸����$r/

上一篇下一篇

猜你喜欢

热点阅读