运算符和编码

一  格式化输出

1  .输入  name ,age , job , hobby.

输出  :   ---------------  info of Mary  ------------------

Name  : Mary

Age   : 18

Job  : Teacher

Hobbie  :sing

----------------------end-------------------------

eg:   name = input ("Name  : ")

age = input ("Age : ")

job = inut ("Job  : ")

hobby = input ("Hobbt  : ")

info = ‘’‘

----------------------------  info of %s --------------  -# 每个%s 就是一个占位符,(name)

Name  : %s   #代表name

Age  : %s  #代表 age

Job  : %s #代表 job

Hobby  : %s   #代表 hobbie

-------------------------------- end ----------------------

'''% (name,name,age,job,hobbie)   #  这行的% 就是把前面的字符串与括号后面的变量关联起来

print(info)

2.  %s   ,   %d

%s  代表字符串占位符;( 任何东西都可以直接转换成字符串,仅限   "  %s  ".)

%d 代表数字占位符.       (只能输入数字,对应的数据必须是   int  类型).

3. 数据类型转换:

int ( str )         #  字符串转换成int

str ( int )         #  int 转换成字符串

4.  "  %%  " 来表示字符串中的 "%".

在字符串中如果使用了 %s 这样的占位符,那么所有的  %  都将变成占位符,所以需要用  " %%"来表示字符串中的  " % "

注意  :如果字符串中没有使用过 %s  ,%d  占位,则不需要  用它来代替.

eg  :  print("我叫 %s,今年22岁了,学习了2%%的Python "% 'Mary')   #   有%占位.

print( "我叫Mary,今年22岁了,功课已经完成100%了")     #     没有占位

二 基本运算符

1. 算术运算   " 加 "  ,"  减"  ,"  乘  "  ,"   除  ", " 取模(取余)[  %  ] ",   "  幂 [  **  ] ", "  整除 [  //  ]  ".

%  取模   返回除法的余数   a=10  ,  b=20 ,  那么  b%a 输出的结果为0;

**   次幂   返回 a 的 b 次幂  a=10 ,    b=20 ,  那么 a**b 为10的20次方;

//    取整除    返回商的整数部分     a=10 ,    b=20 ,   那么 9 // 2 输出结果 4,  9.0 // 2.0 输出结果 4.0 .

2.  比较运算

==     等于      (  比较对象是否相等  );                #     一个 " = "是赋值

!=      不等于   (  比较两个对象是否不相等  );

<>     不等于   (  比较两个对象是否不相等  );

>      大于

<      小于      (  所有运算符返回1表示真==>True,返回0表示假==>False);

>=      大于等于

<=      小于等于

3.   赋值运算       (   设  a = 10, b =20 )

=     简单的赋值运算符        c=a+b   表示将a+b 的运算结果赋值为c;

+=    加法赋值运算符           c+=a     等效于   c=c+a ;

-=     减法赋值运算符           c-=a      等效于   c=c-a ;

*=     乘法赋值运算符           c*=a      等效于  c=c*a ;

/=      除法赋值运算符           c /=a     等效于  c=c / a ;

%=      取膜赋值运算符           c % a    等效于  c=c % a ;

**=      幂赋值运算符              c **= a   等效于  c=c ** a ;

//=      取整除赋值运算符       c //=a     等效于  c=c//a .

4.   逻辑运算

and      布尔  "与"     如果 a 为False,  a and b返回False,否则它返回 " b "的计算值;

or       布尔  "或"     如果 a 为True,  a or b返回True,否则它返回  " b "的计算值;

not      布尔  "非"     如果 a 为True,  not a 返回False,如果 a 为Flase,它返回True.

注意  :

1.   在没有()的情况下not优先级高于 and, and优先级高于or,

即 :优先级关系为  () > not >  and >or . 同一优先级从左往右计算) .

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

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

3.    not        非假既真,   非真既假 .

三 编码的问题

1.   解释器

Python2解释器用  " ASCII "对内容进行编码;

Python3解释器用   " UTF-8 "对内容进行编码.

2.  编码系统的发展

ASCII  ( 美国标准信息交换代码  )     8 bit      1 byte     扩大使用受到局限;

GBK    ( GBK兼容ASCII )                16 bit      2 byte     仅限中国

eg  :    字母A:0100 0001        #  ASCII

字母A:0000 0000 0100 0001   #  GBK     国标码

Unicode  ( 万国码 )                              32 bit      4 byte      浪费

UTF-8    (可变长度)           英文           8 bit      1 byte

中文         24 bit      3 byte

3.  单位换算

8 bit  =  1 byte

1024 byte  =  1KB

1024 KB   =   1MB

1024 MB   =   1GB

1024 GB   =   1TB

1024 TB   =   1PB

......

python全栈开发* 02 知识点汇总 * 180531的更多相关文章

  1. python全栈开发 * 10知识点汇总 * 180612

    10 函数进阶 知识点汇总 一.动态参数 形参的第三种1.动态接收位置传参 表达:*args (在参数位置编写 * 表⽰接收任意内容) (1)动态位置参数def eat(*args): print(a ...

  2. python全栈开发 * 01知识点汇总 * 180530

    一 python简介. 1.创始人:  吉多 .范罗苏姆  \   (Guido van Rossum). 2.时间  :  1989年. 3.主要应用领域  :  云计算 \  WEB开发  \   ...

  3. python全栈开发 * 32知识点汇总 * 180717

    32 网络编程 (一)一.架构 定义:程序员开发的一种模式. 分类: C/S 架构 C/S即:Client与Server , 客户端/ 服务器模式 . 缺点 : 冗余 B/S 架构 Browser与S ...

  4. python全栈开发 * 26知识点汇总 * 180709

    26 logging collections random 模块 一.logging低配:日志不能写入文件与显示同时进行 import logging logging.basicConfig(leve ...

  5. python全栈开发 * 12 知识点汇总 * 180530

    12 知识点总结 装饰器进阶 ⼀. 通⽤装饰器的回顾1.开闭原则: 对增加功能开放. 对修改代码封闭2.装饰器的作⽤: 在不改变原有代码的基础上给⼀个函数增加功能3.通⽤装饰器的写法:def wrap ...

  6. python全栈开发 * 36知识点汇总 * 180721

    36 操作系统的发展史 进程一.手工操作--穿孔卡片 1.内容: 程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制 台开关启动程序针对 ...

  7. python全栈开发 * 31知识点汇总 * 180716

    31 模块和包一.模块(一)模块的种类:内置模块,自定义模块,扩展模块第三方模块(二)自定义模块 1.模块的创建 : 新建一个py文件. 2.模块名 : 模块名需要符合变量的命名规范. 3.模块的导入 ...

  8. python全栈开发 * 24 知识点汇总 * 180705

    24 模块-------序列化一.什么是模块 模块:py文件就是一个模块.二.模块的分类:(1)内置模块 (登录模块,时间模块,sys模块,os模块)(2)扩展模块 (itchat 微信有关,爬虫,b ...

  9. python全栈开发 * 30知识点汇总 * 180713

    30 re模块2一.正则表达式在线测试 在线测试工具 http://tool.chinaz.com/regex/(一).*?的用法: . 是任意字符 * 是取 0 至 无限长度 ? 是非贪婪模式.合在 ...

随机推荐

  1. 如何在 PhpStorm 使用 Code Generation?

    實務上開發專案時,有一些程式碼會不斷的出現,這時可靠 PhpStorm 的 Code Generation 幫我們產生這些 code snippet,除此之外,我們也可以將自己的 code snipp ...

  2. 【理论面试篇】收集整理来自网络上的一些常见的 经典前端、H5面试题 Web前端开发面试题

    ##2017.10.30收集 面试技巧 5.1 面试形式 1)        一般而言,小公司做笔试题:大公司面谈项目经验:做地图的一定考算法 2)        面试官喜欢什么样的人 ü  技术好. ...

  3. 安装APK失败,错误代码:INSTALL_FAILED_INVALID_APK 解决方案

    错误代码:installation failed with message failed to finalize session:INSTALL_FAILED_INVALID_APK 解决方法如下:

  4. Effective Java 第三版—— 85. 其他替代方式优于Java本身序列化

    Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所 ...

  5. Mybatis抛出:Cannot obtain primary key information from the database, generated objects may be incomplete

    使用 mybatis generator 生成pojo.dao.mapper时,可能会遇到 Cannot obtain primary key information from the databas ...

  6. Java基础(四)线程快速了解

    开始整理线程之前,之前有个命令忘记整理了,先整理一下jar命令的使用 Jar包 其实可以理解是java的压缩包方便使用,只要在classpath设置jar路径即可数据库驱动,ssh框架等都是以jar包 ...

  7. 【交换机】交换机RLDP(环路检测&链路检测)功能介绍及配置说明

    功能简介RLDP 全称是Rapid Link Detection Protocol,是锐捷网络自主开发的一个用于快速检测以太网链路故障的链路协议.一般的以太网链路检测机制都只是利用物理连接的状态,通过 ...

  8. [Java并发编程(三)] Java volatile 关键字介绍

    [Java并发编程(三)] Java volatile 关键字介绍 摘要 Java volatile 关键字是用来标记 Java 变量,并表示变量 "存储于主内存中" .更准确的说 ...

  9. linq2db sqlite应用

    使用linq2db sqlite 的时候,找不到增加,删除的操作,原来是要引入一个新的命名空间LinqTODB. 1 using LinqToDB; 插入: 1 User uNew = new Use ...

  10. 入围T00ls 2018风云人物

    今天早上打开T00ls,发现成功入围了<T00ls第六届(2018)年度人物风云榜>,共34名年度人物,每个id可投10票,34选10. T00ls是当前国内为数不多的民间网络信息安全研究 ...