python语法查询_Python基础语法(复习+快速查询)

整理一下Python基础语法的笔记,便于复习和快速查询。

目录

Python的list结构和用法

Python的字典变量

Python的集合

Python判断结构

Python循环结构

Python函数的定义

Python的模块与包

Python异常处理模块

Python的文件操作

python类的基本定义

Python类的属性操作

Python时间操作

Python的list结构和用法

格式:x = [1,2,3,4] ,x = [‘1’,’2’,’3’,’4’],x = [1,’first’,1.5];

PS:列表中的元素可以是任意类型的数据,注意符号要使用英文符号,结束可以不用加‘;’

list操作:

计算列表元素个数(长度):len(x);

两个list变量相加是将list拼在一起;

乘法:x = [1,2,3] -> x*2 -> [1,2,3,1,2,3]

索引:x[0]…x[i],i≤len(x); 利用索引可以对元素值进行更改->x[0] = 11 -> x = [11,2,3]

切片操作(索引多个):x[i:j] 提取第i到j-1的元素

删除:del x[0]  ->  删除x中的第一个元素,‘x[0]’可以就索引第一个元素;

语法:

判断某个元素是否在list中: 1 in x -> True   #因为1是x的元素,所以返回True;

list可以嵌套list,索引使用两个方括号:x = [1,[1,2],2]  ->  x[1][1] -> 2;

统计元素出现个数:x.count(元素);        #若元素不存在则报错

索引某个元素的位置:x.index(元素);    #只能返回第一次出现的位置,无法返回多个;

扩展:x.append(元素)         #在x后增加输入的元素

插入:x.insert(位置,元素) #将元素插入到当前位置,若插入位置超过len,则在最后插入;

删除:x.remove(元素)         #每次只删除第一个索引到的元素

弹出:a = x.pop(位置)         #弹出的元素幅值给a,同时x删除该元素,类似剪切功能

倒序:x.reverse()                #实现翻转

排序:x.sort()                       #默认升序,要降序可执行一次翻转

-- x1 = sorted(x)           #对x排序并赋给x1,但x本身不变

Python的字典变量

x = {}  #用大括号表示,字典是dict类型

字典的结构

字典采用Key-value格式,键必须是字符串;

字典的创建:Eg -> x[‘first’] = 123 ,

或者直接按格式初始化:x = { ‘first’:123,’second’:456}

value可以是各种类型的数据,如数值,列表,字符串,bool值,字典等等;

访问:通过键访问value,特点:字典没有先后顺序;

字典的核心操作

①字典嵌套字典是可行的:

x = {}

d1 = {'first':123}

d2 = {'second':456}

x['first'] = d1

x['second'] = d2

②访问及操作

d1[‘first’] += 1  ->  对应的值会变为124,d1[‘first’]就指向value,直接操作对应元素;

x.keys() 和 x.values()        #打印有哪些键或者有哪些值

x.items()                            #将键和值都打印出来,在使用循环结构遍历的时候需要配两个变量

③get方法

x.get(‘first’) -> 输出对应的value

x.get(‘third’,789) -> 若x中存在键‘third’,则返回对应的value,没有则返回789;

④pop方法

将x中某个元素剪切出来

例如 a = x.pop(‘first’) ,则a=123,x中不再有‘first’:123这个元素;

⑤update方法

对字典进行更新,对应的键的value值更换,没有的加上

例如x = {'first':123,'second':456}

x1 = {'first':111, 'third':789}

x.update(x1) -> {'first': 111, 'second': 456, 'third': 789}

⑥判断某个键是否在字典中

‘first’ in x -> 输出True,假如不在,则输出False

Python的集合

这个集合的概念和数学中的集合概念相同,set(list),相同的元素只会保留一个。

集合也可以只用大括号表示,如果大括号中有key-value对就是字典,没有是集合。

a = {1,1,2,3,4}

b = {1,2,4,5,6,8}

并集:a.union(b) 或者 a|b;交集:a.intersection(b) 或者 a & b;

差异:a.difference(b) -> 输出b中没有a的元素;相当于a-b操作;

包含:b.issubset(a) -> False 输出b是否为a的子集的判断;相当于b集合添加元素:a.add(5),在后面添加元素

弹出:a.pop();

Python判断结构

把判断的逻辑弄准确即可,使用格式如下。

①case1

x = 100

if x> 50:

print('hello,world')

print('test')

②case2

x= 100

if x> 200:    print('>200')

elif x< 100:    print('<100')

else:    print('100-200')

Python循环结构

while循环操作

①case1

x= 0

while x<10:

print(x)

x+= 1

②case2

x= {'first','second','third'}

while tangs:

print(x.pop())

对于非空的字典相当于True。

For 循环操作

①case1

x= {'first','second','third'}

for name in x:

print(name)

遍历集合,并赋值给name,依次打印

②case2

x= ['first','second','third']

for i in range(len(tangs)):

print(tangs[i])

索引列表内的元素

Python函数的定义

目标:a = 10, b = 20, 实现a+b,并将操作封装到函数;定义方法如下:

def add_ab(a,b):

return(a+b)

定义完之后再执行c = add_ab(10,20) ,得到结果为c = 30;

PS:python的命令包含关系是通过缩进控制的,执行的时候要注意调制缩进。

变量个数不固定的定义方法:

def add_number(a,*args):

for i in args:

a += i

return a

定义完之后例如执行命令add_number(1,2,3) , 将输出6

字典个数不固定的定义方法:

def function1(a,**kwargs):

for arg,value in kwargs.items():

print(arg,value)

例如,可执行function1(1,x=2, y=3),将打印

x 2

y 3

函数返回多个值

def function(a = 1,b = 2):   #初始化a = 1,b = 2;

return 2*a 3*b

a, b = function(3,4)

返回的多个值用逗号相隔,上述代码最后a = 6, b = 12;若不给参数,直接执行function(),则使用函数内置的初始值;

Python的模块与包

创建一个模块(脚本):

%%writefile x.py

x_v = 10

def x_add(x_list):

x_sum = 0

for i in range(len(x_list)):

x_sum += x_list[i]

return x_sum

x_list = [1,2,3,4,5]

print(x_add(x_list))

执行完上面的程序,会在当前路径上创建一个名为x.py的文件。

运行模块:%run x.py

导入模块:import x

读取模板内部的变量:x.x_v

调用模板内部的函数:x.x_add([11,22,33])

导入使用对象:from x import x_v,x_add

导入全部对象:from x import *         访问无需加前缀

删除模板(先导入操作系统os,再利用os的语法删除文件):

import os               #操作系统

os.remove(‘x.py’)

Python异常处理模块

使用举例:

import math

for i in range(10):

try:#捕捉异常

input_number = input('write a number')

result = math.log(float(input_number))

print(result)

except ValueError:#或者是Exception,只要出现异常就执行后续内容;似switch-case

print('Value Error')

如果有出错,则会执行except的内容,except后面可添加特定的错误名称或者是通用错误(即Exception,只要出现异常就执行后续内容);

使用类自定义一个错误:

自定义错误规则和错误名称,可灵活的用于except后的匹配,下面是定义的方法:

class TangError(ValueError):

pass

cur_list = ['tang','yu','di'] #可以不缩进

while True:

cur_input = input()

if cur_input not in cur_list: #不在使用用not in表示

raise TangError('Invaild input: %s' % cur_input)#raise引出异常,百分号指代字符串

finally的用法:

try:

1/0

except: #出错执行

print('==0')

finally:#肯定执行

print('finally')

Python的文件操作

在当前路径下创建文件

%%writefile tang.txt

hello python

tang yu di

读取:

txt = open('tang.txt')

txt_read = txt.read()#按行读取 object.readlines(),并保存为列表类型

print(txt.read)

txt.close()

写文件:

txt = open('tang_write.txt','w')#’w’会覆盖原来内容重新写入,‘a’是附加

txt.write('jin tian tian qi zhen bu cuo\n')

txt.write('tang yu di')

txt.close()

PS:写文件要关闭后才保存

一种自动帮助关闭文件的方法:

with open('tang_write.txt','w') as f:

f.write('tang')

python类的基本定义

类:面向对象,里面有一系列功能

class people:

'帮助信息:XXXXX'

#所有实力都会共享

number = 100

#构造函数,初始化的方法,当创建一个类的时候,首先会调用它

def __init__(self,name,age):

self.name = name#参数:名称

self.age = age#参数:年龄

def display(self):

print('number: %s'%people.number)

def display_name(self):

print(self.name)

查看帮助:people.__doc__

使用类:p1 = people('tangyudi',30)  访问名称:p1.name;访问年龄:p1.age

使用类的函数:p1.display()        PS:对于属性,不用要括号,对于函数,需要括号进行回调

其他方法:

hasattr(p1,'name')         #检查类p1是否有'name'属性;

setattr(p1,'name','yudiTang') #设置类p1中的属性'name'为'yudiTang';

getattr(p1,'name')         #访问'name'属性

delattr(p1,'name')         #删除类属性

Python类的属性操作

print(people.__doc__)        #帮助信息

print(people.__name__)       #类的名称

print(people.__module__)     #类的定义所在模块

print(people.__bases__)      #类的父类

print(people.__dict__)       #字典结构,由什么组成

父类:

继承父类的属性

class Parent:

number = 100

def __init__(self):

print('调用父类结构函数')

def parentM(self):

print('调用父类方法')

def setAttr(self,attr):

Parent.parentAttr = attr

def getAttr(self):

print('父类属性:',Parent.parentAttr)

class child(Parent): #在此处继承父类

def __init__(self):

print('调用子类结构函数')

def childM(self):

print('调用子类方法')

使用方法:

c = child()#子类赋值

c.childM()#子类函数

c.parentM()#父类的函数

c.setAttr(100)#父类的函数

c.getAttr()#父类的函数

PS:假如父类的属性不是自己需要的,可以重新定义,即在子类中使用相同的名字定义即可。

Python时间操作

import time

print(time.time()) #时间戳

print(time.localtime(time.time()))#本地时间

print(time.asctime(time.localtime(time.time())))

print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()))#按照设定格式显示

日历

import calendar

print(calendar.month(2019,7))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值