1.格式化输出

%s   字符串

%d   数字

%%  转义 %

%f   小数

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

  1. ------------ info of Alex Li ----------Name  : Alex Li Age   : 22 job   : Teacher Hobbie: girl ------------- end ----------------

要怎么实现这些代码呢?

  1. name = input("Name:")
  2. age = input("Age:")
  3. job = input("Job:")
  4. hobby = input("Hobbie:")
  5. info = ''' ------------ info of %s ----------- #这里的每个%s就是一个占位符,本行的代表 后面拓号里的 name
  6. Name : %s #代表 name
  7. Age : %s #代表 age
  8. job : %s #代表 job
  9. Hobbie: %s #代表 hobbie ------------- end ----------------''' % (name,name,age,job,hobbie) # 这行的 % 号就是 把前面的字符串 与拓号 后面的 变量 关联起来
  10. print(info)

%s就是代表字符串占位符,除此之外,还有%d, 是数字占位符, 如果把上面的age后面的换成%d,就代表你 必须只能输入数字啦 这时对应的数据必须是int类型. 否则程序会报错

使用时,需要类型转换.

  1. int(str) # 字符串转换成int
  2. str(int) # int转换成字符串

还有一种:

制作趣味模板程序需求:等待⽤户输⼊名字、地点、爱好,根据⽤户的名字和爱好进⾏任意现实 如:敬爱可亲的xxx,最喜欢在xxx地⽅⼲xxx.

  1. name=input("请输入您的姓名:")
  2. place=input("请输入您的位置:")
  3. hobby=input("请输入您的爱好:")
  4. print=("敬爱可亲的%s,最喜欢在%s地方干%s" % (name,place,hobby))

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

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

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

  1. 我叫xxx, 今年xx岁了,我们已经学习了2%的python基础了

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

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

  1. print("我叫%s, 今年22岁了, 学习python2%%了" % '王尼玛') # 有%占位符
  2. print("我叫王尼玛, 今年22岁, 已经凉凉了100%了") # 没有占位符

2. 运算符

// 整除

%计算余数

** 求次幂

a +=b    =>    a = a + b

and    和,并且;左右两端必须同时为真(True) 结果才能是真

or        或,或者;左右两端有一个是真,结果就是真

not    取反.    非真既假,非假既真

运算顺序       (先算的永远是括号)

()  =>  not => and => or

同样的运算符 从左往右推.

  1. 比如:
  2. print(> and < or > )
  3. 这就需要 得出and 以后 再进行 or

###   or 如果是第一位 非0   输出第一位    如果是 0 则输入第二位

###   and 如果第一位是非0  输出第二位

  1. and 写第一位
  2. 0 后面那位
  3. or 后面一位
  4. 0 写第一位

3. 初识编码

ASCII   8bit    1byte

GBK     16bit   2byte

UNICODE  32bit  4 byte

UTF-8    最少8位  1byte     中文24bit  3byte

bit  表示  位      byte  表示 字节

计算机:

早期. 计算机是美国发明的. 普及率不高, 一般只是在美国使用. 所以. 早的编码结构就是按照美国人的习惯来 编码的. 对应数字+字母+特殊字符一共也没多少. 所以就形成了早的编码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

  1. 字母A: # ASCII
  2. 字母A: # 国标码

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

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

单位转换 :

  1. 8bit = 1byte
  2. 1024KB = 1MB
  3. 1024MB = 1GB
  4. 1024GB = 1TB
  5. 1024TB = 1PB
  6. 1024TB = 1EB
  7. 1024EB = 1ZB
  8. 1024ZB = 1YB
  9. 1024YB = 1NB
  10. 1024NB = 1DB
  11. 一般用到TB 就可以了, 剩下的可以了解一下

4. while...else...(补充的)

while 条件:

循环体

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

  1. index =
  2. :
  3. :
  4. # break
  5. pass
  6. else:
  7. print(index)
  8. index = index+
  9. else:print("你好")

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

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

5.  in  和  not  in

in可以帮我们判断"xxx"字符是否出现在了"xxxxx"字符中

not in  没有出现

  1. 比如:等待⽤户输⼊内容,检测⽤户输⼊内容中是否包含敏感字符?如果存在敏感字符提示“存在敏感字符请重新输⼊”,并允许⽤户重新输⼊并打印。敏感字符:“⼩粉嫩”
  2.  
  3. s=input("用户输入:")
  4. while True:
  5. if "小粉嫩" == s :
  6. print("存在敏感字符")
  7. else:
  8. print("评论成功")
  1. 还有一种写法:
  2. content = input("请输入你的评论")
  3. if "苍老师" in content or '邱老师' in content:
  4. print('你输入的内容不合法')
  5. else: print("评论成功")

python 基础 Two day的更多相关文章

  1. python之最强王者(2)——python基础语法

    背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...

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

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

  3. Python小白的发展之路之Python基础(一)

    Python基础部分1: 1.Python简介 2.Python 2 or 3,两者的主要区别 3.Python解释器 4.安装Python 5.第一个Python程序 Hello World 6.P ...

  4. Python之路3【第一篇】Python基础

    本节内容 Python简介 Python安装 第一个Python程序 编程语言的分类 Python简介 1.Python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum) ...

  5. 进击的Python【第三章】:Python基础(三)

    Python基础(三) 本章内容 集合的概念与操作 文件的操作 函数的特点与用法 参数与局部变量 return返回值的概念 递归的基本含义 函数式编程介绍 高阶函数的概念 一.集合的概念与操作 集合( ...

  6. 进击的Python【第二章】:Python基础(二)

    Python基础(二) 本章内容 数据类型 数据运算 列表与元组的基本操作 字典的基本操作 字符编码与转码 模块初探 练习:购物车程序 一.数据类型 Python有五个标准的数据类型: Numbers ...

  7. Python之路【第一篇】python基础

    一.python开发 1.开发: 1)高级语言:python .Java .PHP. C#  Go ruby  c++  ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...

  8. python基础之day1

    Python 简介 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. Python为我们提供了非常完善的基础代码库,覆盖了 ...

  9. python基础之文件读写

    python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使用os模块的一些方法如下: 得到 ...

  10. python基础之编码问题

    python基础之编码问题 本节内容 字符串编码问题由来 字符串编码解决方案 1.字符串编码问题由来 由于字符串编码是从ascii--->unicode--->utf-8(utf-16和u ...

随机推荐

  1. python socket 编程

    TCP IPv4 # server.py import socket import threading import time s = socket.socket(socket.AF_INET,soc ...

  2. mysql创建用户与pymsql模块

    mysql 创建用户及增删改查 创建mysql 用户 with grant option 表示用户不存在自主创建 grant [ select ……,insert ……| all ] on 库名.表名 ...

  3. 三十四、Linux 进程与信号——信号特点、信号集和信号屏蔽函数

    34.1 信号特点 信号的发生是随机的,但信号在何种条件下发生是可预测的 进程杠开始启动时,所有信号的处理方式要么默认,要么忽略:忽略是 SIGUSR1 和 SIGUSR2 两个信号,其他都采取默认方 ...

  4. 【python小练】0010

    第 0010 题:使用 Python 生成类似于下图中的字母验证码图片 思路: 1. 随机生成字符串 2. 创建画布往上头写字符串 3. 干扰画面 code: # codeing: utf-8 fro ...

  5. Bootstrap 使用

    bootstrap模板为使IE6.7.8版本(IE9以下版本)浏览器兼容html5新增的标签,引入下面代码文件即可. <script src="https://oss.maxcdn.c ...

  6. pom样板

    <properties> <java.version>1.6</java.version> <project.build.sourceEncoding> ...

  7. 双系统中卸载Ubuntu后又efi系统分区删除方法

    参考:https://blog.csdn.net/qq_28057541/article/details/51723914 首先 window键(窗口键) + R ,然后输入 Diskpart 打开命 ...

  8. linux sqlite replace into

    sqlite replace into 文档详细说明: http://blog.sina.com.cn/s/blog_590be5290102vulh.html 这点很重要: 一般用replace语句 ...

  9. Linux查看系统的基本信息

    uname -r :显示操作系统的发行版号 uname -a:显示系统名.节点名称.操作系统的发行版号.操作系统版本.运行系统的机器 ID 号. # Ubuntu系统 ubuntu@VM-28-69- ...

  10. Challenge Create a Launch Pad

    在头文件中定义网格体组件和重叠组件 UPROPERTY(VisibleAnywhere,Category="Components") UStaticMeshComponent* M ...