Python | 第五章节 | 进制

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

🎎 相关推荐

英雄联盟戏命师皮肤手感排行,源计划烬价格及入手价值
🎯 mobile365体育投注下载

英雄联盟戏命师皮肤手感排行,源计划烬价格及入手价值

📅 06-30 👀 746
双卡多模是什么意思(移动双卡是什么意思)
🎯 你们的365还进得去吗

双卡多模是什么意思(移动双卡是什么意思)

📅 07-01 👀 4750
赵丽颖的学历是什么 赵丽颖是哪个学校毕业的
🎯 你们的365还进得去吗

赵丽颖的学历是什么 赵丽颖是哪个学校毕业的

📅 06-27 👀 7449