今天想要开始打天池,后来发现python语法都忘记的差不多了。。这篇首先来看题回顾一下python语法
一、基础语法回顾
参考Python3 教程 | 菜鸟教程 (runoob.com)
1、注释:#单行 “ ‘多行
2、缩进:不使用大括号,同代码块要求相同缩进
eg:
if True:
XXXX(句末也不需要分号)
else:
XXXX
3、字符串截取
变量[头下标:尾下标:步长]
4、多行语句
可以用\反斜杠来实现换行,或者如果是括号里面的话就直接换行就可以了
如果想要一行显示多个语句,则用;分割即可
5、代码组:注意有冒号,但是代码结束不需要分号
if expression :
suite
elif expression :
suite
else :
suite
二、数据类型
但是python中的变量不需要声明,变量赋值之后直接被创建
a, b, c = 1, 2, "runoob"
1、number
int bool float complex四种,可通过print(type())查询
2、string
3、list [] 列表,写在方括号中,用逗号分开的元素列表,其中元素可赋值可改变
截取方式:变量[头下标:尾下标] 【左闭右开的意思】变量位置左边从0开始,右边从-1开始
list内置函数append()、pop()
a[2:5] = [] # 将对应的元素值设置为 []
运用推导式创建列表:
x = [0] * 5
print(x, type(x))
# [0, 0, 0, 0, 0] <class 'list'>
x = [0 for i in range(5)]
print(x, type(x))
# [0, 0, 0, 0, 0] <class 'list'>
x = [i for i in range(10)]
print(x, type(x))
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] <class 'list'>
x = [i for i in range(1, 10, 2)]
print(x, type(x))
# [1, 3, 5, 7, 9] <class 'list'>
a = [0] * 3
x = [a] * 4
print(x, type(x))
# [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]] <class 'list'>
4、tuple ()元组中的元素不能够修改,元素写在小括号里
虽然元素不可以变化,但是他的元素可以是可变的list。元组的索引和切片、连接方式和list相同
5、set { } 集合
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典
6、dictionary { } 字典
字典由键和值组成,它是一个无序的 键(key) : 值(value) 的集合。同一个字典中,键是唯一的,
字典的定义:tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}其中单引号引起来的是字符串
三、常用函数
range(起,终,步长)函数,生成数列
def代码块自定义函数
def printinfo(name, age=8): 定义了默认参数age=8,如果有传入值得化就可以赋值给age,不然就默认为8
print结尾会默认换行,可以使用 print(item, end='定义的字符或者不填')来控制不换行
推导式:
x = [-4, -2, 0, 2, 4]
y = [a * 2 for a in x]
print(y)
# [-8, -4, 0, 4, 8]
self即this指针
class Ball:
def setName(self, name):
self.name = name
def kick(self):
print("我叫%s,该死的,谁踢我..." % self.name)
a = Ball()
a.setName("球A")
a.kick()
# 我叫球A,该死的,谁踢我...
相当于传参的时候,把整个ball类作为self传进来了,又把他的一个属性name的取值传进来了