今日学习内容

用户交互

用户交互就是人向机器发出指令,机器分析处理后,给人们返回操作结果(装13的说法)。直白地讲,就是人往计算机中输入(input)数据,计算机输出(output)结果。交互的本质就是输入、输出。

  • input() 输入

    • 在python 3.* 的版本中,input() 接收到输入的任何信息,都会以字符串的形式存储

      name = input("请输入您的用户名:")
      print(name)
      print(type(name)) age = input("请输入您的年龄:")
      print(age)
      print(type(age))

    • 在python 2.* 的版本中,input() 接收输入的信息时,必须声明数据类型,系统会以对应的数据类型存储数据。如果没有声明数据类型,系统会出现异常

      '''
      python 2.* 中,input()在输入值时,需要声明数据类型,否则就会异常
      '''
      name = input("请输入您的用户名:")
      print(name)
      print(type(name)) age = input("请输入您的年龄:")
      print(age)
      print(type(age))

      异常情况:

    • 正常情况:

    • python 2.* 版本中的 raw_input() 的使用和功能与python 3.* 中的input() 一样

      '''
      python 2.* 中,raw_input()输入的值,无须声明数据类型,可以直接接收任何信息
      '''
      name = raw_input("请输入您的用户名:")
      print(name)
      print(type(name)) age = raw_input("请输入您的年龄:")
      print(age)
      print(type(age))

  • print() 输出

    • 将结果从控制台中输出,print()

      print("hello world")
    • 格式化输出

      1. %s :占位符,可接收任意类型的变量

      name = input("请输入您的用户名:")
      age = input("请输入您的年龄:")
      print("my name is %s,my age is %s"%(name,age))

      1. %d:数字占位符,只能接收数字

        name = input("请输入您的用户名:")
        age = input("请输入您的年龄:")
        age = eval(age)
        print("my name is %s,my age is %d"%(name,age))

        异常情况:将str类型的变量也用%d接收,提示异常

        正常情况:

      2. %f:数字占位符,输出浮点数,可用于设置显示数字的精确位数

        height = input("请输入您的身高:")
        height = float(height)
        print("my height is %0.2f m"%(height))

      3. format:

        • 按顺序传值

        name = input("请输入您的用户名:")
        age = input("请输入您的年龄:")
        print("my name is {},my age is {}".format(name,age))

        • 指定位置传值

        name = input("请输入您的用户名:")
        age = input("请输入您的年龄:")
        print("my name is {name},my age is {age}".format(name=name,age=age))

      4. f-string:指定位置传值,该功能只用于python 3.6 以上的版本

        name = input("请输入您的用户名:")
        age = input("请输入您的年龄:")
        print(f"my name is {name},my age is {age}")

  • 基本数据类型

    • 数字类型

      1. 整型-int:可以处理任意大小的整数,在程序中的表示和数学的写法一样。可用于定义年龄、手机号码等

      2. 浮点型-float:浮点数由整数部分和小数部分组成。浮点数运算可能会有四舍五入的误差。可用于定义体重、身高、薪资等

      3. 复数-complex:复数由实数部分和虚数部分组成。可以用 a + bj 或 complex(a,b) 表示。复数的实部a 和虚部b 都是浮点型

        var = 1 - 2j
        var1 = complex(1,2)
        print(var1)
        print(var.real) # 复数的实部
        print(type(var.real))
        print(var.imag) # 复数的虚部
        print(type(var.imag))
      4. int() 只能转换整数,例如 '1.0' 不能直接转换成int类型的记录,需要从str → float → int

    • 字符串类型:用于存储描述性的信息,比如说爱好,个人简介

      1. 本质

        在python 3.* 中,str(字符串)本质是拥有8个bit位的序列

        在python 2.* 中,str(字符串)本质是unicode序列

      2. 单双引号的使用没有区别,但不能混用。字符串中存在引号,嵌套使用

        var = "my name is 'xiao',my age is '18'"
        print(var)
      3. 字符串拼接原理:开辟新的空间,将拼接后的值放置进去

    • 列表 List:用于存放一个或多个不同类型的值

      • 在编程中,数值索引是从0开始

        l1 = ['dawn',18,['read','study']]
        name = l1[0]
        age = l1[1]
        hobby = l1[2]
        print(name)
        print(age)
        print(hobby)
    • 字典 dict

      通过大括号{}存储数据,以{key1:value1,key2:value2,…keyN:valueN}映射关系存储,每个键值对用逗号(,)进行分隔

      d1 = {"name":"dawn","age":18,"hobby":['read','study']}
      name = d1["name"]
      age = d1["age"]
      hobby = d1["hobby"][1] print(name)
      print(age)
      print(hobby)

    • 布尔类型 bool:用于判断事物的对错,一般不会单独定义bool变量,大多情况下,结合逻辑判断使用

      1. True / False

      2. == 和 is 的区别

        == 比较的是value(值),is 比较的是id(内存地址)

      3. 注意

        value(值)相等的情况下,id(内存地址)不一定相等;

        id(内存地址)相等的情况下,value(值)一定相等。

  • 运算符

    • 算术运算符

      运算符 说明 示例 结果
      + a = 11.35,b = 10,a + b 21.35
      - a = 4.56,b = 2.33,a - b 2.23
      * a = 0.25,b = 4,a * b 1.0
      / a = 9,b = 2,a / b 4.5
      // 整除,返回商的整数部分 a = 9,b = 2,a // b 4
      % 取余,返回除法的余数 a = 9,b = 2,a % b 1
      ** 幂,x**y,即返回x的y次幂 a = 9,b = 2,a ** b 81
    • 比较运算符

      运算符 描述
      == 判断两个操作数的值是否相等
      != 判断两个操作数的值是否不相等
      > 判断左操作数的值是否大于右操作数
      >= 判断左操作数的值是否大于或等于右操作数
      < 判断左操作数的值是否小于右操作数
      <= 判断左操作数的值是否小于等于右操作数
    • 赋值运算符

      1. 增量赋值

        运算符 描述 示例
        = 将右边的结果赋值给左边的变量 a = 1
        += 加法赋值运算 a += 1 # 等同于 a = a + 1
        -= 减法赋值运算 a -= 1 # 等同于 a = a - 1
        *=,/=,//=,%=,**= 跟加法/减法赋值运算类似  
      2. 链式赋值:将同一个值赋值给多个变量。

        '''
        x = 1
        y = 1
        z = 1
        python 用一行代码搞定
        '''
        x = y = z = 1
      3. 交叉赋值:定义变量a 和变量b, 将变量a 的值跟变量b 的值交换(任何类型都可以交换

        '''
        a = 'str'
        b = 1.023
        c = ''
        c = a
        a = b
        b = c
        '''
        a = 'str'
        b = 1.023
        a,b = b,a
      4. 解压赋值:将列表中的多个值依次赋值给多个变量

        '''
        l1 = ['str',2,['dawn'],{age:18}]
        a = l1[0]
        b = l1[1]
        c = l1[2]
        '''
        a,b,c,*_ = l1
    • 逻辑运算符

      运算符 描述
      and 逻辑与,用于连接两个条件表达式,如果有一个表达式不符合条件,整个表达式返回False
      or 逻辑或,用于连接两个条件表达式,如果有一个表达式符合条件,整个表达式返回True
      not 取反
      1. 多个and一起使用时,遇到False 返回 False,否则返回最后一个True

      2. 多个or一起使用时,遇到True返回True,返回第一个True

      3. and和or混合使用时,在没有括号的情况下,优先判断and

      4. 所有非零的自然数,返回值都为True,0的返回值为False

Python基础知识-运算符的更多相关文章

  1. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

  2. python 基础知识(一)

    python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...

  3. Python 基础知识(一)

    1.Python简介 1.1.Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时 ...

  4. 开发技术--浅谈python基础知识

    开发|浅谈python基础知识 最近复习一些基础内容,故将Python的基础进行了总结.注意:这篇文章只列出来我觉得重点,并且需要记忆的知识. 前言 目前所有的文章思想格式都是:知识+情感. 知识:对 ...

  5. python基础知识(一)

    Python基础知识 计算基础知识 1.cpu 人类的大脑 运算和处理问题 2.内存 临时存储数据 断电就消失了 3.硬盘 永久存储数据 4.操作系统 调度硬件设备之间数据交互 python的应用和历 ...

  6. python基础知识(二)

    python基础知识(二) 字符串格式化 ​ 格式: % 类型 ---- > ' %类型 ' %(数据) %s 字符串 ​ print(' %s is boy'%('tom')) ----> ...

  7. python基础知识(二)

    以下内容,作为python基础知识的补充,主要涉及基础数据类型的创建及特性,以及新数据类型Bytes类型的引入介绍

  8. python基础知识讲解——@classmethod和@staticmethod的作用

    python基础知识讲解——@classmethod和@staticmethod的作用 在类的成员函数中,可以添加@classmethod和@staticmethod修饰符,这两者有一定的差异,简单来 ...

  9. python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

    本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...

随机推荐

  1. kubernetes垃圾回收器GarbageCollector Controller源码分析(二)

    kubernetes版本:1.13.2 接上一节:kubernetes垃圾回收器GarbageCollector Controller源码分析(一) 主要步骤 GarbageCollector Con ...

  2. mpvue 页面预加载,新增preLoad生命周期

    存在的必要性:mpvue开发微信小程序,在页面跳转到新页面的过程中会有200ms左右的延迟,这个200ms如果用来请求新页面的接口,那么跳转到新页面或许已经渲染好了页面. 就是两种方式: 1.新页面跳 ...

  3. C# 常见面试问题汇总

    1.c#垃圾回收机制 从以下方面入手展开:  1.压缩合并算法   2.代的机制  3.GC调用终结器 Garbage Collector . NET采用了和Java类似的方法由CLR(Common ...

  4. 安装Elasticsearch可视化插件

    背景 项目中使用Elasticsearch , 最开始14年使用的时候需要es自己安装插件才能通过web页面查看数据情况,目前新版本的ES安装插件很费劲,通过搜索发现目前谷歌浏览器就有这个插件,这里简 ...

  5. 数据存储检索之B+树和LSM-Tree

    作为一名应用系统开发人员,为什么要关注数据内部的存储和检索呢?首先,你不太可能从头开始实现一套自己的存储引擎,往往需要从众多现有的存储引擎中选择一个适合自己应用的存储引擎.因此,为了针对你特定的工作负 ...

  6. winsock完成端口套接字重用注意事项

    刚申请到博客,第一篇随笔(๑•̀ㅂ•́)و✧ 关于DisconnectEx的一个问题,目前主要发现在windows10中出现了这个问题,winserver2008 win7都没有这个问题. 被Disc ...

  7. Web前端安全之利用Flash进行csrf攻击

    整理于<XSS跨站脚本攻击剖析与防御>—第6章 Flash在客户端提供了两个控制属性: allowScriptAccess属性和allowNetworking属性,其中AllowScrip ...

  8. CTF-SSH服务渗透

    环境 Kali ip 192.168.56.102 Smb 靶机ip 192.168.56.101 0x01信息探测 首页发现有类似用户名的信息 先记录下来 Martin N Hadi M Jimmy ...

  9. [BZOJ4947] 字符串大师 - KMP

    4974: [Lydsy1708月赛]字符串大师 Time Limit: 1 Sec  Memory Limit: 256 MBSubmit: 739  Solved: 358[Submit][Sta ...

  10. 一文了解Mysql

    文章原创于公众号:程序猿周先森.本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号. Redis系列到上一篇已经全部结束了,从本篇开始进入Mysql系列文章专题.本篇作为Mysql系列专题的开篇文 ...