1、python优缺点
优点:
①简单
②易学
③免费、开源
④高层语言,使用时无须考虑程序的内存占用等底层细节
⑤可移植性。可移植到其它平台。
⑥解释性,直接从源代码运行。
⑦面向对象。python既可面向过程也可面向对象编程。
⑧可扩展性,部分程序可用其它语言编写。
⑨可嵌入性,可嵌入到c/c++等其它语言中,提供脚本功能
⑩具有丰富的库
缺点:
①速度稍慢,因为是解释型语言
②强制缩进
③单行语句 因为语句末尾可不加分号,不过这个缺点微不足道
2、python关键字
32个保留字(关键字)
3、常用的输入输出函数
本处代码来自同学
作者:李则果
链接:https://zhuanlan.zhihu.com/p/67782449
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
#输入函数——input()
'''
例如:给a赋值,无论输入的是整型(int)、浮点型(float)、
还是字符串(str),都会以字符串的方式赋值给变量,变量再赋值的时候确定类型。
鉴于此,我们需要使用强制类型转换来将str->int,str->float
'''
#1、输入字符串
aStr=input("输入字符串")#input括号内的内容为提示性文字,由于输入的内容将以字符串保存,不用转换类型。
aInt=int(input("输入整型数字"))#通过int()将原本为"int"->int
aFloat=float(input("输入一个浮点数"))#通过float()将原本为"float"->float
print(aStr)
print(aInt)
print(aFloat)
#2、输出函数
#输出函数print,使用比较灵活,可以直接print(变量名),若要格式化输出则类似C语言,不同之处在于格式,或者使用格式化输出函数
#2.1直接输出变量名
print(aInt)
#2.2使用+来拼接字符串
print("字符串"+"可以拼接,还可以拼接‘字符串变量’"+aStr)
#2.3使用%进行格式化输出
print("这是字符串:%s,这是整型:%d,这是浮点型%f"%(aStr,aInt,aFloat))
print("格式化输出浮点数:%6.3f"%aFloat)#%6.3f表示小数点后面精确到3位,总长度6位数,包括小数点,不够左侧补空格
#Python 3.X对于浮点数默认的是提供17位数字的精度
#2.4 str.format()函数的使用
print("你好!,我是{0},今年{1}岁".format("汤姆","12"))
4、Python里面支持的数据类型
支持的数据类型:
空(None) 、布尔(bool)、数字(int整型和float浮点型)、字符串、列表、元组、字典、集合。
列表、字典、集合是可变类型;空(None) 、布尔(bool)、数字(int整型和float浮点型)、字符串、元组是不可变类型,即创建后不可修改
字典和集合无序,列表的元组有序
集合不支持下标索引因为无序,字典可用键作为下标,元组和列表支持下标
集合不可重复,字典的键不可重复
5、列表、元组、字典、集合常见操作
列表
一、创建列表
以下两种方法都可创建空列表
① []
② list() 括号内只有一个参数
#数字可不加引号,字符串一定要加引号
二、访问
list[-1] 访问最后一个元素
三、切片
list[1:5] 不包含5,从0开始计
list[2:5:2] 最后一个2为步长
list[:] 表示所有元素
list[:5]
list[2:-1]
以上均不含索引范围的后一个值
四、遍历
for i in list:
语句
五、添加元素
列表的名字为a,添加的元素为i
a.append(i) 在末端加i
a.insert(index,i) 在索引号为index的位置加i
a.extend(seq) 在末端添加序列
a[len(a):]=i 在列表末端添加i
六、修改元素
a[index]=newi
a[indexrange]=newlist 如1:3同样不包含3
七、删除元素
del a[index]
a.pop() 删除末端元素
a.pop(index) 删除索引号为index的元素
a.remove(i) 删除元素i
a.clear() 删除所有元素
a[indexrange]=[] 删除索引范围的元素,不包含最后一个索引号
del a 删除列表a
八、复制
a_copy=a.copy() 浅复制,当a改变,a_copy不改变
a_copy=a 深复制,当a改变,a_copy改变
九、运算
+ 多个列表相加
* a*n 将列表a元素重复n遍,["王鹏"]*3 >>>['王鹏', '王鹏', '王鹏']
in
not in
< 或> 从各自列表的第一个元素开始比,遍历完所有元素前,比出结果就终止
十、统计
len(a)
max(a)
min(a)
sum(a)
a.count(i) 统计列表a中i元素出现的次数
十一、查找
a.index(i) 查找元素i在列表a中第一次出现的位置
a.sort() 对a按一定顺序排序
a.reverse() 对a反向排序
sorted(a) 生成副本,临时对a排序,不改变原本列表
元组
一、创建
以下两种方法都可创建空元组
① ()
② tuple() 括号内只有一个参数
#细节同list的创建,数字可不加引号,字符串一定要加引号
访问可通过tuple[index]
其余操作和list相同,在涉及索引查找时[],在使用函数功能相关时()
字典
以下两种方法都可创建空列表
① {}
a={key1:value1,key2:value2,key3:value3,....}
key记得加引号,value数字可不加引号,字符串一定要加引号
② dict()
dict(name="Mary",height=176,weight=55) >>> {"name":"Mary","height:176","weight":55}
dict(zip(["name","height","weight"],["Mary",176,55])) >>> {"name":"Mary","height:176","weight":55}
dict([("name","Mary"),("height",176),("weight",55)])
访问字典元素
dict(key) key为字符串加引号
遍历
a.items() 以列表形式返回字典的所有键值对,键值对为元组形式
a.keys() 以列表形式返回键
a.values() 以列表形式返回值
增加或修改元素
a[key] = value key记得加引号
删除字典元素
del a[key] 按键删除元素
a.pop(key) 按键删除元素
a.popitem() 随机删除元素
a.clear() 删除所有元素
del a 删除字典a
复制和列表相同
集合
只有②能创建空集合
①{}
②set() 只能由一个输入
不要忘记引号
复制同上
已知集合a
a.add(i) 添加i
a.update(sequence) sequence可为序列、列表、元组、集合等
删除
a.remove(i)
a.discard(i)
a.pop() 随机删除
a.clear() 删除所有元素
划重点!!!
集合运算
set1.union(set2) 并集
set1.intersection(set2) 交集
set1.difference(set2) 差集
set1.issubset(set2) 等价于set1 < set2 子集判断,结果为T 或 F
item in set 或 item not in set 成员运算
6、range()函数
'''range()函数是表示范围的函数,可设置步长,如可以123456789,也可以134679'''
#基础用法
'''
用i依次保存从1-10,但不包括10,即1-9,并打印输出
'''
for i in range(1,10):
print(i)
#设置步长
for i in range(1,10,2):
print(i)
7、匿名函数
匿名函数用法#lambda求和
sum=lambda arg1,arg2:arg1+arg2
print(sum(1,2))
8、随机函数
简介python的random模块用于生成随机数,此模块需要调用import random
import random
#生成一个[0-1)内的随机小数
a=random.random()z
print(a)
#生成指定范围的随机浮点数
b=random.uniform(1,10)
print(b)
#生成指定范围的整数
c=random.randint(1,10) [1,10]
print(c)
#从指定范围内,按指定基数递增的集合中 获取一个随机数。
#random.randrange(10, 30, 2),结果相当于从[10, 12, 14, 16, ... 26, 28]序列中获取一个随机数。
d=random.randrange(10,30,2)
print(d)
'''
random.choice从序列中获取一个随机元素。其函数原型为:random.choice(sequence)。
参数sequence表示一个有序类型。这里要说明 一下:sequence在python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence。
'''
list1=["python","sfdsf","2324"]
seq="fasfsdf"
seq1=random.choice(list1)
seq2=random.choice(seq)
print(seq1)
print(seq2)
random.shuffle(sequence) 将sequence打乱
random.sample(sequence,k) 从sequence中随机获取k个数据
9、python常见模块的功能
一、常用标准库模块
二、第三方库模块
10、numpy函数
import numpy
#把列表转化为数组
a=numpy.array((1,2,3,4))
print(a)
结果: [1 2 3 4]
print(a.reshape(2,2))
结果:
[[1 2]
[3 4]]
#全0二位数组,零矩阵
array0=numpy.zeros((3,3))
print(array0)
结果:
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
#全1的二维矩阵
array1=numpy.ones((3,3))
print(array1)
结果:
[[1. 1. 1.]
[1. 1. 1.]
[1. 1. 1.]]
#单位矩阵
array3=numpy.identity(3)
print(array3)
结果:
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
11、正则表达式
import re
string="1223dsfsdDDS你好"
a=re.search('[0-9]{4}',string)#匹配4个数字
b=re.search('[a-zA-Z]{8}',string)#匹配英文字母
c=re.search('[\u4e00-\u9fa5]{2}',string)#匹配汉字
print(a)
print(b)
print(c)
网友评论