Python | 第五章节 | 进制
P40 标识符 2024/8/15
1、Python对各种变量、函数和类等命名时使用的字符序列称为标识符
2、凡是自己可以起名字的地方都叫标识符
num1 = 90
一、标识符的命名规则
1、由26个英文字母大小写,0-9 ,_组成
2、数字不可以开头
3、不可以使用关键字,但能包含关键字
4、Python区分大小写
5、标识符不能包含空格
代码演示:
# @Author :zjc
# @File :013_identifier_name.py
# @Time :2024/8/15 9:20
# 1num = 2
# 1、由26个英文字母大小写,0-9 ,_组成
num9_0 = 1
num~ _1 = 2
# 2、数字不可以开头
1num = 1
# 3、不可以使用关键字,但能包含关键字
if = 500
my_if = 500
# 4、Python区分大小写
n = 100
N = 200
# 5、标识符不能包含空格
myname = 1
my name = 1
小练习:
二、标识符命名规范
- 变量:
- 变量要小写,若有多个单词,使用下划线分开。常量全部大写
num = 20
friend_age = 21
PI = 3.1415926
- 函数:
- 函数名一律小写,如果有多个单词,用下划线隔开。另外,私有函数以双下划线开头
def my_fuc(var1, var2):
pass
def _private_func(var2, var2):
pass
- 类:
- 使用大驼峰命名
1.驼峰命名法有两种,大驼峰命名和小驼峰命名
2.大驼峰命名,多个单词的首字母用大写开头,比如:MyName
3.小驼峰命名,第1个单词的首字母用小写,后面的单词首字母都大写,例如: myName
class Fco:
pass
P41 关键字 2024/8/15
一、基本介绍
关键字的定义和特点(提示:不用背)
定义:被Python语言赋予了特殊含义,用做专门用途的字符串(单词)
P42 键盘输入 2024/8/15
一、input 函数
基本介绍:在编程中,需要接收用户输入的数据,就可以使用键盘输入语句来获取
代码演示:
# @Author :zjc
# @File :015_input_info.py
# @Time :2024/8/15 17:06
# 要求:可以从控制台接收用户信息,【姓名,年龄,薪水】,如下图:
name = input("请输入姓名:")
age = input("请输入年龄:")
score = input("请输入分数:")
print("\n输入的信息如下:")
print("name",name)
print("age",age)
print("score",score)
# 细节思考:小伙伴请回答,从控制台接收到的数据类型是件么?->str
# 1. 注意接收到的数据是str
# 2. 如果我们希望把接收到的数据进行算术运算,则需要进行类型转换
print(type(score))
print(type(age))
print(10 + float(score))
# 当然我们也可以在接收数据的时候直接转成需要的类型
age = int(input("请输入年龄"))
print("age的类型:",type(age))
P43 本章小结 2024/8/16
P44 进制说明 2024/8/16
进制区一不幸布相对优较困难,涉及到计算机底层的一些机制,理解起来有一些难度。
一、基本介绍
–对于整数,有如下表示方式
- 2进制: 0,1﹐满2进1. 以0b或0B开头。
- 8进制: 0-7,满8进1. 以数字0o或者0O开头表示。
10进制:o-9,满10进1。
16进制: 0-9及A(10)-F(15),满16进1.以Ox或OX开头表示。此处的A-F不区分大小写
P45 其他进制转十进制 2024/8/16
示意图:
一、二进制转换成十进制
规则:从最低位(右边)开始,将每个位上的数提取出来,乘以2的(位数-1)次方,然后求和。
- 案例:请将
0b1011
转成十进制的数
0b1011
1*2^0 + 1*2^1 + 1*2^3 =1+2+8=11
二、八进制转十进制
规则:从最低位(右边)开始,将每个位上的数提取出来,乘以8的(位数-1)次方,然后求和。
- 案例:请将
0o234
0o234
4*8^0 + 3*8^1 + 2*8^2 = 4+24+128 =156
三、十六进制转十进制
规则:从最低位(右边)开始,将每个位上的数提取出来,乘以16的(位数-1)次方,然后求和。
- 案例:请将
0x23A
转成十进制的数
0x23A
10*16^0 + 3*16^1 + 2*16^2 = 10+48+512 = 570
四、课后习题
1、课堂练习:请完成下面的进制转换(一定要自己动手练习)
0b110001100转成十进制-> 4+8+128+256=396 0o2456转成十进制 ->6*8^0 + 5*8^1 + 4*8^2 + 2*8^3 =6+40+256+1024=1326 0xA45转成十进制 ->5*10^0 + 4*16^1 + 10*16^2 =5+64+2560=2629
P46 十进制转其他进制 2024/8/16
一、十进制转二进制
规则:将该数不断除以2,直到商为0为止,然后将每步得到的余数倒过来,就是对应的二进制。
- 案例:请将34转成二进制=?
二、十进制转八进制
规则:将该数不断除以8,直到商为0为止,然后将每步得到的余数倒过来,就是对应的二进制。
- 案例:请将131转成八进制=?
三、十进制转十六进制
规则:将该数不断除以16,直到商为0为止,然后将每步得到的余数倒过来,就是对应的二进制。
案例:请将237转成十六进制=?
四、课堂练习
123转成二进制=>?
678转成八进制=>?
8912转成十六进制=>?
P47 二八十六进制间转换 2024/8/16
一、二进制转八进制
规则:从低位开始,将二进制数每三位一组,转成对应的八进制数即可。
- 案例:请将
ob11010101
转成八进制
11 010 101
3 2 5 --->0o325
二、二进制转十六进制
规则:从低位开始,将二进制数每四位一组,转成对应的八进制数即可。
- 案例: 请将
0b11010101
转成十六进制
1101 0101
13 5 ---> 0xD5
练习:
三、八进制转二进制
规则: 将八进制数每1位,转成对应的一个3位的二进制数即可。
案例: 请将0o237
转成二进制
2 3 7
010 011 111 -->0b10011111
四、十六进制转二进制
规则: 将十六进制数每1位,转成对应的4位的一个二进制数即可
案例: 请将0x23B
转成二进制
2 3 B(11)
0010 0011 0111 --->0b1000110111
练习:
P48 原码补码反码 2024/8/16
位运算的思考题:
1、请看下面的代码段,回答a,b,c,d结果是多少?
#代码 a=1>>2#1向右移2位 b=-1>>2 c=1<<2 d=-1<<2 a,b,c,d结果是多少 print("a=", a) print("b=", b) print("c=", c)
2、请分析下面的表达式运算的结果:(位操作)
print(~2)# 按位取反 print(2&3) print(2|3) print(~-5) print(13&7) print(5|4) print(-3^3)
一、基本介绍
1、二进制是逢2进位的进位制,0、1是基本数字符号
2、现代的电子计算机技术全部采用的是二进制,因为它只使用O、1两个数字符号,非常简单方便,易于用电子方式实现。
3、计算机内部处理的信息,都是采用二进制数来表示的。二进制(Binary)数用O和1两个数字及其组合来表示任何数。进位规则是"逢2进1",数字1在不同的位上代表不同的值。
二、原码,反码,补码
书上原码,反码,补码的解释过于复杂,老韩这里精简几句话:
(这里有一定难度,小伙伴认真听,一定可以听懂,老韩也尽最大努力让大家掌握)1、二进制的最高位是符号位:0表示正数,1表示负数
print(sys.getsizeof(3)) # 28 这里的3有28个字节 # 我们假定用一个字节来表示 3 => 0000 0011 -3 => 1000 0011
2、正数的原码,反码,补码都一样(三码合一)
3=> 原码:0000 0011 反码:0000 0011 补码:0000 0011
3、负数的反码=它的原码符号位不变,其它位取反(0->1 1>0)
-3 => 原码:1000 0011 反码:1111 1100
4、负数的社码=它的反码+1,负数的反码=负数的补码–1
-3 => 原码:1000 0011 反码:1111 1100 补码:1111 1101
5、5、0的反码,补码都是0
6、在计算机运算的时候,都是以补码的方式来运算的例如: 1+3 = 1的补码:0000 0001 3的补码:0000 0011 1+3=> 0000 0100 补码
7、当我们看运算结果的时候,要看他的原码
1+3=> 0000 0100 补码-->原码0000 0100 --->4 # 1-3 => 1的补码: 0000 0001 -3的原码:1000 0011 反码:1111 1100 补码:1111 1101 # 再对补码进行运算 # 1-3 = 1+(-3) 0000 0001 1111 1101 - 1111 1110 补码 --->反码1111 1101--->原码1000 0010 -2
P49 位运算(1)2024/8/16
一、六个位运算符号
1、~ 按位取反
- 规则:对数据的每个二进制位取反,即把1变为0,把0变为1
# 分析 ~2,~-2的结果是多少?
-2的原码: 1000 0010
反码: 1111 1101
补码: 1111 1110
~取反
0000 0001 补码-->0000 0001 原码 (正数三码合一)--> 1
2的补码:0000 0010
~取反
1111 1101 补码-->反码 1111 1100 -->原码1000 0011--> -3
2、& 按位与
- 规则:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为О
# 分析 2 & 3的结果是多少?
2的补码:0000 0010
&
3的补码:0000 0011
0000 0010 -->2
3、^ 按位异或
- 规则:当两个对应的二进位相异时,结果为1
# 分析2^-3的结果是多少?
2的补码:0000 0010
^
-3的原码:1000 0011
反码:1111 1100
补码:1111 1101
2^-3: 1111 1111 补码-->1111 1110 反码-->原码 1000 0001 -->-1
4、| 按位或
- 规则: 只要对应的二个二进位有一个为1时,结果位就为1
# 分析2|3的结果是多少?
2的补码:0000 0010
3的补码:0000 0011
2|3 : 0000 0011 --> 3
原文地址:https://blog.csdn.net/ZJC744575/article/details/142599798
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!