python 基础 Two day
1.格式化输出
%s 字符串
%d 数字
%% 转义 %
%f 小数
现在有以下需求,让用户输入name, age, job,hobby 然后输出如下所示:
- ------------ info of Alex Li ----------Name : Alex Li Age : 22 job : Teacher Hobbie: girl ------------- end ----------------
要怎么实现这些代码呢?
- name = input("Name:")
- age = input("Age:")
- job = input("Job:")
- hobby = input("Hobbie:")
- info = ''' ------------ info of %s ----------- #这里的每个%s就是一个占位符,本行的代表 后面拓号里的 name
- Name : %s #代表 name
- Age : %s #代表 age
- job : %s #代表 job
- Hobbie: %s #代表 hobbie ------------- end ----------------''' % (name,name,age,job,hobbie) # 这行的 % 号就是 把前面的字符串 与拓号 后面的 变量 关联起来
- print(info)
%s就是代表字符串占位符,除此之外,还有%d, 是数字占位符, 如果把上面的age后面的换成%d,就代表你 必须只能输入数字啦 这时对应的数据必须是int类型. 否则程序会报错
使用时,需要类型转换.
- int(str) # 字符串转换成int
- str(int) # int转换成字符串
还有一种:
制作趣味模板程序需求:等待⽤户输⼊名字、地点、爱好,根据⽤户的名字和爱好进⾏任意现实 如:敬爱可亲的xxx,最喜欢在xxx地⽅⼲xxx.
- name=input("请输入您的姓名:")
- place=input("请输入您的位置:")
- hobby=input("请输入您的爱好:")
- print=("敬爱可亲的%s,最喜欢在%s地方干%s" % (name,place,hobby))
类似这样的操作在后面还有很多
如果, 你不想转换. 觉着转换很麻烦. 也可以全部都用%s. 因为任何东西都可以直接转换成字符串--> 仅 限%s
现在又来新问题了. 如果想输出:
- 我叫xxx, 今年xx岁了,我们已经学习了2%的python基础了
这里的问题出在哪里呢? 没错2%, 在字符串中如果使用了%s这样的占位符. 那么所有的%都将变成占位符. 我们的2%也变成了占 位符. 而"%的"是不存在的, 这里我们需要使用%%来表示字符串中的%.
注意: 如果你的字符串中没有使用过%s,%d站位. 那么不需要考虑这么多. 该%就%.没毛病老铁.
- print("我叫%s, 今年22岁了, 学习python2%%了" % '王尼玛') # 有%占位符
- print("我叫王尼玛, 今年22岁, 已经凉凉了100%了") # 没有占位符
2. 运算符
// 整除
%计算余数
** 求次幂
a +=b => a = a + b
and 和,并且;左右两端必须同时为真(True) 结果才能是真
or 或,或者;左右两端有一个是真,结果就是真
not 取反. 非真既假,非假既真
运算顺序 (先算的永远是括号)
() => not => and => or
同样的运算符 从左往右推.
- 比如:
- print(> and < or > )
- 这就需要 得出and 以后 再进行 or
### or 如果是第一位 非0 输出第一位 如果是 0 则输入第二位
### and 如果第一位是非0 输出第二位
- and 写第一位
- 非0 后面那位
- or 后面一位
- 非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
- 字母A: # ASCII
- 字母A: # 国标码
国标码的弊端: 只能中国用. 日本就垮了. 所以国标码不满足我们的使用. 这时提出了一个万国码Unicode. unicode一开始设计是每个字符两个字节. 设计完了. 发现我大中国汉字依然无法进行编码. 只能进行扩充. 扩充 成32位也就是4个字节. 这回够了. 但是. 问题来了. 中国字9万多. 而unicode可以表示40多亿. 根本用不了. 太浪 费了. 于是乎, 就提出了新的UTF编码.可变长度编码
UTF-8: 每个字符少占8位. 每个字符占用的字节数不定.根据文字内容进行具体编码. 比如. 英文. 就一个字节就 够了. 汉字占3个字节. 这时即满足了中文. 也满足了节约. 也是目前使用频率高的一种编码
UTF-16: 每个字符少占16位.
GBK: 每个字符占2个字节, 16位.
单位转换 :
- 8bit = 1byte
- 1024KB = 1MB
- 1024MB = 1GB
- 1024GB = 1TB
- 1024TB = 1PB
- 1024TB = 1EB
- 1024EB = 1ZB
- 1024ZB = 1YB
- 1024YB = 1NB
- 1024NB = 1DB
- 一般用到TB 就可以了, 剩下的可以了解一下
4. while...else...(补充的)
while 条件:
循环体
else: 循环在正常情况跳出之后会执行这里
- index =
- :
- :
- # break
- pass
- else:
- print(index)
- index = index+
- else:print("你好")
注意: 如果循环是通过break退出的. 那么while后面的else将不会被执行, 只有在while条件判断是假的时候才会 执行这个else
pass: 不表示任何内容. 为了代码的完整性. 占位而已
5. in 和 not in
in可以帮我们判断"xxx"字符是否出现在了"xxxxx"字符中
not in 没有出现
- 比如:等待⽤户输⼊内容,检测⽤户输⼊内容中是否包含敏感字符?如果存在敏感字符提示“存在敏感字符请重新输⼊”,并允许⽤户重新输⼊并打印。敏感字符:“⼩粉嫩”
- s=input("用户输入:")
- while True:
- if "小粉嫩" == s :
- print("存在敏感字符")
- else:
- print("评论成功")
- 还有一种写法:
- content = input("请输入你的评论")
- if "苍老师" in content or '邱老师' in content:
- print('你输入的内容不合法')
- else: print("评论成功")
python 基础 Two day的更多相关文章
- python之最强王者(2)——python基础语法
背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...
- Python开发【第二篇】:Python基础知识
Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
- Python小白的发展之路之Python基础(一)
Python基础部分1: 1.Python简介 2.Python 2 or 3,两者的主要区别 3.Python解释器 4.安装Python 5.第一个Python程序 Hello World 6.P ...
- Python之路3【第一篇】Python基础
本节内容 Python简介 Python安装 第一个Python程序 编程语言的分类 Python简介 1.Python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum) ...
- 进击的Python【第三章】:Python基础(三)
Python基础(三) 本章内容 集合的概念与操作 文件的操作 函数的特点与用法 参数与局部变量 return返回值的概念 递归的基本含义 函数式编程介绍 高阶函数的概念 一.集合的概念与操作 集合( ...
- 进击的Python【第二章】:Python基础(二)
Python基础(二) 本章内容 数据类型 数据运算 列表与元组的基本操作 字典的基本操作 字符编码与转码 模块初探 练习:购物车程序 一.数据类型 Python有五个标准的数据类型: Numbers ...
- Python之路【第一篇】python基础
一.python开发 1.开发: 1)高级语言:python .Java .PHP. C# Go ruby c++ ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...
- python基础之day1
Python 简介 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. Python为我们提供了非常完善的基础代码库,覆盖了 ...
- python基础之文件读写
python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使用os模块的一些方法如下: 得到 ...
- python基础之编码问题
python基础之编码问题 本节内容 字符串编码问题由来 字符串编码解决方案 1.字符串编码问题由来 由于字符串编码是从ascii--->unicode--->utf-8(utf-16和u ...
随机推荐
- python socket 编程
TCP IPv4 # server.py import socket import threading import time s = socket.socket(socket.AF_INET,soc ...
- mysql创建用户与pymsql模块
mysql 创建用户及增删改查 创建mysql 用户 with grant option 表示用户不存在自主创建 grant [ select ……,insert ……| all ] on 库名.表名 ...
- 三十四、Linux 进程与信号——信号特点、信号集和信号屏蔽函数
34.1 信号特点 信号的发生是随机的,但信号在何种条件下发生是可预测的 进程杠开始启动时,所有信号的处理方式要么默认,要么忽略:忽略是 SIGUSR1 和 SIGUSR2 两个信号,其他都采取默认方 ...
- 【python小练】0010
第 0010 题:使用 Python 生成类似于下图中的字母验证码图片 思路: 1. 随机生成字符串 2. 创建画布往上头写字符串 3. 干扰画面 code: # codeing: utf-8 fro ...
- Bootstrap 使用
bootstrap模板为使IE6.7.8版本(IE9以下版本)浏览器兼容html5新增的标签,引入下面代码文件即可. <script src="https://oss.maxcdn.c ...
- pom样板
<properties> <java.version>1.6</java.version> <project.build.sourceEncoding> ...
- 双系统中卸载Ubuntu后又efi系统分区删除方法
参考:https://blog.csdn.net/qq_28057541/article/details/51723914 首先 window键(窗口键) + R ,然后输入 Diskpart 打开命 ...
- linux sqlite replace into
sqlite replace into 文档详细说明: http://blog.sina.com.cn/s/blog_590be5290102vulh.html 这点很重要: 一般用replace语句 ...
- Linux查看系统的基本信息
uname -r :显示操作系统的发行版号 uname -a:显示系统名.节点名称.操作系统的发行版号.操作系统版本.运行系统的机器 ID 号. # Ubuntu系统 ubuntu@VM-28-69- ...
- Challenge Create a Launch Pad
在头文件中定义网格体组件和重叠组件 UPROPERTY(VisibleAnywhere,Category="Components") UStaticMeshComponent* M ...