课程大纲:
编程基础课程
python基础
面向对象
python高级
爬虫知识(选修)
----------------------------------------------------------------------------------
环境的安装和配置:
运行环境:官方提供了cpython解释器
编辑环境:课程初级阶段:推荐大家使用:
记事本工具(UE、notepad++、editplus、sublime、vscode)
锻炼代码编写的手感!!!!!
中期阶段IDE的使用,pycharm
如何安装python的环境:
1、到官网下载官方提供的解释器
www.python.org
python的版本问题:
python3为主
3.6起步 建议使用:3.8 最新版本1.10
安装教程:
安装路径问题:
不要使用中文、不要使用特殊字符
测试是否成功:
win + r ==> cmd 打开命令提示符
python -V
特殊情况:
输入python -V
没有任何提示
出现了一个python的界面
第一个python程序:
在控制台上输出“hello world”
1、在终端中直接写对应的代码
print("hello python,我来了")
注意:终端中写的代码无法直接保存,因此主要用来测试和调试代码
2、创建一个.py文件【一个模块文件】
|- 右键,创建一个文本文档【很重要】
|- 需要放开系统的后缀名的管理
cmd>
python 创建py文件
编码问题:
python2默认采用的ASCII编码,所以默认不支持中文
python3默认采用的utf-8编码,
注释:
什么是注释
单行注释: # 注释
多行注释:
使用多个单行注释模拟多行注释
python中,三个引号是多行注释
""" 多行注释"""
注意:python中,单引号和双引号是一个意思
'''多行注释 '''
python的变量:
神马是变量:
在程序运行时(runtime),可以变化的量,变量
在python中,没有定义常量的方式,所以python使用变量替代
具有名称的内存空间
为什么使用变量(变量使用的必要性)
age = 18
定义变量:
强数据类型的编程语言(java、C、C++、C#):
在定义变量时,要确定存储的数据类型
int age = 10;
String name = "刘建宏";
弱数据类型编程语言中(PHP、python、JavaScript、ruby):
变量的类型不固定,类型会自动识别
变量名称 = 值
标识符(变量)的命名规范问题:
1、变量名称的只能由大小写字母、数字、_(下划线)【有效符号】这三种符号中的一种或者多种组成
2、变量名称不能以数字开头
3、不能以关键字或者保留字做为变量
4、变量命名尽量的有意义
5、如果多个单词参与命名,建议使用下划线法或者驼峰法
python的关键字:
import keyword
keyword.kwlist
['False', 'None', 'True', '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']
内容回顾:
环境安装
变量
注释
今日目标:
数据类型
数据类型转换
常见的运算符
程序控制流程
数据类型:
基本数据类型:
数值型(number):
整数型(int):
浮点数(float):
复数(虚数):
布尔类型:
真:True
假:False
字符串:
单引号:'字符串'
双引号:"字符串"
三引号:"""也是字符串""" ''' 这个也是'''
None:代表空,也就是没有的意思
复合数据类型:
对象,万物皆对象
list
set
dict
tuple
……
数据类型转换:
自动类型转换:
整数和小数运算,会自动向高精度转换
如果布尔类型和数值型进行运算,布尔类型会自动转换为数值
True:转换为数字1
False:转换为数字0
强制类型转换:
int(字符串) # 将字符串转换为整数
float(字符串) # 将字符串转换为浮点数
str(数值) # 将其他类型转换为字符串
字符串格式化输出:
python提供了很多种字符串格式化输出的方式
1、通过%s占位, %d %f
2、将其他类型全部转换为字符串,通过+拼接,统一输出
3、{}占位输出
4、f"{a} + {b} = {a + b}"
5、通过逗号显示变量
常见运算符:
算术运算符
关系(比较)运算符
逻辑运算符
赋值运算符
三目运算符
位运算符
算术运算符:
+ #
-
*
/
%
** # 幂次方
// # 整除
关系(比较)运算符:
>
<
>=
<=
==
!=
结果是布尔值
逻辑运算符:
and # 并且的关系
or # 或者的关系
not # 不是,取反的意思
所属运算符:
判断一个值是否存在于某个复合数据类型(容器)
in
not in
赋值运算符:
= # 将等号右侧的结果赋值给左侧
+= # a += 10 <===> a = a + 10
-=
*=
/=
//=
**=
%=
python中,没有自加和自减运算符,请使用+=和-=来替代!!!
三目运算符:
C、java等等语言中:
变量 = 表达式 ? 结果1 : 结果2;
a = 10 > 3 ? 20 : 100;
if (10 > 3) {
a = 20;
} else {
a = 100;
}
python中:
变量 = 结果1 if 表达式 else 结果2
位运算符:
位(bit):它是计算机中的最小单位
&
|
^
~
<<
>>
10 1010
11 1011
与运算符
10 & 11 = 10
1010
1011 &
-------------
1010
或运算符
10 | 11 = 11
1010
1011 |
-------------
1011
异或运算
10 ^ 11 = 1
0000 1010
0000 1011 ^
-------------
0000 0001
按位取反
~
~0000 1010
-----------
1111 0101
左移运算
<<
右移运算符
>>
-2 + 2 = 0
0000 0010
1000 0010 +
--------------
1000 0100
如下的三个概念,全部都是因为负数二进制运算出错,为了解决这个问题而诞生
原码:原始的二进制码
反码:符号位不变,其余各位取反
补码:反码加1
0000 0010
1000 0010
1111 1101 反
1111 1110 2的补码
0000 0010
1111 1110 +
-------------
0000 0000
-2 + 1 = -1
1111 1110
0000 0001 +
----------
1111 1111
1111 1110
1000 0001
程序控制流程:
|-- 顺序
|-- 选择结构
|-- 循环
顺序:
代码都是从左到右,自上而下执行的
选择结构:
单分支:
if 条件:
# 条件成立,执行缩进的代码
双分支
if condition:
# 条件成立,执行缩进的代码
else:
# 条件不成立,则执行else中的代码
多(三)分支
if 条件1:
# 条件1成立,执行缩进的代码
elif 条件2:
# 条件2成立,执行缩进的代码
……
elif 条件n:
# 条件n成立,执行缩进的代码
[else:
# 剩余条件
]