热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

初识基本数据类型,与用户交互,格式化输出,基本运算符

初识基本数据类型什么是数据类型?在现实生活中存储数据的方式和表现形式有很多。eg:文本文件表格文件视频文件音频文件图片文件在IT世界里数据的存储方式和表现形式也是千变万

初识基本数据类型



  • 作用:用来记录真假两种状态

    # 布尔值只有两种状态
    x = True
    y
    = False
    print(type(x)) #
    print(10 == 10y # True
    print(10 > 3) # True

    name
    = "tom"
    print(name == "mike") # False

     




与用户交互

u=356406006,3900003378&fm=26&fmt=auto


获取用户输入

inp_name = input("请输入您的用户名:")
'''
将input获取到的用户输入绑定给变量名inp_name
input获取到的用户输入全部都会转成字符串
'''
print(inp_name,type(inp_name)) # geng
# 案例:
inp_name = input("请输入您的用户名:") # inp_name = "geng"

inp_pwd
= input("请输入您的密码:") # inp_pwd = "123"

 


格式化输出

print() # 输出
'''
1.括号可以使用逗号隔开多个元素一起打印
2.自带end参数 可以控制打印的排版
'''
print("1111",end='')
print("2222")
# 输出结果:11112222
# 将字符串中某些内容替换掉再输出就是格式化输出
"""
1.先使用占位符占位 %s
2.再使用%按照位置一一替换
"""
# 示例:
name = input("your name: ")
age
= input("your age: ")
print("my name is %s my age is %s" % (name,age))
# 输出结果:my name is geng my age is 18
print("my name is %s my age is %d" % ("jack",19))
# 输出结果:my name is jack my age is 19
# %d 只能接收数字(了解)
print("my name is %s my age is %d" % ("jack","19")) # 报错
print("my name is %s my age is %s" % ("jack",[1,2,3]))
# 输出结果:my name is jack my age is [1, 2, 3]

 


基本运算符


1、算术运算符

python支持的算术运算符与数学上计算的符号使用是一致的







































算数运算符描述
+加,两个对象相加
-减,两个对象相减
*乘,两个对象相乘
/除,相除后得到的返回值会保留整数与小数部分
//取整除,相除后得到的返回值只保留整数部分
%取余,相除后只返回余数
**幂,取一个数的n次方

salary = 3.3
res
= salary * 12
print(10 + 1) # 11
print(10 / 3) # 3.3333333333333335
print(10 // 3) # 3
print(10 % 3) # 1000
print(10 ** 3) # 1000,10的3次方
print(10 + 3.1)
print(10 % 3)
# ps:整型和浮点型可以混着计算

 


2、比较运算符

比较运算用来对两个值进行比较,返回的是布尔值True或False



































比较运算符描述
==等于,两个对象相等返回True,否则返回False
!=感叹号等于,两个对象相等返回False,否则返回True
>大于
>=大于等于
<小于
<=小于等于

x = 10 # int
y = 10.0 # float
# 整型和浮点型比较
print(x == y) # True

m
= 10 # int
n = "10" # str
#
仅限同类型
print(m == n) # False
# == 不限类型
print(10 == [1,2,3]) # False
print(10 + [1,2,3]) # 报错
print(10 == [1,2,3]) # False
print(10 != [1,2,3]) # True
print(10 > 3.1) # True
print(10 >= 3.1) # True
print(10 <= 3.1) # False
print(10 <3.1) # False

 


3、赋值运算符

python语法中除了有=号这种简单的赋值运算外,还支持增量赋值、链式赋值、交叉赋值、

解压赋值,这些赋值运算符存在的意义都是为了让我们的代码看起来更加精简



  • 增量赋值











































复制运算符描述
=简单赋值运算
+=加法赋值运算
-=减法赋值运算
*=乘法赋值运算
/=除法赋值运算
//=取整赋值运算
%=取余赋值运算
**=幂赋值运算




    • age = 18 # 简单赋值运算

      age
      += 10 # age = age + 10 加法赋值运算
      print(age) # 28

      age
      *= 10 # 乘法赋值运算
      print(age) # 180

      age
      %= 3 # age = age % 3 取余赋值运算
      print(age) # 0
      链式赋值
      如果我们想把同一个值同时赋值给多个变量名,可以这么做
      x
      = 10
      y
      = x
      z
      = y
      # 链式赋值指的是可以用一行代码搞定这件事
      x = y = z = 10
      print(x, y, z)
      print(id(x), id(y), id(z))
      交叉赋值
      我们定义两个变量m与n,如果我们将m与n的值交换过来
      m
      = 10
      n
      = 20
      # 方式一:利用中间变量
      temp = m
      m
      = n
      n
      = temp
      print(m, n) # 20 10
      # 方式二:交叉赋值指的是一行代码可以搞定这件事
      m, n = n, m
      print(m, n) # 20 10
      解压赋值
      如果我们想把列表中的多个值取出来一次赋值给多个变量名,可以这么做
      salaries
      = [11, 22, 33, 44, 55]
      mon1
      = salaries[0]
      mon2
      = salaries[1]
      mon3
      = salaries[2]
      mon4
      = salaries[3]
      mon5
      = salaries[4]
      # 解压赋值:左右两边个数相等
      mon1, mon2, mon3, mon4, mon5 = salaries
      # 变量名变少了
      mon1, mon2, mon3, mon4 = salaries # 错误
      # 变量名变多了
      mon1, mon2, mon3, mon4, mon5, mon6= salaries # 错误
      # 如果只想取前面的几个值,可以用*_匹配
      mon1, mon2, mon3, *_ = salaries
      print(mon1) # 11
      print(mon2) # 22
      print(mon3) # 33
      print(_) # [44, 55]
      # 取倒数两个值
      *_, last2, last1 = salaries
      print(last1) # 55
      print(last2) # 44
      print(_) # [11, 22, 33]
      # 取前一个以及后两个值
      mon1,*_,last2,last1=salaries
      print(mon1) # 11
      print(last1) # 55
      print(last2) # 44
      # 如果想取中间的值,*加middle
      _,*middle,_=salaries
      print(middle) # [22, 33, 44]
      print(_) # 55

       






4、逻辑运算符

逻辑运算符用于连接多个条件,进行关联判断,会返回布尔值True或False



  • not:非,将紧跟其后的那个条件取反,not优先级最高
    print(not 10 > 3)
    # False
    and:与,连接多个条件,且多个条件必须为True,最终结果才为True
    print("jack" == "jack" and 10 > 3) # True
    print("jack" == "Jack" and 10 > 3) # False
    or:或,连接多个条件,有一个条件为True,最终结果就为True
    print("jack" == "jack" or 10 > 3) # Ture
    print("jack" == "Jack" or 10 > 3) # Ture
    优先级:not>and>or
    ① 三者的优先级关系:
    not>and>or,同一优先级默认从左往右计算。
    3>4 and 4>3 or not 1 == 3 and 'x' == 'x' or 3 >3
    print(3>4 and 4>3 or not 1==3 and 'x' == 'x' or 3 >3)
    (
    3>4 and 4>3) or (not 1==3 and 'x' == 'x') or 3 >3
    # True
    ② 但是我们在编写的时候应该人为的规定好优先级,其实意义与上面一样
    原理为:
    (
    1) not的优先级最高,就是把紧跟其后的那个条件结果取反,所以not与紧跟其后的条件不可分割
    (
    2) 如果语句中全部是用and连接,或者全部用or连接,那么按照从左到右的顺序依次计算即可
    (
    3) 如果语句中既有and也有or,那么先用括号把and的左右两个条件给括起来,然后再进行运
    print(1 != 1 or 3 > 4 and not "xx" == "jack" or 1 > 10 and 9 > 3 and 1 > 0)
    1 != 1 or (3 > 4 and not "xx" == "jack") or ((1 > 10 and 9 > 3) and 1 > 0)
    # False
    ③ 短路运算:偷懒原则(能少算就尽量少算)
    逻辑运算的结果一旦可以确定,那么就以当前处计算到的值作为最终结果返回
    print(1 > 0 and 1 != 1 and 3 > 2) # False
    print(1 > 0 or 1 != 1 or 3 > 2) # True

     






5、成员运算



  • innot in
    判断某一个个体在不在某个群体内



    • in :某一个对象包含于另一个对象则返回True,字符串,列表,字典,集合,元祖都支持成员运算



    • not in 某一个对象没有包含于另外一个对象则返回True





```python
name_list
= ['jason', 'kevin', 'tony', 'jackson']
name
= input('请输入您要查询的学生姓名>>>:')
# print(name in name_list)
#
print(name not in name_list)
# print('j' in 'jason j j j n n')
print('jason' in {'username': 'jason', 'age': 18}) # False
#
字典默认暴露给外界的只有K
print('username' in {'username': 'jason', 'age': 18})
```

 


6、身份运算



  • is与 = =
    判断两个数据的值和内存地址是否相等
    is :判断左右两个值内存地址(身份id)是否相等
    == :判断左右两个值是否相等

     




注意:

(1)如果内存地址(id)相等,意味着 type(类型) 和 value(值)必定相等
x
= 1000
y
= x
print(x is y)
​ (
2)value (值)相等 type(类型)肯定相等,但内存地址(id)不一定相等
C:\Users\oldboy
>python3
Python
3.8.6 (tags/v3.8.6:db45529, Sep 23 2020, 15:52:53) [MSC
v.
1927 64 bit (AMD64)] on win32
Type
"help", "copyright", "credits" or "license" for more
information.
>>> x=1000
>>> y=1000
>>> id(x)x
2577369562032
>>> id(y)
2577369562096
>>>
>>> x is y
False
>>> x == y
True
>>>
补充了解:布尔值分为两大类
1、显式的布尔值:能明确地得到True或False,比如x=True,10 > 3, 10 > 3 and 1==1
3 == 1 and True and 10 > 3
print(3 == 1 and True and 10 > 3) # False
2、隐式的布尔值:所有的数据类型的值都可以当作隐式的布尔值,其中0、None、空对应隐式布尔值为False,其余对应隐式布尔值为True
复制10
and 3 and 4 > 2
print(10 and 3 and 4 > 2) # True
print(10 and 0 and 4 > 2) # 0
print(0 and 2 or 1) # 1

 



推荐阅读
  • voc生成xml 代码
    目录 lxmlwindows安装 读取示例 可视化 生成示例 上面是代码,下面有调用示例 api调用代码,其实只有几行:这个生成代码也很简 ... [详细]
  • 本文首先对信息漏洞的基础知识进行了概述,重点介绍了几种常见的信息泄露途径。具体包括目录遍历、PHPINFO信息泄露以及备份文件的不当下载。其中,备份文件下载涉及网站源代码、`.bak`文件、Vim缓存文件和`DS_Store`文件等。目录遍历漏洞的详细分析为后续深入研究奠定了基础。 ... [详细]
  • C#中实现高效UDP数据传输技术
    C#中实现高效UDP数据传输技术 ... [详细]
  • Node.js 教程第五讲:深入解析 EventEmitter(事件监听与发射机制)
    本文将深入探讨 Node.js 中的 EventEmitter 模块,详细介绍其在事件监听与发射机制中的应用。内容涵盖事件驱动的基本概念、如何在 Node.js 中注册和触发自定义事件,以及 EventEmitter 的核心 API 和使用方法。通过本教程,读者将能够全面理解并熟练运用 EventEmitter 进行高效的事件处理。 ... [详细]
  • 深入解析 UIImageView 与 UIImage 的关键细节与应用技巧
    本文深入探讨了 UIImageView 和 UIImage 的核心特性及应用技巧。首先,详细介绍了如何在 UIImageView 中实现动画效果,包括创建和配置 UIImageView 实例的具体步骤。此外,还探讨了 UIImage 的加载方式及其对性能的影响,提供了优化图像显示和内存管理的有效方法。通过实例代码和实际应用场景,帮助开发者更好地理解和掌握这两个重要类的使用技巧。 ... [详细]
  • Git基础操作指南:掌握必备技能
    掌握 Git 基础操作是每个开发者必备的技能。本文详细介绍了 Git 的基本命令和使用方法,包括初始化仓库、配置用户信息、添加文件、提交更改以及查看版本历史等关键步骤。通过这些操作,读者可以快速上手并高效管理代码版本。例如,使用 `git config --global user.name` 和 `git config --global user.email` 来设置全局用户名和邮箱,确保每次提交时都能正确标识提交者信息。 ... [详细]
  • PHP中元素的计量单位是什么? ... [详细]
  • 如何使用Python高效绘制矩形图形
    本文详细介绍了如何利用Python的Turtle库高效绘制矩形图形,适合初学者快速上手。通过具体示例代码,帮助读者理解Turtle库的基本绘图方法和技巧,同时探讨了在不同应用场景中绘制矩形的实际操作,为后续复杂图形的绘制打下坚实基础。 ... [详细]
  • 本文介绍了如何通过掌握 IScroll 技巧来实现流畅的上拉加载和下拉刷新功能。首先,需要按正确的顺序引入相关文件:1. Zepto;2. iScroll.js;3. scroll-probe.js。此外,还提供了完整的代码示例,可在 GitHub 仓库中查看。通过这些步骤,开发者可以轻松实现高效、流畅的滚动效果,提升用户体验。 ... [详细]
  • 本文介绍了使用 Python 编程语言高效抓取微博文本和动态网页图像数据的方法。通过详细的示例代码,展示了如何利用爬虫技术获取微博内容和动态图片,为数据采集和分析提供了实用的技术支持。对于对网络数据抓取感兴趣的读者,本文具有较高的参考价值。 ... [详细]
  • 在稀疏直接法视觉里程计中,通过优化特征点并采用基于光度误差最小化的灰度图像线性插值技术,提高了定位精度。该方法通过对空间点的非齐次和齐次表示进行处理,利用RGB-D传感器获取的3D坐标信息,在两帧图像之间实现精确匹配,有效减少了光度误差,提升了系统的鲁棒性和稳定性。 ... [详细]
  • Python学习:环境配置与安装指南
    Python作为一种跨平台的编程语言,适用于Windows、Linux和macOS等多种操作系统。为了确保本地已成功安装Python,用户可以通过终端或命令行界面输入`python`或`python3`命令进行验证。此外,建议使用虚拟环境管理工具如`venv`或`conda`,以便更好地隔离不同项目依赖,提高开发效率。 ... [详细]
  • 如何在 Python 编程中实现各种数据类型的字符串转换? ... [详细]
  • 本文介绍了一种简化版的在线购物车系统,重点探讨了用户登录和购物流程的设计与实现。该系统通过优化界面交互和后端逻辑,提升了用户体验和操作便捷性。具体实现了用户注册、登录验证、商品浏览、加入购物车以及订单提交等功能,旨在为用户提供高效、流畅的购物体验。 ... [详细]
  • JVM参数设置与命令行工具详解
    JVM参数配置与命令行工具的深入解析旨在优化系统性能,通过合理设置JVM参数,确保在高吞吐量的前提下,有效减少垃圾回收(GC)的频率,进而降低系统停顿时间,提升服务的稳定性和响应速度。此外,本文还将详细介绍常用的JVM命令行工具,帮助开发者更好地监控和调优JVM运行状态。 ... [详细]
author-avatar
VW旻shi只吃货8453
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有