程序的概念
程序实际上就是一段可以由计算机执行的代码,用Python语言编写的就叫Python程序,Java语言编写就叫Java程序
程序由什么组成?
程序=语法+算法+数据结构
语法是固定的,算法是解决问题的方法,算法是变化的
开发环境搭建
Python开发环境主要包括两个部分
Python解释器:Python主要负责在电脑上运行Python程序。安装好之后,需要配置path环境变量。环境变量里面需要配置Python的安装路径、Python安装路径下的Scripts文件夹的路径。
Pycharm代码编辑器:Pycharm的主要作用是为了方便大家快速地编写Python代码
运行Python程序的三种方法
1.交互式解释器中直接运行Python代码
2.命令行的方式运行Python代码
3.用编辑器运行Python代码(Pycharm,VSCode等)
输入和输出
input()接受用户输入,默认返回值是字符串
print()打印输出,可以用’,'分隔参数,默认带回车(换行显示)
变量
在程序运行过程中它的值是允许改变的量,叫变量
变量用于在程序中存储特定的数据或信息
Python中的变量不需要类型声明,变量的类型由赋值给它的数据的类型决定
每个变量在使用前都必须先被赋值,变量被赋值后该变量才会被创建
赋值(=)用来给变量赋值。赋值(=)运算符左边是一个变量名,赋值(=)运算符右边是存储在变量中的值
Python中变量命名的规则
1.第一个字符必须是字母或下划线’_',其他的部分由字母、数字和下划线组成。py文件不要使用‘-’和以数字开头命名
2.变量名称对大小写敏感,所以我们在命名时使用大写首字母可以很有效的避开关键字的错误使用
3.变量名不要使用Python的保留关键字
4.在实际项目中,尽量使用能够表征变量含义的变量名
占位符
占位符就是先占一个固定的位置,等着你再往里面添加内容的符合。格式占位符(%)是在Python语言中格式输入函数,如print()等函数中使用。其意义就是起到格式占位的意思,表示在该位置有输入或者输出
%d,整数
%f,浮点数
%s,字符串
%%,表示%符号本身
format占位符方法,支持不指定数据类型的占位
Python语句块
Python以缩进来表示语句块,同一缩进级别为同一级别的语句块
缩进最好使用四个空格,而且要注意缩进要一致,使用空格就全部用空格,使用Tab就都使用Tab
数据类型
不同的数据类型可以处理不同的问题和场景,所以不同数据类型有不同的方法
Number数字(不可变) String字符串(不可变) Tuple元组(不可变)
List列表(可变) Set集合(可变) Dictionary字典(可变)
可变数据类型:改变数据的值并不会产生一个新的对象,变量仍然指向原来的对象,叫可变数据类型
不可变数据类型:凡是改变了数据的值之后,这个值就将变成另外一个对象的数据类型,叫不可变数据类型
数值数据类型
数值类型分为int、float、complex三种
整型:通常被称为是整型或整数,是正或负整数,不带小数点 如10,78
浮点:由整数部分与小数部分组成 如2.65 3.1415
复数:复数由实数部分和虚数部分构成,可以用a+bi,或者complex(a,b) 表示,复数的实部a和虚部b都是浮点型
math模块中常用的方法 import math
ceil:取大于等于x的最小的整数值,如果x是一个整数,则返回x
fabs:返回x的绝对值
floor:取小于等于x的最大的整数值,如果x是一个整数,则返回x
pow:返回x的y次方,即x**y
sqrt:求x的平方根
random模块产生随机数 import random
random.random() 返回[0.0,1.0)之间的浮点数 左闭右开的区间,随机数可能为0不能为1
random.randint(a,b) 生成一个a与b之间的随机整数,[a,b]
random.randrange(a,b) 生成的随机整数不会包含b ,[a,b)
random.uniform(a,b) 生成[a,b]之间的随机浮点数
random.choice([]) 从列表中随机取出一个元素
random.shuffle([]) 打乱列表中元素的顺序
random.sample([],n) 从序列中随机取出n个元素
字符串数据类型
在Python中,凡是由单引号’ ‘,双引号” “和三引号‘‘’ ‘’‘括起来的值或变量都是属于字符串类型
单引号和双引号可以互相替换,作用完全一模一样没有任何区别,单引号和双引号是可以嵌套使用的
三引号一般用作于诠释文档或者是需要保持样式的长字符串
字符串切边
切片操作可以从一个字符串中获取子字符串(字符串的一部分)我们使用一对方括号、起始偏移量start、终止偏移量end以及可选的步长step 来定义一个分片
字符串中每个字符都有正负两个下标,两个下标对于这个字符来说都是等效的,不管使用哪个下标都是取得对应的字符
在python中如果遇到字符串中需要大量使用转义字符时,可以使用python提供的原始字符串功能,即在要转义的字符串前面加r,即可实现自动转义
字符串常用函数
len(string) 返回字符串长度
count(str,beg=0,end=len(string)) 返回str在string里面出现的次数,如果beg或者end指定则返回指定范围内str出现的次数
capitalize() 将字符串的第一个字符转换为大写
find(str,beg=0,end=len(string)) 检测str是否包含在字符串中,如果beg和end指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1
replace(str1,str2) 把字符串的str1替换成str2
split(str=" ") 以str为分割符拆分字符串,返回的字符串拆分后的列表
index(str,beg=0,end=len(string)) 跟find()方法一样,不过如果str不在字符串中会报一个异常
’,'.join(['a','b','c']) 以指定符号连接后面列表中的字符串元素,以字符串形式返回
列表数据类型
列表是Python中的重要数据类型,它可以作为一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型。创建一个列表,只要把逗号分割的不同的数据项使用方括号括起来即可
列表也是一种序列,序列内的元素都是有标号的,即从0开始,可以通过索引访问
列表的赋值
列表赋值指向同一个地址
嵌套列表取值
列表常见方法
lst.append(obj) 在列表末尾添加新的对象
lst.count(obj) 统计某个元素在列表中出现的次数
lst.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) 和lst1+lst2效果等价
lst.index(obj) 从列表中找出某个值第一个匹配项的索引位置,索引从0开始
lst.insert(index,obj)将对象插入列表
lst.pop(index) 移除列表中的一个元素(如不写index则默认移除最后一个元素),并且返回该元素的值
lst.remove(obj) 移除列表中的某个值的第一个匹配项
lst.reverse()反向列表中元素,倒转
lst.sort()对原列表进行排序(无返回值)
max(lst) 求列表最大值
min(lst) 求列表最小值
sum(lst) 对列表求和
len(lst) 求列表中元素个数
list(str) 将字符串强制转化成列表
list(range(start,end=None)) 快速生成指定范围内的数字列表
元组数据类型
Python的元组与列表类似,不同之处在于元组的元素不能修改,元组使用小括号(),列表使用方括号[],元组创建很简单,只需要在括号中添加元素,并使用逗号(,)隔开即可
注意:元组一旦初始化,就不再允许被修改
如果元组的元素只有一个的话,必须在这个元素后面加一个逗号,才会定义一个元组对象
集合数据类型
Python的set和其他语言相似,是一个无序不重复元素集,主要用于消除重复元素
字典数据类型
字典是除列表之外python中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过索引存取
字典的每个键值(key->value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号中([])
字典的特性 无序 由键值对组成的项,不同的项由逗号分割 键不可重复,可以通过键取得对应的值,值是可以重复的
字典常用方法