python注释

注释作用:
帮助我们自己理清楚代码逻辑
与别人合作开发,添加注释,可以减少沟通成本
开发模块的时候添加注释可以减少他人使用成本
可以临时注释一段代码,方便调试,定位出错的代码行
注释的分类:
#是单行注释
‘’‘xxx’’'是多行注释
“”“xxx”""是多行注释

python的中文乱码

文本<—->存储器中
计算机的存储器:一个比特是计算机最小表示信息,只存储0/1
一个字节是计算机基本的存储单元,即使只是存储一个1值必须最小要占用一个字节。
字符—>存储器(编码)存储器—>字符(解码)
字符—>数字—>存储器
字符编码(ASCII编码/其他)
1、按照这样的规范把字符转换成数字?
2、按照怎样的方式存储数字?(用多少个字节)

  • 当字符编码对应的数字不同时,解码使用不同字符编码规范进行解码的时候会出现乱码
  • 当字符编码对应的数字相同时,解码使用不同存储数字方式,会产生错位,进行解码的时候也会出现乱码
    常见的字符编码
    -ASCII/ANSI:
    ASCII可以简单理解为用于表述英文文字的编码。ANSI是ASCII的扩展,除英文外还可以表示拉丁文。
    -GB2312/GBK/GB18030:
    GB既国标,是中国自己的编码方案,目的当然是为了描述汉字(下文我们统称 其为GB系列)。其中,GB2312是对ASCII的中文扩展,GBK和GB18030的涵盖了GB2312的所有内容,同时又增加了近20000个新的汉字(包括繁体字)和符号。
  • Unicode:
    中国有自己的编码标准,其他国家也有自己的一套规范,而且相互之间互不支持,为了解决这一现象,国际标谁化组织提出了统一的标准编码准则Unicode ,其中python3是Unicode 。每个字符都有对应的唯一字符码,但是针对每个字符码使用几个字节存储的问题,又存在几个不同的解决方案,utf-8,utf-16,utf-32等。
    使用utf-8编码的数据只能通过utf-8进行解码,使用GB编码的数据也只能使用GB来解码,既解码与编码的规范要一致,否则就会出错。
    Python3中的编码与解码
    Python3中有两种数据类型:str和bytes。str类型存储unicode数据,用于向人展示数据,既我们所说的明文。bytes类型用于存储字节数据,用于计算机存储和传输。明文(str)和字节(bytes)数据之间的转换关系就是编码和解码,从str到bytes叫编码,用encode命令,从bytes到str叫解码,用decode命令。需要注意的是,str数据无法进一步decode,bytes数据也无法进一步encode。

python变量

什么是变量
变量是一个存储数据得容器
变量特性:引用者某个具体的数值 可以改变这个引用
定义变量

# 变量赋值三种方式
# 方式一 变量名 = 值
a = 1 #在内存里面分配一块空间存储1,再把空间的唯一标识给变量a
print(a)# 方式一 变量名1,变量名2 = 值1,值2
a, b = 1, 2
print(a, b)# 方式一 变量名1 = 变量名2 = 值
a = b = 8
print(a, b)

为什么会产生变量

  • 变量产生,便于代码维护,节省空间方便维护
# ctrl+D快速复制
print(8+1)
print(8+2)
print(8+3)
print(8+4)
print(8+5)#  ctrl+R快速替换 ctrl+/ 单行注释
num = 8  # 变量产生,便于代码维护,节省空间 8—>10
print(num+1)
print(num+2)
print(num+3)
print(num+4)
print(num+5)
  • 变量产生,节省空间(磁盘+内存)
# 变量产生,节省空间(磁盘+内存)
# 打印8遍“烦烦烦,哈哈哈 1”
name ="烦烦烦,哈哈哈" # 只有一份实际存储 "烦烦烦,哈哈哈"
print(name+"1")
print(name+"2")
print(name+"3")
print(name+"4")
print(name+"5")
print(name+"6")
print(name+"7")
print(name+"8")

变量注意事项
一个变量只能引用一个数值
命名规范:字母数字下划线、见名知意、驼峰标识、非关键字、区分大小写
变量名使用之前一定要赋值

python数据类型-类型转换

什么是数据类型
对程序处理的数据进行相关分类
为什么区分数据类型

  • 区分存储空间,根据不同的数据类型,分配不同的存储空间
  • 根据不同的数据类型,做出不同的数据处理 6+6 vs “6”+“6”

数据类型
常用数据类型:

  • Number(数值类型)int long float complex
  • Bool( ture false)
    -String(‘abc’ “abc” ‘’‘abc’’’ “”“abc”"")
  • List Set Tuple Dictory NoneType
print(type(6))  # 查看数据类型 <class 'int'>
print(type("54"))  # 查看数据类型 <class 'str'>

数据类型转换

  • 数据类型转换,不同数据类型之间不能计算,具体转换可以查看转换图
na = "6"
# print(4 + na) error
print(4 + int(na))
print(str(4) + na)score = input("请输入一个数字")
print(type(score))  # score是str类型,不能与int相加
print(int(score) + 6)不是所有字符串都可以成功转换int
li = "123a"  # 123a会报错
print(int(li))

转换图

面试补充
静态类型:类型是编译的时候确定的,后期无法修改
动态类型:类型是运行的时候进行判定的,可以动态修改
强类型:类型比较强势,不轻易随着环境变化而变化
“a”+1 (不会自动改变)
弱类型:类型比较弱势,不同的环境下面,很容易被改变
python是属于强类型动态类型的语言

python运算符

算术运算符

# 算术运算符# 加法运算符会重载 +
print(1 + 2)
print("1" + "2")
print([1, 2] + [3, 4]) # [1,2,3,4]# 减法运算符 -
print(1 - 2)# 乘法运算符 *
print(1 * 2)# 幂运算符 **
print(3 ** 5) # 3的5次方 243# 除法运算符,除数不能是0 /
print(5 / 2) # 2.5
# print(5 / 0)# 整除运算符  //
print(5 // 2)  # 结果2,取整数# 求模运算,求余数  %
print(5 % 2)  # 余数是1# =
# 赋值运算符# 注意
# 优先级问题
# ()使用
result = (1 + 2) * 3 / 4# 整除和求余的应用场景
# 计算东西所在的行和列
num = 6
row = num // 4
col = num % 4

复合运算符

# 复合运算符 **=  //= %=
num += 5
num *= 20

比较运算

# 比较运算符,bool
print(10 > 2)
print(10 != 2)  # <> python2.x支持,相当于!=,以后统一使用!=为不等于
print(10 == 2)  # =赋值 vs ==等于比较运算符# is比对唯一标识
num = 10  # 10是变量的值,存在内存中某一位置,会把唯一标识给num
print(id(num))  # num唯一标识,根据这个去内存找到内容10,然后使用10
a = 10
b = 10
print(id(a), id(b)) # 相同
print(a is b) # id一样,Truea = [1]
b = [1]
print(a == b) # True,比对值
print(id(a), id(b))
print(a is b)  # False,唯一标识不同# 链式比较运算符
num = 10
print(5 < num < 20)

逻辑运算符
逻辑运算符 not and or

# 逻辑运算符 not and or
b = True
print(not b) # False# print(True and True)  # 一假全假
print(0 and True)  # 打印0,已经假,打印0了
print(1 and 3)  # 打印3# print(True or False)  # 非0就是真和非空即真
# print(False or False)
print(1 or False)  # 打印1
print(0 or False or 9)  # 打印9
print(bool("0")) # 非空即真True
print("0" or False) # 0
print("" or False) # False

python输入输出

import sys
# python3里面的input相当于python2.x里面的raw_input
# 函数
content = input("请输入内容")
print(content)
print(type(content))  # 未加工输入,全是字符串类型 1+1是字符串# 如果想要实现类似于python2中的input(用户输入当作代码处理 1+1 s是int2)功能,可以使用eval()函数
# eval()会将用户的输入内容当作代码进行处理
content = input("请输入内容")
result = eval(content)
print(result)
print(type(result))# 输出一个值
print(123)# 输出一个变量
num = 55
print(num)# 输出多个个变量
num2 = 55
print(num,num2)# 格式化输入输出
name = "yangliu"
age = 22
print("我的名字是%s,年龄是%d" % (name, age))
print("我的名字是{0},年龄是{1}".format(name, age))# 输出到文件中
f = open("test.txt", "w")
print("xxxxxxxx", file=f)  # 写入到文件
print("xxxxxxxx", file=sys.stdout)  # 标准输入在控制台# 输出不自动换行
print("abc", end="#")  # end输出以指定的字符结束,默认是换行 abc#
print("abc", end="\n")  # 换行
print("abc", end="")  # 不换行# 输出各个数据,使用分隔符
print("1", "2", "3", sep="=!=")  # sep是分隔符,值与值之间可以添加指定的分隔符 1=!=2=!=3# 格式化输出:占位格式符
# %[(name)][(flags)][(width)][.precision]typecode
# []:可以省略
# (name)表示根据制定名称(key),查找对应的值,格式化到字符串中
mathScore = 59
englishScore = 58
print("我的数学分数是:%d,我的英文分数是:%d"%(mathScore, englishScore))
print("我的数学分数是:%(ms)d,我的英文分数是:%(es)d"%({"ms":mathScore, "es":englishScore}))  # 字典print("%d", mathScore)# width表示宽度
print("%4d" % mathScore)
# flag对齐 不写右对齐
# -左对齐
print("%-4d" % mathScore)
# 空格,用空格填充,表示在正数左侧填充一个空格,从而与负数对齐
print("% d" % mathScore)  # 加两个空格也只会空一个空格
# 0表示用0来填充,不够width才会填充
min = 5
sec = 8
# 05:08
print("%02d:%02d" % (min, sec))# precision表示小数点后的精度
s = 58.9
print("%f" % s)  # 默认小数的精度为六位
print("%.3f" % s)  # 三位小数# typecode必须填写 %d 表示十进制 %o把整数转换成八进制 %E科学计数法 %cUnicode %g科学计数法print("%d%%" % s)  # %表示转义 58.9%

体脂率计算

# 采集一个人的身高体重年龄性别,告诉他体脂率是否在正常范围内
# 功能分析:输入:身高体重年龄性别 处理数据:计算体脂率/判断体脂率是否在正常范围内 输出:是否正常
# 体脂率公式:BMI=kg/(身高*身高)米  体脂率=1.2*BMI+0.23*年龄-5.4-18.8*性别(男1女0) 男性15%-18% 女性25%-28%# 输入:身高体重年龄性别
personHeight = input("请输入身高(m):")
personHeight = float(personHeight)
personWeight = input("请输入体重(kg):")
personWeight = float(personWeight)
personAge = input("请输入年龄:")
personAge = int(personAge)
personSex = input("请输入性别(男:1 女: 0):")
personSex = int(personSex)
# 处理数据:计算体脂率/判断体脂率是否在正常范围内
BMI = personWeight / (personHeight * personHeight)
TZL = 1.2 * BMI + 0.23 * personAge - 5.4 - 18.8 * personSex# 0.10  1  0
minNum = 0.15 + 0.10 * (1-personSex)  # 最低标准
maxNum = 0.18 + 0.10 * (1-personSex)
result = minNum < TZL < maxNum# 输出
print("你的体脂率是:", TZL)
print("你的体脂率是否符合标准", result)

python基础编程-1相关推荐

  1. python基础编程练习题_Python随笔18:Python基础编程练习题1~2

    Python基础练习题1 求100之内自然数中最大的能被17整除的数. 解答:既然是求100以内的最大的数,可以使用range函数,且反向遍历.我们不必遍历完范围之内所有的数,因为第一个就是最大的,也 ...

  2. 无锡学python_无锡python基础编程好学吗

    无锡python基础编程好学吗 来源:无锡童程童美少儿编程培训学校      发布时间:2020/12/14 11:44:46 无锡python基础编程好学吗?近几年来人工智能.APP.云端.大数据. ...

  3. Python基础编程入门实例:恺撒密码

    文章目录 Python基础编程入门实例:恺撒密码 一.什么是恺撒密码 二.程序运行环境 三.恺撒密码:加密 3.1.恺撒密码加密实例程序 3.2.恺撒密码加密实例程序运行结果 四.恺撒密码:解密 4. ...

  4. 大数据第二阶段Python基础编程学习笔记(待完善)

    大数据第二阶段Python基础编程学习笔记(待完善) 第一章 Python基础语法 3.8 1-1Python概述 python基础部分: ●Python基础语法: 标识符,关键字,变量,判断循环.. ...

  5. python基础编程的ppt,Python基础编程.ppt

    <Python基础编程.ppt>由会员分享,可在线阅读,更多相关<Python基础编程.ppt(41页珍藏版)>请在人人文库网上搜索. 1.1,Python OOP 基础周鹏, ...

  6. Python基础编程——算术运算

    由于工作需要,小编最近开始学习Python这门编程语言.Python基础编程,将借助Python解释器以及Python脚本完成.小编在进行Python编程时,使用的是Python 3.9.0版本,不同 ...

  7. python练习_Python随笔31:Python基础编程练习题27~28

    注:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性. Python编程 Python基础练习题27:与7无关的数 如果一个正整数,它能被7整除或者它的十进制表示法中某个位数上的数字为 ...

  8. python入门编程题库-Python随笔30:Python基础编程练习题25~26

    注:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性. 注:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性. Python编程 Python基础练习题25:合并两个列 ...

  9. python split函数 空格_Python随笔29:Python基础编程练习题23~24

    注:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性. Python编程 Python基础练习题23:求三角形斜边上的高 输入直角三角形两直角边a.b的值,输出斜边上的高,最后结果使用 ...

  10. python基础编程练习_python基础练习之几个简单的游戏

    文档介绍 利用python写"猜数字","猜词语","谁是卧底"这三个游戏,从而快速掌握python编程的入门知识,包括python语法/列 ...

最新文章

  1. 三十分钟理解:双调排序Bitonic Sort,适合并行计算的排序算法
  2. ksql 数量大于2_别人1加1大于2大于3,雍禾植发1加1小于2……
  3. IDA执行python脚本文件,python编辑器的操作
  4. Python的__getattr__方法学习
  5. 百练OJ:4148:生理周期
  6. 【深度学习】深度学习的三个主要步骤!
  7. 线性规划图解法求最优解_干货 | 线性规划知识点汇总
  8. Oracle入门(十二C)之表修改
  9. 在Java等于方法中进行精确比较
  10. Linux命令之 mkfs -- 在特定的分区创建 Linux 文件系统
  11. 机器学习:分类_机器学习基础:K最近邻居分类
  12. c语言字符串匹配函数index,C语言(函数)学习之index、rindex
  13. blender 可视化编程_使用Blender可视化天体物理学数据
  14. VS2015的下载地址和安装教程
  15. 网站商业计划书实例(商业网站策划书实例)
  16. eclipse使用maven教程
  17. base64加密原理
  18. LeetCode通关:连刷三十九道二叉树,刷疯了!⭐四万字长文搞定二叉树,建议收藏!⭐
  19. Win10电脑版微信来消息提醒工具
  20. Oracle 存储过程中打印SQL影响的行数

热门文章

  1. cc linux教程 pdf,CentOS 5.5 PDF转TXT
  2. 【创作纪念日】我的两周年创作心路历程
  3. 有关<a>标签的target属性决定了是否展示新打开的网页
  4. 硬件设计之一——电源设计03:LDO设计
  5. Unity中C# 命名空间
  6. Qt Button控件的属性说明
  7. 我的专业我做主计算机演讲稿,我的管理我做主演讲稿
  8. CIO40知识星球:IT中年男减肥20斤
  9. ​qemu-img 转换:raw、qcow2、qed、vdi、vmdk、vhd虚拟磁盘格式
  10. 计算机系统基础(五)之RISC-V指令集