python 十进制转二进制 限制位数_python基础总汇,持续更新...

2530b3286f1ba75beaddadd8d25a7b07.png

print 输出

print('hello world')

输出结果:hello world

梦开始的地方!!!

变量

生活中:容器( 喝水杯子,桶 )---》存放东西

编程中:容器( 内存地址 )---》存放数据

付款 ---》【商品金额】
购物车 ---》【 商品数量】
订单 ---》【收件人 收货地址 联系电话】

变量 and 常量:

变量:里面的值随时可以发生改变
常量:固定的值,值是不能发生改变的

数据类型

字符串(str):"hello"

字符串是用引号括起来的任意文本!

整形(int):5,9,1,-10

数学中的 整数 | 负数 都被整形包括!

浮点数(float):99.9,9.9,149.36

数学中的小数在编程中被称为浮点数!

布尔类型(bool):True,False

要么真True,要么假Flase 在逻辑判断中起到重要作用!

列表(list):[5,9,"hello",99.9]

特点:存放任意类型的值,里面甚至还可以再放一个列表!

字典(dict):{1:"Xming"}

特点:键永远不会重复,值可以是任意类型的值!

元组(tuple):(1,2,3)

特点:元素不可更改!

集合(set):{1,2,3,4,5}

特点:去重!去重!去重!

Python属于弱类型语言,声明的变量给与赋什么值,就成为什么样的类型,例:

money = 100
money = 9.9
moeny = "Xming"
money = [100,9.9,"Xming"]
在以上代码中,经过四次赋值,该变量从 整形浮点型 再到 字符串型 最后又给该变量赋值为 列表类型!变量的类型完全取决于你给与值的类型!

变量的命名规则( 原则:见名知意 )

  • 由 【字母】【 数字】【 _ 】所组成,不能以数字开头!
  • 严格区分大小写,大小写不同,变量也不同!
  • 不能使用 Python 的关键字!

格式化输出(一般方式)

age = 18
print('年龄是:%d' % age)
输出结果:年龄是:18

%d表示以整形方式输出

name = '小明'
print('姓名是:%s' % name)
输出结果:姓名是:小明

%s表示以字符串方式输出

weight = 145.55
print('体重是:%.1f' % weight)
输入结果:体重是:145.6

%f表示以浮点数方式输出
%.1f表示小数点后面的位数,并且是四舍五入

格式化输出(简易方式)

age = 18
print('年龄是:{}'.format(age))
输出结果:年龄是:18

#简化方式
age = 18
print(f'年龄是:{age}')
输出结果:年龄是:18

多个变量用多个{}包括,任意类型均转换成字符串形式

input 输入

name  = int(input('请输入年龄:'))

解释器:
     遇到 input  ----> 识别为标准的输入流,等待用户输入...
     输入后进行转换int类型(默认字符串类型) ----> 赋值给变量name

运算符

  • 赋值运算符
【=】
name = 'admin'
# 将 'admin' 赋值给变量 name

name1 = name
# 将 name 变量赋值给变量 name1
  • 算数运算符
常用运算符【+ - * /】
num = 8 + 8
num = num - 8
num = num * num 
num = num / num

扩展运算符【** //】
num = 3 ** 2  
输出结果:9 (3的2次幂)
num = 3 // 2  
输出结果:1 (取整除)

简写扩展【+= -= *= /=...】
num += 8   等于 num = num + 8
num *= 8   等于 num = num * 8

【错误示范】
num += 'abc' ×
是不支持于字符串做运算的
算数运算仅支持于数值做运算
  • 关系运算符
result = 1 > 2
输出结果:Flase

result = 1 == 1
输出结果:True

result = 1 != 1
输出结果:False

...

运算符:【>】【<】【==】【!=】【>=】【<=】【is】【is not】
返回值:True Flase

注意:【is】【is not】 用户对象的比较 比较的是地址

小整数265以下的地址是复用,但超出该值就会开辟新的地址!
  • 逻辑运算符
and 逻辑于:左右俩边相等才为真
result = 8 > 10 and 10 > 8
输出结果:false

result = 10 > 8 and 1 == 1
输出结果:True

or 逻辑或:左右俩边任意一方相等就为真
result = 8 > 10 or 10 > 8 
输出结果:True

result = 10 > 8 and 1 == 1
输出结果:True

not 逻辑非:真的为假 假的为真 取反
result = not 1 > 2
输出结果:True


运算符:【and】【or】【not】
返回值:True False
  • 位运算符
& 【位运算于】
| 【位运算或】

如题(分别对【3】和【2】进行【与】【或】运算):
1 = True 0 = Flase 
3转二进制:0000 0011
2转二进制:0000 0010
---------------------
与运算:   0000 0010  (3&2)= 2
或运算:   0000 0011  (3|2)= 3

! 【位运算非】

位运算的【非】在python代码中需要用波浪线【~】表示

print(~5) #取反【~】 将十进制的数字对应的二进制进行取反操作

过程:
5转二进制:0000 0101
取反:     1111 1010 (第一个是符号位,只要第一位是1的就是负数,需要再进行取反码)
原码:1111 1010
减1: 1111 1001
反码:0000 0110 = 6 已知是负数 结果:-6

^ 【位运算异或】

print(3^5) #相同的是0 不同的是1
过程:
3转二进制:0000 0011
5转二进制:0000 0101
---------------------
异或运算: 0000 0110 结果:6

<< 【位运算左移】
>> 【位运算右移】

print(2<<1)
2转二进制:0000 0010
左移一位: 0000 010
移动后补0:0000 0100 结果:4
print(2>>1)
2转二进制:0000 0010
右移一位: 0000 001
补符号位: 0000 0001 结果:1

通俗点讲左移几位就是把左边的值去掉几位,然后在右边补几个0
右移几位就是把右边的值去掉几位,然后在左边补几位符号位的值

公式:
左移:m<<n  m*2的n次方
右移:m>>n  m/2的n次方
二进制转十进制(后面陆续穿插其他转化方式 (●ˇ∀ˇ●) )
位权(基数位数)

第1位数:2的0次幂(基数的0次幂都为1)  位权:1

第2位数:2的1次幂(2)  位权:2

第3位数:2的2次幂(2×2)  位权:4

第4位数:2的3次幂(2×2×2)  位权:8

第5位数:2的4次幂(2×2×2×2)  位权:16

第6位数:2的5次幂(2×2×2×2×2)  位权:32

第7位数:2的6次幂(2×2×2×2×2×2)  位权:64

第8位数:2的7次幂(2×2×2×2×2×2×2)  位权:128
...

例如:二进制数10111

得出的十进制结果:(1)+(1×2)+(1×2×2)+(0×2×2×2)+(1×2×2×2×2)= 23

三目运算符

公式:语句1 if 表达式 else 语句2
解释:如果表达式为真则执行语句1,反之则执行语句2

例子:
a = 6
b = 5
result = (a + b) if a > b else (a - b)
输出结果:11 
执行了语句1 因为表达式为真

if判断语句

if True:
   print('执行语句1')
if False:
   print('执行语句2')

输出结果:执行语句1
#只有当条件为真时才会执行!

if-else判断语句

a = 1
b = 1
if a > b:
   print(a + b)
else:
   print(a - b)

输出结果:0
#当条件为真时执行if下的语句,当条件为假时执行else下的语句
#需要注意缩进问题,在if-else下的语句,要用一个Tab键的距离来表示这是if下的语句!

if-elif-else多层判断语句

语法:
if 表达式1:
    执行语句1
elif 表达式2:
    执行语句2
elif 表达式3:
    执行语句3
.
.
.
else:
    执行语句4

#elif是可以无限延申的,当if开始判断时,如果条件不成立则继续判断elif直到某个elif条件成立
才执行语句,并最终退出循环,若没有一个elif的条件是成立的,最后则执行else!

for循环语句

语法:for 计数变量 in range(起始,结束,步长)

案例1:
for i in range(1,10,1):
    print(i)

输出结果:
1
2
3
4
5
6
7
8
9

#在这里特此说明,for循环是顾前不顾尾,写的是1~10 实际执行会执行9次!
#步长默认是1,如果没有特别需求,默认可以不写!

案例2:
list1 = [9,5,6,3,1]
for i in list1:
    print(i)

输出结果:
9
5
6
3
1

#for循环是可以遍历任意数据类型,这里用列表举例!
#当用for循环遍历其他数据类型的值是,计数变量【i】就变成了它遍历出的每一个值!

515fb3f48b1d7fdc3c43064129ac393f.png
(●ˇ∀ˇ●)

for-else的使用

语法:
for i in 范围:
    有数据执行的语句
else:
    没数据执行的语句

案例:
for i in range(1,5):
    print(f"正在吃{i}个馒头...")
else:
    print("没有馒头吃了,饿哭了")

for .... else:
适用与for执行完或没有循环数据时,需要做的事情!

while循环语句

语法:
while 条件:
    语句

案例:
num = 0
while num < 10:
    num += 1
print(num)

输出结果:10

#当num小于10的时候,条件则成立,条件成立则一直执行语句 num += 1 直到num小于10这个条件
不成立,即可退出循环!

死循环:
while 1:
  print('hello world')

输出结果:无限输出 hello world

#当我们给出一个永远为真的条件时,语句就会无限执行,进入死循环!

pass关键字的使用

if 10 > 7:
   print('10是大的')
else:
   #pass

#pass一般用来占位,在一些逻辑语法中,我们此时可能不知道要写什么,但需要来运行调试,
为了保证语法的完整性,就可以用pass来占位,pass代表空语句!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值