Python基础_Day02

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值