zoukankan      html  css  js  c++  java
  • python基础-运算符和编码

      

    一. 格式化输出

    现在有以下需求,让 用户输入name, age, job,hobby 然后输出如下所示

    你怎么实现呢?你会发现,用字符拼接的 方式还难实现这种格式的输出,所以 一起来学 一下新姿势只需要把要打印的格式先准备好,

    由于里 面的  一些信息是需要 用户输 入的,你没办法预设知道,因此可以先放置个占位符,再把字符串里的占位符与外部的变量做个映射关系就好啦

    %s就是代表字符串串占位符,除此之外,还有%d, 是数字占位符, 如果把上 面的age后 面的换成%d,就代表你必须只能输入数字啦

    这时对应的数据必须是int类型. 否则程序会报错

    使 用时,需要进行类型转换.

    类似这样的操作在后 面还有很多

    如果, 你头铁.就不想转换. 觉着转换很麻烦. 也可以全部都用%s. 因为任何东西都可以直接转换成字符串--> 仅限%s

    现在又来新问题了如果想输出:

     

    这里的问题出在哪里呢? 没错2%, 在字符串中如果使用了%s这样的占位符. 那么所有的%都将变成占位符. 我们的2%也变成了了占位符.  而"%的"是不存在的, 这里我们需要使 用%%来表 示字符串中的%.

    注意: 如果你的字符串中没有使用过%s,%d站位. 那么不需要考虑这么多. 该%就%.没毛病老铁.

     二. 基本运算符

    计算机可以进 行行的运算有很多种,可不不只加减乘除这么简单,运算按种类可分为:

    算数运算、

    比较运算、

    逻辑运算、

    赋值运算、

    成员运算、

    身份运算、

    位运算.

    今天我们暂只学习算数运算、 比较运算、逻辑运算、赋值运算

    2.1 算数运算

    以下假设变量量:a=10,b=20

     

    2.2  比较运算

    以下假设变量量:a=10,b=20

     

    赋值运算

    以下假设变量量:a=10,b=20

     

    算逻辑运

     

    针对逻辑运算的进 一步研究:

    1, 在没有()的情况下not 优先级 高于 and,and优先级 高于or,即优先级关系为( )>not>and>or,同 一优先级从左往右计算。

    () > not > and > or

    例题:

    判断下列列逻辑语句句的True,False。

     

      2, x or y , x为真,值就是x,x为假,值是y;

      x and y, x为真,值是y,x为假,值是x。

     

    例题:求出下列列逻辑语句的值。

    8 or 4
    0 and 3
    0 or 4 and 3 or 7 or 9 and 6

    三. 编码的问题

    Python2解释器在加载.py  文件中的代码时,会对内容进行编码(默认ascill), 而python3对内容进行编码的默认为utf-8。

    计算机:

    早期. 计算机是美国发明的. 普及率不 高,  一般只是在美国使用.所以.最早的编码结构就是按照美国 人的习惯来编码的. 对应数字+字 母+特殊字符 一共也没多少. 所以就形成了了最早的编码ASCII码. 直到今天ASCII依然深深的影响着我们.

    ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字 母的 一套电脑编码系统,主要 用于显示现代英语和其他 西欧语 言,其最多只能 用 8 位来表示( 一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。

    随着计算机的发展. 以及普及率的提高. 流行到欧洲和亚洲. 这时ASCII码就不不合适了了.  比如: 中 文汉字有 几万个.  而ASCII最多也就256个位置. 所以ASCII不行了了. 怎么办呢? 这时, 不同的国家就提出了不同的编码 用来适用于各自的语言环境.

    比如, 中国的GBK, GB2312, BIG5, ISO-8859-1等等. 这时各个国家都可以使用计算机了.

    GBK, 国标码 占用2个字节. 对应ASCII码 GBK直接兼容. 因为计算机底层是用英文写的. 你不支持英文肯定不行.  而英文已经使用了ASCII码. 所以GBK要兼容ASCII.

    这 里GBK国标码. 前 面的ASCII码部分. 由于使 用两个字节. 所以对于ASCII码 而 言. 前9位都是0

    字 母A:0100

    0001

    # ASCII

    字 母A:0000

    0000

    0100 0001 # 国标码

    国标码的弊端: 只能中国用,日本就垮了. 所以国标码不满足我们的使用. 这时提出了 一个万国码Unicode. unicode 一开始设计是每个字符两个字节. 设计完了. 发现我 大中国汉字依然 无法进行编码. 只能进行扩充. 扩充成32位也就是4个字节. 这回够了. 但是.问题来了. 中国字9万多.  而unicode可以表示40多亿. 根本 用不了. 太浪费了. 于是乎, 就提出了新的UTF编码.可变长度编码

    UTF-8: 每个字符最少占8位. 每个字符占用的字节数不定.根据 文字内容进行具体编码. 比如. 英 文. 就 一个字节就够了. 汉字占3个字节. 这时即满足了中 文. 也满 足了节约. 也是目前使用频率最高的 一种编码

    UTF-16: 每个字符最少占16位.

    GBK: 每个字符占2个字节, 16位.

    单位转换:

    • 8bit = 1byte
    • 1024byte = 1KB
    • 1024KB = 1MB
    • 1024MB = 1GB
    • 1024GB = 1TB
    • 1024TB = 1PB
    • 1024TB = 1EB
    • 1024EB = 1ZB
    • 1024ZB = 1YB
    • 1024YB = 1NB

     while循环

      while 条件:

      循环体

      else: 循环在正常情况跳出之后会执行这里

    注意: 如果循环是通过break退出的. 那么while后 面的else将不会被执行, 只有在while条件判断是假的时候才会执行这个 else

    pass: 不表示任何内容. 为了代码的完整性. 占位而已

     in和not in

    可以判断xxx字符串是否出现在xxxxx字符串中

    幻想毫无价值,计划渺如尘埃,目标不可能达到。这一切的一切毫无意义——除非我们付诸行动。
  • 相关阅读:
    2. Add Two Numbers
    1. Two Sum
    leetcode 213. 打家劫舍 II JAVA
    leetcode 48. 旋转图像 java
    leetcode 45. 跳跃游戏 II JAVA
    leetcode 42. 接雨水 JAVA
    40. 组合总和 II leetcode JAVA
    24. 两两交换链表中的节点 leetcode
    1002. 查找常用字符 leecode
    leetcode 23. 合并K个排序链表 JAVA
  • 原文地址:https://www.cnblogs.com/TodayWind/p/11819094.html
Copyright © 2011-2022 走看看