Python基础
第一站 出使Python国
1. Python的自述
-
Python学习
-
背后有最强大的代码库
-
被称为”胶水语言“
-
学习方向
2. Python简介
- 1989年,荷兰人吉多·范罗苏姆开始创造,在1991年真正问世,被起名Python大蟒蛇
- 特点
- 跨平台的计算机程序设计语言
- 一种解释性语言,在开发过程中没有编译的环节
- 一种交互式语言,在提示符>>>后直接执行代码
- 面向对象语言,一切皆对象
- 简单易学,适用范围广
3. 搭建Python开发环境
- 官网下载安装包进行安装
4. PyCharm安装
- .py开头模板设置:
5. 输出函数print
-
可以输出的内容
-
数字
-
print(520)
-
字符串
-
print('helloworld')
-
含有运算符的表达式
-
print(3+1)
-
-
输出的目的地
-
显示器
-
将数据输出到指定文件中,注意点:1.所指定的盘符必须存在,2.使用file=fp
fp=open('D:/text.txt','a+') print('helloworld',file=fp) fp.close
-
-
输出形式
-
默认为换行,分隔符为空格
-
利用end参数不换行
print(i, end = '')
- 默认end=‘\n’
-
利用sep参数,改变分隔符
print('hello','world','Python') #——>默认分隔符为空格:hello world Python print('hello','world','Python',sep=',') #——>以,为分隔符输出:hello,world,Python
-
6. 转义字符
-
反斜杠
\
+想要实现的转义功能首字母 -
print('hello\nworld') print('hello\tworld') #四个字符为一个制表位,hell占四个字符,o占一个字符,所以\t就空3个字符 print('helloooo\tworld') #hell占四个字符,oooo占四个字符,所以\t新开一个制表位,空4字符 print('hello\rworld') #world将hello进行了覆盖 print('hello\bworld') #\b十退一个格,将o退没了
-
输出特殊符号
-
print('http:\\\\www.baidu.com') print('老师说:\'上课了\')
-
原字符
-
不希望字符串中的转义字符起作用,就使用原字符
-
只要在字符串之前加上r或R
-
print(r'hello\nworld')
-
注意事项,最后一个字符不能是一个反斜杠,两个可以
-
第二站 七十二变
1. 二进制与字符编码
-
1字节=8bite
-
ASCII码,使用1字节的后7位,最高位不适用,共有27=128个组合,即128个字符
-
ASCII码表
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-becjOEw7-1654480754322)(D:\software\Typora\image\image-20220125154511619.png)]
-
常见的对应关系:
- A-65
- a-97
- 0-48
-
二进制与字符编码
-
二进制0,1——>ASCII——>GB2312——>GBK——>GB18030——>万国码Unicode——>UTF-8
-
UTF-8
-
中文使用3字节表示
-
英文使用1字节表示
print(ord('乘'))-->20056 print(chr(20056))-->乘 20056-->0b100111001011000 print(chr(0b100111001011000))-->乘
-
-
2. 标识符和保留字
-
标识符
- 变量、函数、类、模块和其他对象起的名字就叫标识符
- 规则:
- 字母、数字、下划线
- 不能以数字开头
- 不能是保留字
- 严格区分大小写
-
保留字
-
有一些单词被赋予特定的意义
-
import keyword print(keyword.kwlist) ['False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
-
3. 变量的定义和使用
-
变量是内存中一个带标签的盒子
-
变量名 赋值运算符 值
- eg:name = ‘test’
-
组成:
- 标识:表示对象所存储的内存地址,使用内置函数id(obj)来获取
- 类型:表示的是对象的数据类型,使用内置函数type(obj)来获取
- 值:表示对象所存储的具体数据,使用print(obj)可以将值进行打印输出
-
name = 'test' print('标识:',id(name)) print('类型:',type(name)) print('值:',name)
-
当多次复制之后,变量名会指向新的空间(id)
- 而变量原来指向的内存空间则称为内存垃圾,将有python的垃圾回收机制回收
4. 常见的数据类型
4.1. 整数类型int
- 十进制:默认的进制
- 二进制:以0b开头
- 八进制:以0o开头
- 十六进制:以0x开头
4.2. 浮点数类型float
-
浮点数:整数部分+小数部分组成
-
浮点数存储不精确
-
使用浮点数进行计算时,可能会出现小数位数不确定的情况
-
print(1.1 + 2.2) #3.3000000000000003 print(1.1 + 2.1) #3.2
-
解决方法:
-
导入模块decimal
-
from decimal import Decimal print(Decimal('1.1') + Decimal('2.2')) #3.3
-
-
4.3. 布尔类型bool
-
用来表示真或假的值
-
True表示真,False表示假
-
f1 = True f2 = False print(f1, type(f1)) print(f2, type(f2)) #布尔值可以转成整数计算 print(f1 + 1) #2 ————> True表示1 print(f2 + 1) #1 ————> False表示2
4.4. 字符串类型str
-
字符串又被称为不可变的字符序列
-
可以使用单引号,双引号,三单引号和三双引号来定义
-
单引号和双引号定义的字符串必须在一行显示
-
三单引号和三双引号定义的字符串可以分布再连续的多行
-
str1 = '人生苦短,我用python' str2 = "人生苦短,我用python" str3 = '''人生苦短, 我用python''' str4 = """人生苦短,我用python"""
4.5. 数据类型转换
-
可以将不同数据类型的数据拼接在一起
-
name = '张三' age = 20 print('我叫' + name + ',今年' + str(age) + '岁。')
-
数据类型转换的函数
-
函数名 作用 注意事项 举例 str() 将其他数据类型转成字符串 也可以用引号进行转换 str(123),‘123’ int() 将其他数据类型转成整数 ①文字类和小数类字符串,无法转成整数。②浮点数转成整数:抹零取整 int(‘123’),int(9.8) float() 将其他数据类型转成浮点数 ①文字类无法转成整数。②整数转成浮点数,末尾为.0 float(‘9.9’),float(9)
5. 注释
-
在代码中对代码的功能进行解释说明的标注行文字,可以提高代码的可读性
-
注释的内容会被python解释器忽略
-
通常包括三种类型的注释
-
单行注释 ——> 以 “ # ” 开头,直到换行结束
-
多行注释 ——> 并没有单独的多行注释标记,将一对三引号之间的代码称为多行注释
-
中文编码声明注释 ——> 在文件开头加上中文生命注释,用以指定源码文件的编码格式
-
# -*- coding:utf-8 -*- # coding:gbk
-
-
第三站 算你赢
1. 输入函数input()
-
作用:接收来自用户的输入
-
返回值类型:输入值的类型为str
-
值的存储:使用
=
对输入的值进行存储 -
input()函数的基本使用:
present = input('大圣想要什么礼物呢?') print(present) a = input('请输入一个整数:') b = input('请再输入一个整数:') print(int(a) + int(b)) a = int(input('请输入一个整数:')) b = int(input('请再输入一个整数:')) print(a + b)
2. 常用的运算符
2.1. 算术运算符
2.1.1. 标准运算符
-
加+
-
减-
-
乘*
-
除/
-
整除//
-
==一正一负整除向下取整== print(9 // -4) #3 print(-9 // 4) #3
-
2.1.2. 取余运算符
-
%
-
余数 = 被除数 - 除数 * (被除数 // 除数) print(9 % -4) #-3 print(-9 % 4) #3
-
2.1.3. 幂运算符
- **
2.2. 赋值运算符=
-
运算执行顺序:从右到左
-
支持链式赋值
- a = b = c = 20,将20分别赋值给a,b,c
-
支持参数赋值
-
a = 20 a += 30 #相当于a = a + 30 a -= 10 #相当于a = a - 10 a *= 2 #相当于a = a * 2 a /= 3 #相当于a = a / 2 a //= 2 #相当于a = a // 2 a %= 2 #相当于a = a % 2
-
-
支持系列解包赋值
-
a,b,c = 20,30,40
-
要求等号左边的个数等于右边的个数
-
交换两个变量的值
a,b = 10,20 print('交换之间:',a,b) a,b = b,a print('交换之后:',a,b)
-
2.3. 比较运算符
-
对变量或表达式的结果进行大小、真假等的比较
-
比较运算符的结果为bool类型,True或False
-
>,<,>=,<=,==,!=
,==
,is,is not
-
‘’’
一个 = 称为赋值运算符,两个 == 称为比较运算符
一个变量由三部分组成:标识、类型、值
== 比较的是变量的值
is 关键字,比较的是变量的标识
‘’’
a,b = 10,10 print(a == b) #True print(a is b) #True lst1 = [11, 22, 33, 44] lst2 = [11, 22, 33, 44] print(lst1 == lst2) #True print(lst1 is lst2) #Flase print(id(lst1), id(lst2)) print(lst is not lst2) #True
-
2.4. 布尔运算符
-
and 与
-
当两个运算数都为True时,运算结果才为True;否则为False
-
a,b = 1,2 print(a==1 and b==2) #True print(a==1 and b<2) #False print(a!=1 and b==2) #False
-