Python入门

一、Python简介

1、python是一门相当高级的解释型编程语言,相对于其它流行语言实现同一功能python编写的代码量最低

2、代码量低只能说明语言本身做了很多的封装,因为对于最终要执行的程序都要转换成计算机可以执行的指令封装的多可能相对于运行速度稍慢

3、python可能做很多事情,除了操作系统或开发手机应用,其它的都可以用python,很多互联网公司都在使用python

4、python的库很丰富不管是内置库还是第三方库,社区也很活跃

5、python的缺点:运行速度稍慢,代码不能被加密等其它小缺点

二、Python交互模式

1、安装好python(记得将python添加到环境变量),命令行下执行python命令即可

2、交互模式下写一句代码python执行一句并会反馈到屏幕上,除非是代码块,是一整块执行,代码块以:开始显示...为已进入代码块

3、在Linux环境下 python文件添加 #!/usr/bin/env python3  可以直接运行python文件

4、print()可以输出 python可以接受多个参数,以”,“分隔输出打印的时间逗号会被换成空格 input()可以监听输入,参数为输入提示语

三、Python基础

1)、python 以 # 为注释

2)、数据类型包括:

整数(写法和数学一样,出可以用16进制表示 以0x开头)

浮点数(数学小数,科学计数法 1.21e2 表示1.21x(10的2次方),1.2e-3表示0.0012)

字符串 用双引号或单引号括起来 转义字符\ 和其它语言一样,如果字符串里面需要转义的太多可以在前面加个r,例如r'32dsfs',以3个单引号或3个双引号表示多行字符串

布尔型 True False python区别大小写 布尔型可以 and 和 or 多条件组合 非 not 

空值 None 空值是python里一个特殊的值

数组 []表示 支持正负下标取数据,正从左往右 负从右往左  添加 append  插入 insert 消费pop

元组()表示 元组一旦初始化不能修改 元组和 数组可以嵌套  除了修改类的方法不支持其它和数组一样

字典 {} json 键值对象 字典对key 建立了索引,查找特别快 get()可以指定未获取到的默认值, pop 删除  查找和删除快但占用内存大

Set {} 只有值 没有key 不出现重复的值 add 加 remove 删  类型一样的set可以作交并集  &   交   | 并

3)变量 变量名必须是大小写英文、数字和_的组合,且不能用数字开头 python为动态语言不需要显示指定变量类型  python文件 建议加上  # -*- coding: utf-8 -*-  指定文件编码  python赋值的是具体的值

4)常量 名字要大写 python 没有机制保护常量不变 不像java 有final  整数相除/ 为浮点数(不管有没有整除) // 为地板除(整数相除取最近整数为整数,浮点相除取最近浮点整数还是为浮点数 % 取余数)

5)字符串有很多方法  ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符  编码批unicode的10进制表示

bytes类型的数据用带b前缀的单引号或双引号表示   encode('utf-8') 可以指定编码方式bytes类型  相反decode('utf-8')可以将bytes转换成字符串  len()有多少个字符或有多少个字节   文件开头 通常以  开始 

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

格式化  通常以 % 分隔  如  print( '%d-%02d' % (5, 2))    5-02

占位符替换内容
%d整数
%f浮点数
%s字符串
%x十六进制整数

 format()  1:代表第二个参数

 'Hello, {0}, 做我女朋友吧 {1:.1f}%'.format('小美', 17.125)

 6)条件判断 if  elif  else    python 以 :  缩进定义代码块  类型转换  int()  str()  bool()

7)循环 for x in [1,2,3,4,5]   range(1,5) 返回一个生成器  while 循环  break 跳出  continue跳出当次

四、函数

定义一个函数要使用def语句,依次写出函数名,括号,括号中的参数和冒号:然后,在缩进块中编写函数体,函数的返回值用return语句返回。

空函数  

def blank():
    pass

 返回多个值  相当于返回了个元组  math.sqrt(5) 平方根

def nulti(x, y):
    return x, y

 参数类型 

位置参数  按固定出现位置  def  method(x,y,z)

默认参数  def method(x,y=1)

可变参数  def method(*args)

关键字参数 def method(**kw)  kw 为字典

命名关键字  和关键字参数**kw不同,命名关键字参数需要一个特殊分隔符**后面的参数被视为命名关键字参数如果函数定义中已经有了一个可变参数,后面跟着的命名关键字参数就不再需要一个特殊分隔符*了  def method(x,y ,*,name,age)或者

def method(x,*args,name,age)

组合顺序 位置参数、默认参数、可变参数、命名关键字参数和关键字参数

递归函数 解决递归调用栈溢出的方法是通过尾递归优化  尾递归是指,在函数返回的时候,调用自身本身,并且,return语句不能包含表达式。这样,编译器或者解释器就可以把尾递归做优化,使递归本身无论调用多少次,都只占用一个栈帧,不会出现栈溢出的情况。

五、高级特性

切片

L = ['a', 'b', 'c', 'd', 'e']

#L[0:3]和L[:3]都表示['a', 'b', 'c']
#L[1:3]  ['b','c']
# [1:2:3]  1表示起 2表示止 3 表每多少个   1  2 可为负
#[:]表示复制

迭代

>>> from collections import Iterable
>>> isinstance('abc', Iterable) # str是否可迭代
True
>>> isinstance([1,2,3], Iterable) # list是否可迭代
True
>>> isinstance(123, Iterable) # 整数是否可迭代
False


>>> d = {'a': 1, 'b': 2, 'c': 3}
>>> for key in d:
...     print(key)
...
a
c
b

>>> for i, value in enumerate(['A', 'B', 'C']):
...     print(i, value)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值