下载安装
下载地址:官网https://www.python.org/downloads/,选择对应的系统和版本进行下载
基本使用
1. python环境下 执行命令行
cmd命令行工具下,直接输入python,进入python环境,如图,
出现>>>正常进入python环境,
print(“用来打印信息”)
input(“输入框,让用户手动输入信息”)
exit()退出python环境
2. 执行.py文件
python文件都是以.py结尾的,在cmd命令下,进入到文件目录,输入python filename.py 回车,即可执行python文件
注意:默认是字符串,如果需要整数的话,需要加int(num)进行转换
基础语法
-
字符串
字符串用单引号或者双引号,出现多个相同时可用反斜杠\进行转义
当字符串中有\时,可以加\进行转义,也可以在字符串前加r
字符串换行输出,用'''...'''
或者"""..."""
,为了避免行尾换行符拼接在字符串中,可以在 行结尾加\,表示下一行是本行的连续内容
字符串用+拼接, *表示重复>>> print 'she\'s smart' she's smart >>> print "she's smart" she's smart >>> print 'c:\nice\name' c: ice ame >>> print 'c:\\nice\\name' c:\nice\name >>> print r'c:\nice\name' c:\nice\name >>> print ''' ... she ... is ... smart ... ''' she is smart >>> print '''\ ... she ... is ... smart\ ... ''' she is smart >>> >>> 3 * 'ha' + 'enen' 'hahahaenen' >>>
切割字符串
str[index:end]
,含左不含右,当切割位置超过字符串长度时,会返回空;python会优雅的处理下标索引超出最大索引、上边界大于下边界这些内容>>> str = 'python' >>> str[0:2] 'py' >>> str[1:5] 'ytho' >>> str[3:2] '' >>> str[10:20] '' >>>
占位符使用:
%s字符串
%d整数,%02d,指整数一共两位,不够的话,前面0补齐
%f浮点数,%.1f指小数点后面截取一位小数
-
集合(list和tuple)、dict字典和set
list:
定义列表 list=[1,2,3]
查看列表长度 len(list)
根据下标查找list[0]、list[-1],下标为负数,查找顺序倒数
末尾添加元素list.append(4),在指定位置添加元素list.insert(2,2)
删除末尾元素list.pop(),删除指定位置元素list.pop(2)
切片:list[index:end]
,切片会返回一个新的list, 索引下标含左不含右,索引可以超出列表最大下标,python会默认取最大的索引位置,不报错;index或者end为空,默认左最大或者右最大#定义list >>> list = [0,1,2,3,4,5] >>> list[2:5] [2, 3, 4] >>> list[-5:-3] [1, 2] >>> list[:] [0, 1, 2, 3, 4, 5] >>>
修改切片内容,可以改变列表大小,或者清空列表
#定义list >>> list = [0,1,2,3,4,5] >>> list[:] [0, 1, 2, 3, 4, 5] >>> list[2:5] [2, 3, 4] #替换切片 >>> list[2:5]=[22,33,44] >>> >>> list [0, 1, 22, 33, 44, 5] >>> list[2:5]=[] >>> list [0, 1, 5] >>> list[:] [0, 1, 5] >>> list[:]=[] >>>list >>>[] >>>
tuple
tuple长度不可变,内容不可变,定义长度为1的tuple时,结尾必须加逗号,否则默认创建的是括号里面的值
定义长度为4的tuple tuple=(0,1,2,3
dict
dict,字典,相当于map,key-value集合,key值唯一,查询和插入速度极快,占用空间大
创建一个dict ,dict={‘one’:1,‘two’:2}
添加元素:dict[key]=value
根绝key获取value,1.dict[key] (这种如果key不存在的话会报错) 2.dict.get(key)(这种如果key不存在返回空) 3.dict.get(key,defaultValue)defaultValue为key不存在的时候默认返回值
判断key是否存在 key in dict,存在返回True,不存在返回False
删除key dict.pop(key)
set
set,一组key的集合,不重复,无序#创建set >>> set = {1,2,3} >>> set {1, 2, 3} >>> >#添加元素 >>> set.add(4) >>> set {1, 2, 3, 4} >>> >#移除元素 >>> set.remove(4) >>> set {1, 2, 3} >>> >#set取交集和 >>> set1={1,2,3,4} >>> set2={3,4,5,6} >>> set1 & set2 {3, 4} >>> >>> set1 | set2 {1, 2, 3, 4, 5, 6}
-
计算
加减乘取模幂计算(+ - * ):全是整形时,结果为整形,有浮点类型时,结果为浮点类型
除法(/或者//):/全是整形时,结果为取整整形,有浮点时,结果为浮点;//全是整形时,结果为取整整形,有浮点型时,结果为取整的浮点型
交互模式中,将最近一个表达式的结果赋值给_
例如:1+2=3 1+2.0=3.0 1*3=3 1*3.0=3.0 10%3=3 10%3.0=1.0 2**3=8 2.0**3=8.0 10/3=3 10/3.0=3.3333333333333335 10//3=3 10//3.0=3.0 >>> 1+1 2 >>> 3+_ 5 >>>
-
条件和循环语句
注意:的位置if <条件判断1>: <执行1> elif <条件判断2>: <执行2> elif <条件判断3>: <执行3> else: <执行4>
#for循环 统计一共有多少个字符 num = 0 for name in ['a','b','c','d','e','f','g']: num += 1 print('最终数量是:',num) #for循环可以有else语句,但当for循环有break语句的时候,else语句不执行 for n in range(2,10): for x in range(2,n): if (n%x == 0): print n,'equals', x, '*', n/x break #因为有break语句,所以下面的else语句不执行 else: print n, 'is a prime number' #while循环,计算1-5的数字之和 num2 = 0 n = 1 while n<=5: num2 += n n += 1 print('1-5结果之和为:',num2) #while continue break i = 0 while i<10: i += 1 if i % 2 == 0: continue elif i == 9: break print('此时i的值是:',i)
-
函数
组合参数顺序:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。必选和默认参数
#定义一个带参数函数 def method_name1(args1,args2): pass #调用 method_name1(1,2) #定义一个参数有默认值函数 def method_name2(args1,args2 = 2,args3 = 3): pass #调用 method_name2(1) #有默认值得参数可以不传 method_name2(1,2,3) #可以按照参数顺序传参 method_name3(1,args3 = 3) #多个有默认值参数,只传一个时,带上参数名和值一起
可变参数
*args 允许传入0个或者多个参数,传入的参数在函数调用时会自动组装为一个tupledef method_name1(*nums): sum = 0 for num in nums: sum = sum + num*num return sum #调用 传入的参数数量可变 method_name1(1,2,3) method_name1(1,,2,3,4) #定义一个list传入 numslist = [1,2,3,4] method_name1(numslist[0],numslist[1],numslist[2],numslist[3]) #正常传list参数 method_name1(*numslist) # 加*,将参数作为可变参数传入
关键字参数
**kw 同样允许传入多个参数,这些参数在函数调用的时候会自动组装成为一个dict,传参格式为key-value结构def userinfo(id,account,**kw) print('id:',id,' account:',account,' ', kw ) #调用 kw的位置可以传入多个key=value参数 userinfo(1,'admin',password='admin',phone='13434343434',email='eamil@eamil.com') #同样可以定义dict,作为可变参数传入 dict = {'password':'admin','phone':'13434343434','email':'eamil@eamil.com'} userinfo(1,'admin',**dict)
命名关键字
用*分隔,调用时必须带上参数名def user(id,account,*,password,phone) pass #调用 带上参数名 user(1,password='admin',phone='13434343434')
-
xx
-
mm