@[TOC]python基础
vi编辑器的相关语法
通过终端vi某个文件之后,输入i进入编辑模式开始进行编辑
退出时,按esc 键之后,切换成英文模式
shift+:切换到最后一行,输入x或者wq进行文件的保存。
shift+zz 等价于wq
其中,
:w保存文件但不退出vi 编辑
:w! 强制保存,不退出vi 编辑
:w file将修改另存到file中,不退出vi 编辑
:wq!强制保存文件并退出vi 编辑
q:不保存文件并退出vi 编辑
:q!不保存文件并强制退出vi 编辑
:e!放弃所有修改,从上次保存文件开始在编辑
vim批量缩进操作:
esc从编辑模式退到命令模式,将光标移到需要缩进的行的行首,然后按shift+v,可以看到该行已被选中,且左下角提示为“可视”,按键盘上的上下左右方向键,如这里按向下的箭头,选中所有需要批量缩进的行,选择好了之后,按shift+>,是向前缩进一个tab值,按shift+<,则是缩回一个tab值
把abc全部替换成123
末行模式下,将光标所在行的abc替换成123
:%s/abc/123/g
末行模式下,将第一行至第10行之间的abc替换成123
:1, 10s/abc/123/g
Ipython
Ipython比python要强,python只能输入一些python语法,但是ipython既可以输入常用的Linux命令也可以输入python语法;python2对应ipython,python3对应ipython3.
python 的注释符号
#表示单行注释
''' ''' 或者 """ """ 可 以进行多行注释
python输出格式:
age=18
print("age变量里的值是%d"%age)
name="东哥"
print("名字是:%s"%name)
input和print---python2和python3对比
#使用print打印名片
#使用input获取必要的信息
name=input("请输入名字:")
QQ=input("请输入QQ:")
#使用print来打印名片
print("姓名:%s"%name)
print("QQ:%s"%QQ)
print("============")
print输出多个变量demo1:
name="laowang"
age=20
addr="山东"
print("姓名是:%s,年龄是:%d,地址是:%s"%(name,age,addr))
python3中没有raw_input()函数,只有input(),并且python3中的input()与 raw_input()效果一样
注意: input获取的所有数据,都被当作 字符串类型 20–>age–>“20”, 故需要获取整型时,会使用 age=int(input(“请输入你的年龄:”))
python运算符
python打印不换行
print("*",end="")
九九乘法表打印
break和continue
循环中出现break,该循环满足break条件时,该循环之后的数据断掉不执行;循环中出现continue,该循环中有满足continue条件时,该次循环continue之后的语句不执行。
字符串逆序
name[-1::-1] #逆序操作
list操作
通过元素寻找指定的位置
names.index(alter_name) #输出元素alter_name所在list的位置
字典的操作
xxx={}表示新建一个字典
可以将新建的字典放入list中
del 表示删除字典中指定的元素 或整个字典
clear 表示清空整个字典
[{key:value,key1:value1},{key0:value0,key01:value01}]
与list之间的区别在于查询key是否在字典中,用get方法
python中append和 extend的区别
extend是将要添加的元素中的元素一个一个提取出来进行添加:例如:
a=[11,22,33]
b=[44,55]
a.extend(b)
print(a)##结果显示为:[11,22,33,44,55]
append 是将要添加的元素作为一个整体进行添加:例如:
a=[11,22,33]
b=[44,55]
a.append(b)
print(a)##结果显示为:[11,22,33,[44,55]]
append的用法注意点
例如:
a=[11,22,33]
b=[44,55]
a=a.append(b)
print(a)##结果显示为None,a.append(b)没有值
字典中的常见操作
len():测量字典中,键值对的个数
dict={"name":'zhangsan',"sex":'m'}
len(dict)
2
keys():返回一个包含字典的所有key的列表
dict.keys()
['name','sex']
values():返回一个包含字典所有value的列表
dict.values()
['zhangsan','m']
items():返回一个包含所有(键,值)元祖的列表
dict.items()
[('name','zhangsan'),('sex','m')]
dict.has_key(key)如果key在字典中,返回True,否则返回False
dict.has_key('name')
True
dict.has_key('phone')
False
元组遍历
>>> a_turple = (1, 2, 3, 4, 5)
>>> for num in a_turple:
... print(num,end=" ")
1 2 3 4 5
for temp in infor.items():
print("key=%s,value=%s"%(temp[0],temp[1]))
#key=name,value=laowang
#key=age,value=18
等价于
for A,B in infor.items():
print("key=%s,value=%s"%(A,B))
#key=name,value=laowang
#key=age,value=18
Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。
enumerate方法
>>> chars = ['a', 'b', 'c', 'd']
>>> for i, chr in enumerate(chars):
... print i, chr
...
0 a
1 b
2 c
3 d
函数中的return
想要在函数中把结果返回给调用者,需要在函数中使用return
如果一个函数有返回值,但是没有在调用函数之前用个变量保存的话,那么没有任何意义
result=get_wendu()
如果一个函数返回了一个数据,那么想要用这个数据,那么就需要保存
#定义函数
def add2num(a, b):
return a+b
#调用函数,顺便保存函数的返回值
result = add2num(100,98)
#因为result已经保存了add2num的返回值,所以接下来就可以使用了
print result
python中的全局变量和局部变量
传的参数叫实参,接受的参数叫形参
局部变量,就是在函数内部定义的变量;
不同的函数,可以定义相同的名字的局部变量,但是各用个的不会产生影响;
局部变量的作用,为了临时保存数据需要在函数中定义变量来进行存储,这就是它的作用。
在函数外边定义的变量叫做全局变量
全局变量能够在所有的函数中进行访问
如果在函数中修改全局变量,那么就需要使用global进行声明,否则出错
如果全局变量的名字和局部变量的名字相同,那么使用的是局部变量的