【Python基础】01基本的print函数、二进制与字符编码、变量、数据类型、input函数、运算符

本系列开始系统学习python基础,边学边总结【一直以为自己用python做项目就算是会python,可拉倒吧,啥也不是。欠的开始还了💪】

目录

1. print函数

1.1 将数据输出并存放到txt中

1.2 输出Loading动态流

2. 转义字符与原字符

2.1 常用转义字符

2.2 原字符

2.3 二进制与字符编码

3. 变量

3.1 保留字与标识符

3.2 变量(重点理解内存盒子与变量名)

4. 数据类型

4.1 整型int:可以表示为二进制、十进制、八进制、十六进制

4.2 浮点型float:存储不精确,使用浮点数计算时可能会出现小数位数不确定的情况

4.3 布尔型bool(True、False)python中布尔型可以转化为整数

4.4 字符串str,三引号字符串可分行输出

5. input函数

6. 运算符 

6.1 算术运算符:标准算术运算符、取余运算符、幂运算符

6.2 赋值运算符:运算顺序从又往左

6.3 比较运算符:>,<,!=,==,>=

 6.4 布尔运算符:and or not

6.5 位运算符  &、|、<<、>>

7. 运算符优先级

8.体脂率计算小项目实战​​​​​​​


1. print函数

  • print()方法用于打印输出,是python中最常见的一个函数。语法如下:
  • print(*objects, sep=' ', end='\n', file=sys.stdout)
  • objects --表示输出的对象。输出多个对象时,需要用 , (逗号)分隔。sep -- 用来间隔多个对象。end -- 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符。file -- 要写入的文件对象。

1.1 将数据输出并存放到txt中

fp = open('E:\pythonProject\PythonStudy/text.txt','a+')
            # a+如果文件不存在就创建,存在就在文件内容后面继续追加
print('helloword',file=fp)
fp.close()

1.2 输出Loading动态流

import time

print("---RUNOOB EXAMPLE : Loading 效果---")

print("Loading",end = "")
for i in range(20):
    print(".",end = '',flush = True)
    time.sleep(0.5)

2. 转义字符与原字符

2.1 常用转义字符

  • \n换行,\r回车,\t制表位,\b退格,\在字符串行尾的续行符,\\反斜线
print('hello\nworld')  # \n 换行 newline
print('hello\tworld') # \t  一个制表位
print('helloo0o\tworld')
print('hello\rworld') #  \r回车,将hello覆盖
print('hello\bworld') # \b 退一个格,将o退没了
print('http:\\\\www.baidu.com')
print('老师说:\'大家好\'')

2.2 原字符

  • 让转义字符不起作用,在字符串之前加上r或者R
print(r'hello\nworld')
# 注意事项:最后一个字符不能是一个反斜杠,两个可以
print(r'hello\nworld\\')

2.3 二进制与字符编码

  • 不管是中文还是英文,在计算机当中叫做字符,一个字符对应一个整数,参考ASCII编码
  • 二进制转成十进制chr()函数;字符串编码成十进制ord()函数
### 二进制与字符编码
print(chr(0b100111001011000))
print(ord('乘')) #十进制

3. 变量

变量定义:是一个存储数据的容器。
变量特性:1⃣️引用着某个具体数值;2⃣️并且可以改变这个引用。

3.1 保留字与标识符

  • 保留字/关键字,给任何对象起名字时都不能用,可以用以下代码查看有哪些保留字
import keyword
print(keyword.kwlist)
  •  标识符:变量、函数、类、模块和其它对象起的名字就叫做标识符(自己命名的对象)

3.2 变量(重点理解内存盒子与变量名)

  • 变量由三部分组成:
    • 标识id:表示对象所存储的内存地址,使用内置函数id(obj)来获取
    • 类型type:表示对象的数据类型,使用内置函数type(obj)来获取
    • 值value:表示对象所存储的具体数据,使用print(obj)将值打印输出
  • 当给变量多次赋值之后,变量名会指向新的内存空间

4. 数据类型

💡面试补充

  • 静态类型:类型是编译的时候确定的,后期无法修改 
  • 动态类型:类型是运行时进行判定的,可以动态修改
  • 强类型:类型比较强势,不轻易随着环境的变化而变化
  • 弱类型:类型比较柔弱,不同的环境下,很容易被改变
  • 结论:python属于强类型的,动态类型的语言 

4.1 整型int:可以表示为二进制、十进制、八进制、十六进制

print('十进制',118)
print('二进制',0b10101111)
print('八进制',0o176)
print('十六进制',0x1EAF)

4.2 浮点型float:存储不精确,使用浮点数计算时可能会出现小数位数不确定的情况

  • 解决方案:导入模块decimal
print(1.1+2.2)
print(1.1+2.1)
a = 3.14159
print(a,type(a))
from decimal import Decimal
print(Decimal('1.1')+Decimal('2.2'))

4.3 布尔型bool(True、False)python中布尔型可以转化为整数

print(True+1)

4.4 字符串str,三引号字符串可分行输出

5. input函数

  • 作用:接受来自用户的输入,范围str类型的值,存储到变量当中(使用赋值符号存储)
a = input('请输如一个数:')
print(a,type(a))
#   键盘录入两个整数,计算两个整数的和
b = input('请输入一个数:')
a = int(a)
b = int(b)
print(a+b)

6. 运算符 

6.1 算术运算符:标准算术运算符、取余运算符、幂运算符

  • ​​​​​​python中会对运算符进行重载,就比如说,int型的两个变量相加进行的是数值计算;字符串相加进行的是字符串拼接;列表相加进行的是列表的合并拼接
  • 除法运算符“/”可以将结果自动转换成浮点型
print(1/2) #除法
print(11//2) #整除运算
print(11%2) #取余运算
print(2**3) # 幂运算
  • 取整/整除运算注意事项:一正一负,向下取整 
  • 取模/取余运算:余数= 被除数-除数*商
# 注意事项 一正一负,向下取整
print(9//-4)
print(-9//4)
公式:余数 = 被除数-除数*商
print(9%-4)
print(-9%4)

💡取整和取余的应用场景:可以计算某一个数在一个矩阵中的位置,就比如0到9是个数按照九宫格的形式排列,四列,最后一行不满。我们计算6在第几行第几列可以通过取整取余的到,row = 6 // 4 = 1 ;col = 6 % 4 = 2 第一行第二列

6.2 赋值运算符:运算顺序从又往左

  • 支持链式赋值,只有一个整数对象(内存地址),但是有abc三个引用指向同一个地址​​​​​​​
  • 支持参数赋值:+= -= *= /= //= %=
  • 支持系列解包赋值:a,b,c = 1,2,3
a=b=c=20
print(a,id(a))
print(b,id(b))
print(c,id(c))

6.3 比较运算符:>,<,!=,==,>=

  • 注意列表的比较,链式比较
  • ==比较的是值,is比较的是标识
a,b=10,10
print('a>b?',a>b) #False
print(a!=b)
print(a==b) #两个为比较运算符,比较的是value是否相同
             # 比较对象的标识(id),用的是is
print(a is b)
print(a is not b)

list1=[1,2,3]
list2=[1,2,3]
print(list1 == list2,id(list1),id(list2))
print(list1 is list2)

6<a<10## 链式比较

 6.4 布尔运算符:and or not

  • 对布尔类型的操作数取反
a,b = 1,2
print(a==1 and b==2)
print(a==1 and b<2)
print(a!=1 and b==2)
print(a!=1 and b!=2)
print(a==1 or b==2)
print(a==1 or b<2)
print(a!=1 or b==2)
print(a!=1 or b!=2)

f=True
f2= False
print(not f) ## 对布尔类型的操作数取反
s = 'helloworld'
print('w' in s)
print('h' in s)
print('w' not in s)

6.5 位运算符  &、|、<<、>>

  • 位与:对应数位都是1,结果数位为1,否则为0
  • 位或:对应数位都是0,结果数位为0,否则为1
  • 左移:高位溢出舍弃,低位补零,左移一位,相当于×2
  • 右移:低位溢出舍弃,高位补零,右移一位,相当于/2

7. 运算符优先级

  • 算术运算(乘除,幂运算,取整,取余,加减)>布尔运算>位运算(左移右移,与,或)>比较运算>赋值

8.体脂率计算小项目实战

"""体脂率计算小项目"""

# 首先使用注释,理清楚,具体的实现步骤;然后进行代码填充

# 输入:身高、体重、年龄、性别
personHeight = float(input('请输入身高(m):'))
personWeight = float(input('请输入体重(kg):'))
personAge = float(input('请输入年龄:'))
personSex = float(input('请输入性别(男:1 女:0):'))
# 处理数据:计算体脂率;判定体脂率是否在正常的范围之内
BMI = personWeight / (personHeight ** 2)
TZrate = 1.2 * BMI + 0.23 * personAge - 5.4 - 10.8 * personSex
# 正常成人的体脂率分别是:男性15%~18%和女性25%~28%
minNum = 15 + 10 * (1 - personSex)
maxNum = 18 + 10 * (1 - personSex)
result = minNum < TZrate < maxNum
print('你的体脂率是:', TZrate)
# 输出:告诉用户是否正常
print('你的体脂率是否符合标准:', result)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值