day03_python_1124
01 昨日内容回顾
while 条件:
循环体
如何终止循环:
1,改变条件。
2,break。
3,exit() quit() 不推荐。
关键字:
break continue
while else:循环只要不被break打断,则执行else语句。
格式化输出:做一个字符串的公共模板,让某些位置的元素变成动态可传的。
% 占位符, 数据类型:s 字符串 d:数字 f r。
坑:
如果想要格式化输出中表示% 则应该 %%。
运算符:
or and not
优先级: () > not > and > or
1,运算符两边都是比较运算
1 > 2 and 3 < 4 or 4 < 7 and 3 < 9
按照优先级顺序从左至右依次计算。
2,运算符两边都是数字
x or y if x is True,return x else return y.
3,混合:运算符两边是数字或者比较
1 and 3 or 3 < 4 and 5 : 3
编码:
什么是编码?
人类能识别的文字 与 0101010 的对应关系表。
ascii:是最早的编码本,只包含:数字,字母,特殊字符。
a : 0000 0010 一个字符用1个字节表示
Unicode:万国码。将全世界所有的文字都包含进来。
早期:一个字符用2个字节表示
a : 0000 0000 0000 0100
中:0000 0000 0001 0000
升级:一个字符用4个字节表示
a : 0000 0000 0000 0100 0000 0100 0000 0100
中:0000 0000 0001 0000 0000 0100 0000 0100
浪费资源。
utf-8的编码本:最少用8位一个字节表示一个字符
a: 0000 0010 一个字节表示一个字符
欧:0000 0010 0000 0010 两个字节表示一个字符
中:0000 0010 0000 0010 0000 0010 三个字节表示一个字符
补充:数字,字母,特殊字符 映射的是ascii。
gbk:国标。
数字,字母,特殊字符 映射的是ascii。
本国语言。
中:0000 0010 0000 0010 两个字节。
'python骑士'
# gbk:10个字节。
# utf-8:12个字节。
8bit == 1 bytes
1024bytes == 1 Kb
1024 Kb == 1 Mb
1024 Mb == 1 Gb
02 作业讲解
03 int
用于计算
1,二进制与十进制之间的转换。
2,bit_lenth()
04 bool
05 str
03 int
i = 9
# print(i.bit_length()) # 获取十进制转化成二进制的有效位数 *
二进制 十进制
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
二进制转化成十进制
0010 1101 --->
0*2**7+0*2**6+1*2**5+0*2**4+1*2**3+1*2**2+0*2**1+1*2**0
1*2**5+1*2**3+1*2**2+1*2**0 = 32 + 8 + 4 + 1 = 45
十进制转化成二进制 : 对2取余,逆向排列
42 ——-> 0010 1010
04 bool
# bool 值 True False
# str ---> bool 非空即True (包括'0')
# s1 = 'fdsa范德萨了f'
# s2 = ''
# print(bool(s2))
# s1 = ''
# if s1:
# print('非空')
# else:
# print('此数据为空')
# bool ---> str 无意义
# b1 = True
# print(str(b1),type(str(b1)))
05 str
# s = 'python骑士计划3期'
#按照索引取值
# s1 = s[0]
# # print(s1,type(s1))
# # s2 = s[1]
# # print(s2)
# # s3 = s[-1]
# # print(s3)
# # 按照切片取值,顾头不顾尾
# s4 = s[:6]
# print(s4)
# s6 = s[6:10]
# print(s6)
# s7 = s[6:-2]
# print(s7)
#切片+步长
# s8 = s[:5:2]
# print(s8)
# s9 = s[7::2]
# print(s9)
# s10 = s[-1:-4:-1]#只要倒叙取值就要加上方向步长
# [起始索引:结尾索引+1:步长]
# print(s10)
# print(s[:5:-1]) # 字符串的常用操作方法 (都是形成新的字符串,与原字符串没有关系)
# s = 'taibai'
#capitalize() 首字母大写
# s1 = s.capitalize()
# print(s1)
# center()将字符串居中可以设置总长度,可以设置填充物
# s2 = s.center(50)
# s3 = s.center(50,'*')
# print(s2,s3)
#尝试
# s = 'qwert'
# s1 = s.center(10,'*')
# print(s1)
#若无法居中,放置在偏左一位 #swapcase 大小写翻转
# s = 'TaiBai'
# s1 = s.swapcase()
# print(s1) #title 非字母隔开的每个单词的首字母大写
# s = 'mo lu9nihao*xiexie'
# s1 = s.title()
# print(s1) #upper()全部转化为大写,lower()全部转化为小写
# s = 'taibaiJinXing'
# s1 = s.upper()
# s2 = s.lower()
# print(s1)
# print(s2) # usename = input('请输入姓名')
# password = input('请输入密码')
# code = 'AeTrd'.upper()
# your_code = input('请输入验证码:').upper()
# if your_code == code:
# if usename == 'mo' and password == 'love':
# print('登陆成功')
# else:
# print('用户名或者密码错误')
# else:
# print('验证码错误') #startswith,endswith判断True,False
# s = 'alexeaaa'
# print(s.startswith('a'))
# print(s.startswith('alex'))
# print(s.startswith('e',2,))#可切片 # find : 通过元素找索引,找到第一个就返回(可切片),找不到返回-1
# index 通过元素找索引,找到第一个就返回(可切片),找不到报错
# s = 'waibaijinxing'
# print(s.index('a'))
# print(s.find('a'))
# print(s.find('a',2,))#找第二个a
# print(s.find('X'))
# print(s.index('X')) # s = ' \nbarry\t '###???
# s7 = s.strip()
# print(s7)
#
# print(s)
#strip:默认去除字符串前后两端的空格,换行符,制表符 ***
# strip(char)
# lstrip() rstrip() 自己试 # s = ' sadf '
# print(s.strip())
# print(s.lstrip())
# print(s.rstrip()) '''
# 应用举例:
# username = input('请输入姓名:').strip()
# password = input('请输入密码:').strip()
# if username == 'alex' and password == '123':
# print('登录成功')
# else:
# print('用户名或者密码错误')
'''
#ss = 'qqwalex wusir barrure'
# s8 = ss.strip('qwre')#???
# print(s8) #split str ---> list 默认以空格分割
# s = 'wusir alex taibai'
# ss = 'wusir:alex:taibai'
# sss = 'taibai:alex:wusir:xiaohu:日天'
# s1 = ':wusir:alex:taibai'
# l1 = s.split()
# l2 = ss.split(':')
# l3 = sss.split(':', 1)
# l4 = s1.split(':') # 分割出的元素要比分隔符数+1
# print(l4)
# print(l3)
# print(l2)
# print(l1) # join (list(必须全部都是字符串组成的列表) ---> str 只是其中一种用途)
# s = 'alex'
# # s1 = ['wusir','alex','taibai']
# # s2 = '_'.join(s)
# # s3 = ''.join(s1)
# # print(s2)
# # print(s3) # s = 'Alex 是老男孩的创始人之一,Alex也是一个屌丝,Alex'
# replace
#replace要替换的没有不会报错,正常跳过
# s1 = s.replace('Alex','日天')
# s2 = s.replace('Alex','日天',1)
# print(s1)
# print(s2)
# format 格式化输出 ***
# 第一种方式:
# s = '我叫{}, 今年{}, 性别{}'.format('小虎', 25, '女')
# print(s)
# 第二种方式
# s = '我叫{0}, 今年{1}, 性别{2},我依然叫{0}'.format('小虎', 25, '女')
# print(s)
# 第三种方式
# s = '我叫{name}, 今年{age}, 性别{sex},我依然叫{name}'.format(age=25, sex='女',name='小虎',)
# print(s)
#is系列
# name = 'taibai123'
# print(name.isalnum())#字符串由字母或数字组成
# print(name.isalpha())#字符串只由字母组成
# print(name.isdigit())# 字符串只由数字组成
# money = input('>>>')
# # if money.isdigit():
# # money = int(money)
# count 计算字符串中某个字符出现的次数
# s = 'dsuhafafjanifuadfkhrifndvnvcjirvdn'
# print(s.count('a'))
# print(s.count('a',1,))
# 公共方法(内置函数)
# s = 'sdf d5456dfesfe1'
# print(len(s)) #s的长度(空格也算)
# s = '太白金星'
# print(s[100])
"""
太 s[0]
白 s[1]
金 s[2]
....
"""
# index = 0
# while index < len(s):
# print(s[index])
# index +=1
# for 循环
for 与 else 配合,中间有break不执行else
PS:函数遇return就结束
'''
结构:
for 变量 in iterable:
pass
'''
# for i in s:
# print(i)
'''
太nb
白nb
金nb
星nb
'''
# for i in s:
# print(i+'nb')
day03_python_1124的更多相关文章
随机推荐
- Hadoop如何将TB级大文件的上传性能优化上百倍?
这篇文章,我们来看看,Hadoop的HDFS分布式文件系统的文件上传的性能优化. 首先,我们还是通过一张图来回顾一下文件上传的大概的原理. 由上图所示,文件上传的原理,其实说出来也简单. 比如有个TB ...
- vue中使用vw适配移动端
推荐看看大漠老师的文章,非常的有收获 如何在Vue项目中使用vw实现移动端适配 1.首先在项目中安装依赖 npm i postcss-aspect-ratio-mini postcss-px-to-v ...
- nRF52832的SAADC
SAADC部分思维导图 1ADC原理 1.1主要特点 1)8/10/12分辨率,使用过采样可达到14位分辨率 2)多达8个通道 单端输入时使用1个通道,2个通道可组成差分输入 单端和差分输入时均可配置 ...
- SpringMVC 处理Date类型数据@InitBinder @DateTimeFormat 注解 的使用
使用SpringMVC的时候,需要将表单中的日期字符串转换成对应JavaBean的Date类型,而SpringMVC默认不支持这个格式的转换,解决方法有两种,如下: 方法一 . 在需要日期转换的Con ...
- 牛客国庆集训派对Day3 I Metropolis
Metropolis 思路: 多源点最短路 只要两个不同源点的最短路相遇,我们就更新两个源点的答案 代码: #pragma GCC optimize(2) #pragma GCC optimize(3 ...
- Spring学习笔记(入门)
1.基本看了一下,spring就是利用这个框架帮助我们实例化对象的工具.首先我们需要引入jar包,pom.xml如下: <project xmlns="http://maven.apa ...
- Spring Boot入门第四天:使用Thymeleaf模板引擎
原文链接 关于Thymeleaf的优点,我只说一条:它就是html页面啊,直接可以用浏览器打开.受够了JSP的同学可以尝试一下. 1.在pom.xml文件中添加依赖: <!--<depen ...
- 将内网ip映射到外网域名
一.应用场景 1.在本地测试微信支付回调 二.如何使用natapp实现内网穿透 1.第一步注册账号并进行实名制认证 natapp网站地址 https://natapp.cn/ 2.第二步申请免费隧道 ...
- Jupyter notebook 转 pdf [完整转换]
- 20165309 实验一 Java开发环境的熟悉
20165309 实验一 Java开发环境的熟悉 一.实验内容及步骤 (一)命令行下Java程序开发 在Linux下用ctrl+alt+T打开终端,用mkdir创建文件夹后cd进入. 在vim下键入如 ...