python基础
一、标准输入、输出
1、输出print()函数
1.1 两个重要参数:
1、sep是指定分隔符,
2、end=是以什么结尾。默认是以\n换行符结尾。
1.2 举例
1、print(“大明”,“小明”,sep = "小明
2、print(“大明”,“小明”,sep = "小明==
2、输入input()函数
该函数可以接受一个字符串, 用来提示用户需要输入什么。注意:无论输入什么, input()返回的都是字符串。
二、变量定义与赋值
1、赋值语句是 =, 左边是变量, 右边是值
2、本质上是让变量指向该值所在的内存地址, 当使用一个变量的时候, 其实使用的是该变量所指向的内存地址中的那个值
3、变量的命名规则:
(1)变量名只能是 数字、字母或下划线的任意组合
(2)变量名的第一个字符不能是数字
(3)关键字不能声明为变量名,查询关键字方式如下:
import keyword #关键字的列表
print(keyword.kwlist)
三、数据类型
1、布尔值
(1)只有两个取值True or False
(2)可以进行逻辑运算和算术运算:当做算术运算的时候, True就是1, False就是0;当做逻辑运算的时候, True就是正确, False就是错误
(3)布尔值不可用改变
2、数值型
2.1 整数型int
int()函数将其他数据类型转化为整数型
2.2 浮点数float
float()函数将其他数据类型转化为浮点数
2.3 复数complex
基本很少用到,可以这样定义a =3+4j
2.4 运算符
1、算术运算符:+ - * / //(取整) %(取余数) **(求幂)等
2、比较运算符:==(是否相等) != > < >= <=等
3、复合赋值运算符:
(1)+=:举例c+=a 等同于 c=c+a
(2)- =:举例c- =a 等同于 c=c - a
(3)其他类似
3、字符串
3.1 特性
1、不可变数据类型
2、有序的数据类型
3.2 定义
1、str()函数将其他数据类型转化为字符串
2、直接加引号进行定义
3.3 运算
1、+:字符串的首尾拼接
2、*:字符串的重复
3、in:包含
3.4 切片与索引
str [开始位置:终止位置 : 步长和方向]
(1)开始位置能取到
(2)终止位置取不到
(3)第三个参数若为正, 则代表从左往右取
3.5 重要方法
3.5.1 3个检索的方法
1、str.count(要计数的对象, 开始位置, 结束位置)
(1)举例:str0=“abcdedfgdhij” str0.count(“d”,1,10) ,统计1-10的位置中,d出现的次数
(2)1-10不写,默认为整个字符串
2、str.find(要查找的对象, 开始位置, 结束位置), 找不到返回-1
(1)返回目标字符串中指定字符的最低索引(第一次出现的位置)
(2)举例:str1=“红帘红映月昏黄近”
str1.find(“红”,2,5),返回2-5第一次出现“红”的索引
3、str.index(要索引的对象, 开始位置, 结束位置), 找不到就报错,同find
3.5.2 3个分割方法
1、str.split(分隔符, 分割次数)
(1)分隔符默认是以\n \t 空格等特殊字符进行分割
(2)默认分割次数是-1, 即全部分割
(3)返回的是一个列表, 不保留分隔符
(4)使用sep作为分隔符字符串,返回字符串中单词的列表,作为sep的字符就消失了
(5)举例:str0=“abcdedfgdhij”
str0.split(“d”,2) 返回结果:[‘abc’, ‘e’, ‘fgdhij’],d消失
2、str.splitlines(True或者False)
(1)不能指定分隔符, 默认就是\n \r\n等换行符进行分割
(2)True就是保留分隔符
3、str.partition(分隔符)
(1)分成三部分:分隔符左边一部分,分隔符一部分,分隔符右边一部分
(2)返回的是一个元祖, 保留分隔符
(3)举例:str0=“abcdedfgdhij”
str0.partition(“c”) 返回结果:(‘ab’, ‘c’, ‘defedcbaf’)
3.5.3 1个替换的方法
1、str.replace(旧字符串, 新字符串, 替换次数),默认全部替换
2、其中所有出现的子字符串old都替换为new。其中替换次数可以通过参数控制
3、举例:str0=“abcdedfgdhij”
str0.replace(“d”,“D”,2) 返回结果:‘abcDeDfgdhij’
3.5.4 1个字符串的格式化方法
1、str.format()
2、举例:print(’{}的年龄是{}岁{}’.format(‘小哥哥’, 20 ,’!’))
3.5.5 判断字符串内的元素类型
1、str.isalpha():若str所有字符都是字母,返回True,否则返回False
2、str.isdigit():若str只包含数字,则返回True,否则返回False
3、str.isalnum():若str所有字符都是字母或数字,则返回True,否则返回False
4、str.isspace():若str中只包含空格,则返回True,否则返回False
5、str.islower():若str中的字母全是小写,则返回True,否则返回False
6、str.isupper():若str中的字母全是大写,则返回True,否则返回False
7、str.istitle():若str中的首字母大写,则返回True,否则返回False
3.5.6 其他使用方法
1、str.lower():转换str中所有大写字符为小写
2、str.upper():转换str中所有小写字符为大写
3、str.strip():删除str两端的指定字符,若不指定默认是空格
4、列表list
4.1特性
1、可变的数据类型
2、有序的数据类型
4.2 定义
1、list()函数将其他数据类型转化为列表
2、直接加 [] 定义
4.3 运算
1、+:把列表中的元素合并到一个新列表中
2、*:重复列表中的元素
3、in:包含
4、索引和切片, 同字符串
4.4 重要方法
4.41 增
1、list.append(要追加的元素):把一个元素添加到列表的结尾,相当于a[len(a):] = [x]
2、list.extend(要进行扩展的序列):将一个给定列表中的所有元素都添加到另一个列表中
3、list.insert(索引, 要插入的对象):在指定位置前插入一个元素
4.42 删
1、del list[要删除元素的索引值]:
2、list.clear():从列表中删除所有元素,相当于del a[:]
3、list.pop(要删除元素的索引):默认"弹出"最后一个元素, 并返回给调用者;可以通过参数index指定弹出元素的索引值;若不写参数,a.pop()返回最后一个元素。
4、list.remove(要移除的元素):删除列表中值为x的第一个元素。如果没有,就会返回一个错误。
4.43 改
list[索引位置] = 新值
4.44 查
1、list.count(要计数的对象)
2、list.index(要查找的对象)
4.45 排序
1、list.sort()
2、list.reverse()
4.46 拷贝
1、浅拷贝 list.copy()
2、深拷贝 from copy import deepcopy
a = deepcopy(b)
5、元组tuple
5.1 特性
1、不可变数据类型
2、有序的数据类型
5.2 定义
1、tuple()函数将其他数据类型转化为元组
2、直接加()定义
3、单个元素的元组的定义
5.3 运算
1、+:把元组中的元素合并到一个新元组中
2、*:重复元组中的元素
3、in:包含
5.4 索引和切片, 同列表
5.5 方法
1、tuple.count(要计数的对象)
2、tuple.index(要查找的对象)
5.6 元组和列表的区别
1、元组和列表很类似,元组有很多用途。例如(x,y)坐标对,数据库中的员工记录等等。
2、元组就像是字符串,是不可变的。通常包含不同种类的元素并通过分拆或索引访问。
3、列表内容是可变的,它们的元素通常是相同类型的,并通过迭代访问
4、对于某些领域来说,能用元组,就不用列表,因为元组速度更快,它是敞亮的。使用元组不需要对修改的数据进行写保护,使得数据更安全
6、字典
6.1 特性
1、可变的数据类型
2、序的数据类型
3、元素是键值对的形式, 键只能是不可变数据类型
4、键不可以出现重复值,值是可以重复
6.2 定义
1、dict()函数可以将一个二维的东西转变成一个字典,
a = dict([[‘a’,1], [‘b’, 2], [(1, 2), 3]])
2、直接用{}定义
3、访问字典的值
d = {‘Name’:‘Evan’,‘Age’:20,‘Class’:‘First’}
print(‘Name:’,d[‘Name’])
print(‘Age:’,d[‘Age’])
6.3 运算
1、in:判断的是是不是键
6.4 方法
6.4.1 增
1、dict[新键名]= 新值
举例: dict4=dict(李雷 = 90,韩梅梅 = 95,Tom = 90,Lucy = 89,小明 = 85)
如果键已经存在, 就是修改该键所对应的值
2、dict.setdefault(新键, 值)
(1)如果键已经存在, 则没有任何变化。值如果不指定, 则默认是None
(2)举例 dict4.setdefault(“张三”) 返回结果:
{‘李雷’: 90, ‘韩梅梅’: 95, ‘Tom’: 90, ‘Lucy’: 89, ‘小明’: 85, ‘张三’: None}
3、dic1.update(dic2)
(1)把dict2中的键值对更新到dict1中
(2)举例:
dict3 = {“李雷”:85,“韩梅梅”:90,“Tom”:90}
dict4 = dict(李雷 = 90,韩梅梅 = 95,Tom = 90,Lucy = 89,小明 = 85)
dict4.update(dict3)
dict4的返回结果
{‘李雷’: 85, ‘韩梅梅’: 90, ‘Tom’: 90, ‘Lucy’: 89, ‘小明’: 85}
6.4.2 删
1、del dict[键]
2、dcit.pop(键)
3、dict.popitem()随机删除一堆键值对, 一般就是最后一对键值对
4、dict.clear()
6.4.3 改
1、dict[新键] = 新值
6.4.4 查
1、dict[键]
2、dict.get(key, default=value):如果key对象存在,则返回value,value默认是None
3、dict.keys():返回包含所有键的列表
4、dict.values():返回包含所有值的列表
5、dict.items():包含所有键值对的列表,将键/值对看成一个元素,并返回列表
7、集合
7.1 特性
1、可变的数据类型
2、无序的数据类型
3、集合的元素特性和字典的键一样
4、集合的元素是不重复的
7.2 定义
1、set()函数将其他数据类型转变成集合
2、通过{}直接定义
7.3 运算
1、s1&s2交集:s1.intersection(s2)
2、s1 | s2并集:s1.union(s2)
3、s1-s2差集:s1.difference(s2)
等等
7.4 重要方法
7.41 增
1、set.add(新元素)
2、set.update(一个序列):把这个序列中的元素一个个增加到集合中, 如果是一字典, 那增加的是字典的键
7.42 删
1、set.remove(要移除的元素)
2、set.remove():随机删除一个元素, 并返回该元素
3、set.clear()