1. 输入输出
Python中输出使用print(),输入使用input()
使用方式:
1.print()
python#输出1+2+3的结果 print(1 + 2 + 3)我们注意到,python中语句的结尾不需要使用分号,且输出语句内除了string类型变量,都不用添加引号
2.input()
pythona = input("请输入整数:")input括号中既可以什么都不填写,也可以填写输入提示词,他会先输出到显示器,然后用户在提示词后可以输入数据
2.变量类型
python中,进行变量创建时不需要显式指定变量类型,而是可以根据给他赋值的变量/常量的类型自动推演出该变量应该的类型
python#合法 a = 10 #合法 a:int = 10如果要显式指定类型也是可以的
2.1int类型
int类型是一个表示数据范围无上限的类型,只要内存足够,他可以表示无限大小的数据,同时他类型占用大小也是动态调整的
和其他大部分语言不同,python只有一个表示整数的类型就是int类型,因为他的动态占用机制,保证了他不需要long long等类型
显示数据类型为int的代码:
pythona = 10 print(type(a))
2.2float类型
同样的,python只有一种表示浮点型的类型,就是float,而这里的float和c++不同,他其实相当于c++中的double类型,也就是双精度浮点型
类型转换语法:
pythona = "1" a = int(a)
2.3string类型
同理,python只有一种表示字符的类型,就是string,它既可以使用单引号括起来,也可以使用双引号括起来
**字符串相加运算:**字符串之间可以直接相加,但是不可以直接和数字相加
如何将输出内容结合字符串和数字?
我们以输出num = 1为例
pythonnum = 1 print(f'num = {num}')先在输出字符的前面写上一个f,然后将需要打印的数字使用{}包起来
如果想输出包含引号的字符串,怎么写?
pythona = " a + 'b' = c " a = ' a + "b" = c '外部使用单引号,内部就使用双引号,外部使用双引号,内部就使用单引号
2.4bool类型
其中True表示真,False表示假,与c++不同的是首字母必须大写,且True的值为1,False为0
可是我们给变量初始化赋值的时候不能用0/1进行赋值,必须使用True、False
3.运算符
3.1算术运算符
注意1:
整数/整数得到的结果可能是小数,且不会截断
如果是想取整的除法,可以使用//,它的效果和c++中的/一样
注意2:
**是求乘方,整数次方和小数次方都可以计算
pythonprint(4 ** 2)#表示4^2 print(4 ** 0.5)#表示4^0.5注意3:
python不支持自增和自减运算符(++,--)
3.2关系运算符
注意1:
使用==和!=可以直接判断字符串是否相等,而进行比较大小时,规则就是按照字典序进行依次比较
注意2:
浮点型数据判断相等不能使用==,因为浮点型数据是有精度误差的,可以使用另外一种方法比较
pythonprint(-0.000001 < (a-b) < 0.000001)两个浮点数相剪,如果计算结果的误差处于一定范围内,那么可以认为两个浮点数是相等的
且在python中,进行范围比较可以直接使用数学上的比较方法
3.3逻辑运算符
and:相当于&&
or:相当于||
not:相当于!
3.4赋值运算符
多元赋值:
pythona,b = 1,2
4.常用语句
特别注意:if/while/for等语句块不影响变量作用域,他们在语句块内创建后,语句外也可以使用
4.1条件语句
(1)if
pythonif 条件: 语句1 语句2 if外的其他语句这里不包含{},而是使用Tab来控制语句所处位置
(2)if else
pythonif 条件: 语句1 else: 语句2(3)if elif else
pythonif 条件: 语句 elif 条件: 语句 else: 语句补充:
1.空语句:pass这表示空语句,主要用于保持语法格式的正确
4.2循环语句
while循环
pythonwhile 条件: 循环语句for循环
pythonfor 循环变量 in 可迭代对象 循环语句其中可迭代对象是内部包含多个元素,可以将元素一个个取出来的特殊变量
补充:
**range(a,b,c):**可用于生成可迭代对象范围为[a,b),其中c表示步长,默认步长为1,也就是逐个取出,如果步长为2表示隔一个再取出
5.函数
创建函数:
pythondef 函数名(形参列表): 函数体 return 返回值同样的,在这里也不需要指定形参的类型
**返回值:**一个函数可以一次返回多个值,如果只想获得其中部分的值结果,可以使用''作为占位符,不获取''对应位置的数据值
函数使用:
python函数名()注意:
使用的时候如果想要修改全局变量的值,需要使用global进行变量声明(eg: global x)
关键字参数:
如果我们需要再传递实参的时候按照任意顺序传递给形参,可以使用关键字参数、
假设函数声明
pythontest(y = 1, x = 2)
6.列表和元组
(1)列表与元组的定义:
列表是一个可用于批量表示/保存数据的数据类型,且列表中的元素可以进行修改调整
元组中的元素是创建的时候设定好的,不能修改
(2)列表相关1.创建列表:
pythonalist = []#空创建 alist = list()#空创建 alist = [1,2,3,4]#初始值创建 alist = [1,'a',True]#多类型元素初始化python中的列表初始化是可以同时使用多种类型的元素的
2.访问方式:
下标访问与修改
pythonalist[0] = 1#正序访问,访问下标为0的第一个列表元素 alist[-1] #倒序访问,访问倒数第一个列表元素下标访问是可以用负数索引的,表示倒数的访问
3.切片操作:
切片就是取出一组连续的元素,相当于得到一个子列表,使用 '[ : ]' 的方式进行操作
pythonprint(alist[1:3])#表示取出下标为1到3的子列表(不包含3索引数据本身)相当于取出[1,3)索引的数据
注意:
**边界省略:**前边界省略表示从列表开头获取,后边界省略表示获取到列表结尾,全部省略表示获取整个列表
**步长指定:**步长设置后可以实现每访问一个元素后,下标自增几步
pythonalist[::2]#表示列表正序取出元素每隔两步才取出一个元素 alist[::-2]#表示列表倒序取出元素每隔两步才取出一个元素**切片越界:**不会报错,而是会尽可能的将你指定的范围内的元素取出来
4.遍历列表元素:
使用for循环
pythonfor e in alist: print(e)5.增删查列表元素:
增:append方法(尾插)
pythonalist.append('hello')insert方法(任意位置插入)
pythonalist.insert(1,'hello')查:
in操作符,判断是否存在,返回bool类型
pythonprint(2 in alist)删:
pop方法
pythonalist.pop()#尾删 alist.pop(2)#按照下标删除remove方法
pythonalist.remove(2)#按照值删除6.链接列表:
通过+号可以将两个列表拼接在一起,此时结果会产生一个新的列表,但是不会对进行运算的两个列表产生影响
pythonalist = [1,2,3] blist = [4,5,6] print(alist+blist)extend方法:可以将一个列表拼接到另一个列表的后面
pythonalist.extend(blist)#将blist拼接在alist的后面(3)元组相关
元组主要是用于需要使用序列元素的场景下,对序列元素做保护的时候,因为元组内部元素无法修改,所以天然可以保护内部元素
7.字典
字典是存储键值对的结构,其中键值之间用':'分隔,键值对之间用','分隔
pythonstudent = { 'id' : 1, 'name' : 'leo' }(1)查找key
可以使用in来判断是否存在
pythonprint('id' in student)(2)增加/修改元素
pythonstudent['id'] = 1(3)删除元素
使用pop方法,根据key删除对应键值对
pythonstudent.pop('score')(4)遍历字典元素
使用for循环可以获取字典中所有的key,然后就可以取出每个值了
pythonfor key in student: print(key,student[key])注意:不是所有类型都可以作为key的,只有可以计算哈希值的类型才可以
所以,列表和字典由于无法计算哈希值,都不能作为key
8.文件
文件就是用来保存进行了硬盘中持久化存储的数据的
(1)打开文件
pythonf = open('d:/test.txt','r')这表示以只读的方式打开文件
(2)关闭文件
pythonf.close()(3)写文件
前提是以'w'权限打开文件
pythonf = open('d:/test.txt','w') f.write('hello')(4)读文件
前提是以'r'权限打开文件
pythonf = open('d:test.txt','r') result = f.read(2)read里面填写的数字表示读取几个字符
9.库
(1)导入模块
使用import可以将单独的.py文件导入到当前的.py文件中,并执行其中的代码
由于Python属于解释性语言,可以直接运行源码,所以不区分头文件和源文件,声明和定义都是放在一起的
pythonimport [模块名](2)下载第三方库
使用pip来下载Python收集的第三方库
pythonpip install [库名]