欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python基础_Day02

程序员文章站 2022-03-02 20:25:01
...

1.听写

写出过程
1.将二进制转化为十进制
	0b1011010
	0 + 2 + 0 + 8 + 16 + 0 + 64 = 90
2.将二进制转化为八进制
	0b 001   011    101   110    101
		1	  3	    5	  6		5
	0o13565
3.将二进制转化为十六进制
	0b 0010  1101  0101   1011
		2	  d     5      b
	0x2d5b
4.将十进制转化为二进制
	111.125
	3  2  1  0  -1     -2      -3
    8  4  2  1   0.5   0.25    0.125
	64 + 32 + 8 + 4 + 2 + 1
	1101111.001
5.以八位为例 计算下列数据
	-18 + 9
	-9 + 18
	1001 0010
	1110 1101
	1110 1110
	0000 1001
	---------
	1111  0111 ----> 1111 0110 ---> 1000 1001 ---> -9
	
	1000 1001
	1111 0110
	
	1111 0111
	0001 0010
	---------
1    0000 1001 ----> 9
	
6.设置环境变量的目的
	需要解释器解释python文件  py文件是可以存放在任何目录下的
	在任何目录下都可以获得解释器执行py文件 -----> 设置环境变量path

2.课程概述

1.python发展史

2.系统的32b和64b之分

3.变量

4.标识符

5.初见数据类型

6.输入

7.数据转换常用功能

8.运算符

9.流程控制语句 - 分支if语句

3.Python的发展史

Python底层是由C语言实现的 正式版本公布于1991年

研发出来是在1989年 荷兰人"硅叔"

网站 —>1999年才支持网站开发

爬虫

人工智能

2000年出现的2.0

2004年出现了经典版本 2.4 —>Django写网站的框架

2008年 2.6

同一年的12月 3.0版本出现了 —>不兼容2.0的

因为3.0没有被使用 2.6.1 小版本的出现 是为了做一个到3.0的过度

2010年出现了2.7,完成了2.x—>3.x的一个过度

2020年不再对2.x进行维护

4.系统32b和64b的区别

CPU 一次处理数据的能力: 32b还是64b

32b 能支持的电脑的内存是 2^32 —> 4G 真实使用的话也就3.7G

64b 能支持的电脑的内存 2^64 —> 能达到数亿位

5.变量

变量: 某个内容的数据值是变化的

数学题:

一辆车A以匀速每小时100km行驶在路上 问多少小时后行驶1000km

一辆车B以匀速每小时150km行驶 A行驶1000km之后 B出发  问多少小时后B能追上A

解: 设x小时候 A行驶2000km y小时候B追上A

100 * x = 1000

x = 20.0

100 * (x + y) = 150 * y

变量在程序中的作用:

变量的作用是为了存储运算过程中一些变化的结果 便于后期的使用

官方的解释:

变量就是来存储数据的 以便于后期的使用和修改, 为了方便获得数据, 为数据提供了一个标记性的描述名字[变量名]

Python中如果想使用一个变量的话 该变量必须先被声明出来 并赋予一个初始值

使用变量的时候 给该变量起一个标记性的名字[自定义名字]

对于自定义名字需要符合一些规范: 标识符规范

6.标识符

标识符的组成 英文字母 - 数字 -下划线

自定义名字的注意事项:

  1. 不能以数字开头
  2. 不能包含其他符号
  3. 不能使用Python已经提供的关键字 或者 已被python占用的名字
    自定义变量名 自定义py文件的名字 自定义函数名 类名…

7.初见数据类型

项目名字命名规则: 采用的是驼峰制: 大驼峰

每个单词的首字母都是大写的 例如 FirstDemo

py文件的名字是采用小写字母 每个单词之间使用下滑线隔开

python3.x默认采用的编码是utf-8的编码

在python3中变量名可以为中文 但是这种格式不建议使用

一个变量的数据类型是由值来决定的

变量名区分大小写的 大小写敏感

功能: 检测变量的类型 type(变量名)

系统提供的数据类型:

整型(int)

	表示的是变量的值是整数

浮点型(float)

	表示的是变量的值是小数

复数类型(complex)

	有实部和虚部 这种数据不常用

	3j + 4

布尔类型(bool)

	这种类型只有两个值 True 和 False

字符串类型(str)

	标识是引号  由引号包含一个或者多个字符  不区分单双引号

列表(list)

	标识是 [] 是一个容器 来存放多个变量的值的 有序的

	在容器中每加入一个元素 都会自动为该元素添加一个编号 这个编号是从0开始的

	这个编号又称之为下标 / 脚标 / 索引

	根据编号获得容器中的内容 或者 进行修改

元组(tuple)

	元组的标识 ()  也是一个容器  来存放多个变量的值  有序的

	在容器中每加入一个元素 都会自动为该元素添加一个编号 这个编号是从0开始的

	这个编号又称之为下标 / 脚标 / 索引

	根据编号获得容器中的内容 

	和列表的区别:

		元组中的内容是不允许发生变化的

	小括号还有提高运算符优先级的功能,如果小括号中只有一个值,这个小括号就表示的提高优先级的功能,不是表示元组的,如果需要元组中只存放一个元素 ,需要在这个元素的后面添加逗号,通过逗号来表示该数据是一个元组

字典(dict)

	存放的是具有映射关系的键值对  键和值是一一映射对应的  无序的

	字典的标识是 {}

	key:value

	key具有唯一性  需要根据key来进行查找的

集合(set)

	把集合当做存放字典的key值  在集合中元素是不能重复的  作用用于排重

	集合是无序的 --->添加顺序和显示顺序不一致

	集合也是没有索引的

声明变量在内存中的过程:

如果想在程序中使用某个内容  前提这个内容必须在内存中存在才可以使用

现在内存中开辟一块区域  这个区域中存放变化的数据	

8.输入功能

input(提示语)
这个功能会返回一个结果: 这个结果是用户输入的数据
python3.x中 无论用户输入的是什么数据 最后在程序中接收到的都是字符串类型

9.数据转换

1. 将数据转化为整型
	int(数据)
		如果数据是字符串类型的 除了正负号之外 不允许有其他符号 否则转换失败
		浮点型的话 直接强转为整型 --->取整
		bool  True为1  False为0
2.将数据转化为浮点型
	float(数据)
	如果数据是字符串类型的 除了正负号和与数值挨着的第一个小数点之外 不允许有其他符号 否则转换失败
3.将数据转化为bool类型
	bool(数据)
	数值中: 非0即为True
	字符串: 空字符序列为False  其他为True
	None: 表示的是False
4.将数据转换为字符串类型str
	str(数据)
5.将数据转化为二进制
	bin(数据)
6.将数据转化为八进制
	oct(数据)
7.转换为十六进制
	hex(数据)
8.获得字符对应的十进制数据
	ord(字符)
	字符 --->由引号包含的单个符号
9.将十进制数据转化为对应的字符
	chr(数据)
10.解析代码 
	eval(字符串)
	将字符串中的代码可以解析出来

练习

1. 用户输入一个小写的英文字母 ---> 输出该英文字母对应大写格式
		a ---> A
2. 用户输入一个算术式 输出该算术式的结果
		12 + 15 - 7 ---> 20

10.运算符

算术运算符

基本运算符	
	+  加
	-  减
	*  乘
	/  除
	// 整除 [把除的结果只取整数部分]
	%  取余/模 [整除之后余数]
	** 幂数 [求次方  x**y  x的y次方]
	
复合运算符
	=  赋值运算符
	+=  
	-=
	*=
	/=
	//=
	%=
	**=

关系运算符

关系运算符的结果是bool类型的 这个关系要么成立 要么不成立
大于  >
小于  <
大于等于 >=
小于等于 <=
恒等  ==
不等于  !=

逻辑运算符

关联多个关系表达式的 最后的结果也是bool类型的
逻辑与(and)
	类似于并且的关系 一假则全假
	True and False = False
	True and True = True
逻辑或(or)
	一真则全真
逻辑非(not)
	真变假 假变真
	not True = False
	not False = True
这三个运算符的优先级: not > and > or
逻辑与和逻辑或有短路原则:
	逻辑与的短路原则:
		根据一假则全假得出的
		and运算符左边的表达式不成立 右边表达式不参与运算  直到or的位置为止
	逻辑或的短路原则:
		根据一真则全真得出的
		or运算符左边的表达式成立 右边表达式不参与运算
根据短路原则 获得三元表达式:
	value =	条件表达式 and 表达式1 or 表达式2
	条件表达式成立 将表达式1的结果给value
	否则将表达式2的结果给value

成员运算符

针对于序列而言的
检测某个内容是否在指定的序列中
	字符串  列表  元组  字典  集合
元素 in 序列
	某个元素是否包含在指定序列中
元素 not in 序列
	某个元素是否不包含在指定序列中

身份运算符

验证的数据的地址是否一致
x is y 
	如果为True 代表两个地址相同  id(x) == id(y)
x is not y
	如果为True 代表两个地址不相同  id(x) != id(y)

位运算符

规则: 1视为True  0视为False
针对于二进制数来做运算的 上下关系对应 根据运算符判定对应位真或者假 真的话设置为1 假的话设置为0
包含符号位进行运算的
按位与(&)
	上下位 一假则全假
	6 & 7
	0000 0110
	0000 0111
	---------
	0000 0110 ---> 6   
 按位或(|)
 	上下位 一真则全真
 	6 | 7
 	0000 0110
 	0000 0111
 	---------
 	0000 0111 ---> 7
 按位异或(^)
 	上下位 相同为假 不同为真
 	6 ^ 7
 	0000 0110
 	0000 0111
 	---------
 	0000 0001 -----> 1
 	一个数与相同的数异或两次结果是其本身[简易的加密]
 	1 ^ 7
 	0000 0001
 	0000 0111
 	---------
 	0000 0110 -----> 6
 	交换两个变量的值:
 	a = 10, b = 12
 	借助三方变量
 		c = a
 		a = b
 		b = c
 	根据异或的结论: 一个数与相同的数异或两次结果是其本身
 	简单粗暴的方式: a , b = b , a	
 按位取反(~)
 	将每一位上的0变1  1变0
 	~7
 	0000 0111
 	~
 	1111 1000[补码] --->反码 1111 0111 --->原码 1000 1000 ---> -8
 按位左移(<<)
 	一种款速计算方式
 	快速计算出2**3的值   1 << 3
 	左移之后 右边空出补0 
 		12 << 2  脑子中快速计算方式:   12 * 2 ^ 2 = 48
 		0000 0001
 按位右移(>>)
	右移之后 左边空出  正数补0  负数补1
	快速计算方式 
		48 >> 2    48 // 2 ^ 2
相关标签: Python