小学生都能学会的python(编码 and 字符串)
小学生都能学会的python(编码 and 字符串)
一,编码
最早的计算机编码是ASCII。 有英文+数字+特殊字符 8bit => 1byte 没有中文, 后面的编码必须兼容ASCII GBK 把中国的文字进行编码. 对ASCII扩充。 16bit => 2byte 主要包含了中文, 日文, 韩文, 英文(兼容ASCII) UNICODE 32bit 兼容各个国家的编码。万国码。 浪费空间 32bit => 4byte UTF-8 可变长度的UNICODE。本质是UNICODE。 英文在UTF-8里面占用1个字节 8bit 欧洲文字。占用2个字节 16bit 中文. 占用3个字节 24bit UTF-16
8bit => 1byte 1024byte => 1kb 1024kb => 1mb 1024mb => 1gb 1024gb => 1tb 1024tb = > 1
二,字符串(重点)
常见的基本数据类型:
1. int 整数
2. bool 布尔. 判断. if while
3. str 字符串, 一般放小量的数据.
4. list 列表. 可以存放大量的数据
5. dict 字典, 以key:value的形式存储数据
6. set 集合(数学)
7. tuple 元组 不可变
1. int
整数: 常见操作就那么几个 +-*/ // % **
bit_length() 一个数的二进制长度
2. bool(类型转换的问题)
没有操作
类型转换
字符串转换成整数 int(str)
结论1: 想要转化成什么类型就用这个类型括起来
结论2: True => 1 False => 0
结论3: 可以当做False来用的数据: 0 "" [] {} () None
3. 字符串
1. 字符: 单一文字符号
2. 字符串: 有序的字符序列
字符串由 ' " ''' """括起来的内容 字符串
索引 : 一排数字. 反应第某个位置的字符 索引的下标从0开始. 使用[]来获取数据
切片: [start: end: step]
顾头不顾尾
step:步长. 如果是+ 从左往右. 如果是- 从右往左 每n个取1个
3. 常用操作方法:
1. upper() 转化成大写. 忽略大小写的时候
2. strip() 去掉左右两端空白 用户输入的内容都要去空白
3. replace(old, new) 字符串替换
4. split() 切割 结果是list
5. startswith() 判断是否以xxx开头
6. find() 查找
7. isdigit() 判断是否是数字组成
8. len() 求长度. 内置函数
4. for循环
for 变量 in 可迭代对象:
循环体(break, continue)
else:
当循环结束的时候执行else
# 把字符串转化成int
# a = "10"
# b = int(a)
# print(type(b)) # 把int转化成str
# a = 10
# print(type(a))
# s = str(a)
# print(type(s)) # 如果想把字符串转化成int int(str)
# 把int转化成str str(int)
# 结论: 想转化成xxx数据类型 xxx(目标) # a = 10
# b = bool(a)
# print(b) # c = True
# d = str(c)
# print(type(d)) # a = False
# print(int(a)) # 结论2: True => 1 False => 0
# 结论3 , 可以当做False来用的数据: 0, "", [], (),{}, None
# 所有的空的东西都是False # s = ""
# if s:
# print("娃哈哈") # while 1: # 1和True效率: 1的效率比True高一点点
# print("还我钱!")
# s = '刘德华很帅但是张国荣更'
# print(s[2])
# print(s[11])
# print(s[-5]) # 倒数第一
# print(s[-4]+s[-3]+s[-2]) # 切片 s[start: end] 顾头不顾尾
# print(s[7:10])
# print(s[0:3])
# print(s[-4:-1])
# print(s[-1:-4]) # 默认的方向是从左往右切.
# 从德开始切. 切到结尾
# print(s[1:]) # 末尾
# print(s[:4]) # 开头
# print(s[:]) # s = "我要开始玩幺蛾子了你们怕不怕我很怕"
# print(s[1:5])
# print(s[5:1:-1])
# 第三个参数是步长
# print(s[1:5:3])
# print(s[4:8:2])
# print(s[::2]) # 02468
# print(s[-1:-6:-2])
# print(s[::-3])
# print(s[::-1]) # s = "" # 回文
# s1 = s[::-1]
# if s == s1:
# print("是回文")
# else:
# print("不是回文") # 切片: str[start : end : step]
# start: 起始位置
# end: 结束位置 顾头不顾尾
# step: 步长 默认是1. 从左往右取. -1 从右往左取
# s = "太白金星"
# s2 = s[::-1]
# print(s) # s = "alex is not a good man! Tory is a good man"
# # s1 = s.capitalize() # 首字母大写
#
# s1 = s.lower()
# s2 = s1.upper() # 转化成大写字母. 要求记住. 使用场景: 忽略大小写的时候需要
#
# print(s2) # while True:
# content = input("请输入你要喷的内容(输入Q退出):")
# if content.upper() == 'Q': # 当用户输入q或者Q的时候退出. 这里要忽略大小写
# break
# print(content) # s = "alex is not a good man! Tory is a good man"
# s1 = s.swapcase() # 大小写互换
# print(s1) # s2 = "БBß" # 俄美德
# print(s2)
# print(s2.lower())
# print(s2.casefold()) # 都转化成小写. 支持的文字比lower多 # s = "class app_le banana ora1nge pear alex wusir"
# s1 = s.title() # 标题.把单词的首字母大写
# print(s1) # s = "刘伟"
# s1 = s.center(4,"*") # 把字符串拉长成4个单位 用*扩充
# print(s1) # s = " \t 你好啊. 我叫赛利亚 "
# print(s)
# s1 = s.strip() # 去掉空白
# print(s1) # 模拟登陆
# 用户输入的内容是无法保证合法的. 需要进行处理和判断
# username = input("请输入用户名:").strip()
# password = input("请输入密码:").strip()
# if username == "alex" and password == "123":
# print("成功")
# else:
# print("失败") # s = "刘伟很帅刘伟"
# print(s.strip("伟")) # s = "alex_wusir_ritian_taibai_evaj_eggon"
# # s1 = s.replace("taibai", "taihei")
# s1 = s.replace("i", "SB", 2)
# print(s1) # s = "alex_wusir_ritian_taibai_evaj_eggon"
# lst = s.split("_") # 刀有多宽 就要损失掉多少
# print(lst) # print("周润发\n周星驰周笔畅周杰伦") # \n 是换行 # s = "周润发周星驰周笔畅周杰伦"
# lst = s.split("周润发周星驰周笔畅周杰伦") # 切割的内容在边上. 会出现空字符串
# print(lst) # 格式化输出
# print("我叫%s, 我今年%d岁了, 我喜欢干%s" % ("alex", 18, "python"))
# print("我叫{}, 我今年{}岁了, 我喜欢干{}".format("alex", 18, "python"))
# print("我叫{0}, 我今年{1}岁了, 我喜欢干{2}".format("alex", 18, "python"))
# print("我叫{name}, 我今年{age}岁了, 我喜欢干{hobby}".format(name="alex", age=18, hobby="python")) # s = "今天的内容非常简单.你们信吗? 作业也很容易. 就是整理不太好"
# print(s.startswith("太好了"))
# print(s.endswith("太好了"))
# 啤酒
# s = "胡辣汤炸鸡啤酒烤鸭酱肘锅包肉炸鸡炸鸡炸鸡"
# # print(s.count("炸鸡")) # 计数
# print(s.find("疙瘩汤")) # 如果找不到返回-1 用这个
# print(s.index("疙瘩汤")) # 如果找不到报错. # s = "一二壹贰叁肆萬两"
# print(s.isnumeric()) # s = "我是上帝, 你也是上帝"
# print(len(s)) # 内置函数len(字符串) 返回给你字符串的长度
# s = "朱元璋朱棣"
#
# # count = 0
# # while count < len(s): # 遍历字符串的第一种办法
# # print(s[count])
# # count = count + 1
#
# s = "朱元璋朱棣朱建峰"
# # for循环
# # for 变量 in 可迭代对象:
# # 把可迭代对象中的每一个元素 分别赋值给前面的变量, 可以方便可迭代对象的遍历
# for c in s:
# print(c) # TypeError: 'int' object is not iterable
# for i in 10:
# print(i)
小学生都能学会的python(编码 and 字符串)的更多相关文章
- 小学生都能学会的python(文件操作)
小学生都能学会的python(文件操作) 1. open("文件路径", mode="模式", encoding="编码") 文件的路径: ...
- 小学生都能学会的python(小数据池)
小学生都能学会的python(小数据池) 1. 小数据池. 目的:缓存我们字符串,整数,布尔值.在使用的时候不需要创建过多的对象 缓存:int, str, bool. int: 缓存范围 -5~256 ...
- 小学生都能学会的python(运算符 和 while循环)
---恢复内容开始--- 小学生都能学会的python(运算符和编码) 一.格式化输出 #占位:"%s"占位,占得是字符串,"%d"占位,占的是数字. # 让用 ...
- 小学生都能学会的python(闭包和迭代器)
小学生都能学会的python(闭包和迭代器) 1. 函数名第一类对象 函数名其实就是变量名 1). 可以像变量一样互相赋值. 2). 可以作为函数的参数,进行传递 3). 可以作为返回值返回 4). ...
- 小学生都能学会的python(函数的进阶)
小学生都能学会的python(函数的进阶) 1. 动态传参 形参: 1. 位置参数 2. 默认值参数 3. 动态传参 *args 动态接收位置参数 **kwargs 动态接收关键字参数 def fun ...
- 小学生都能学会的python(函数)
小学生都能学会的python(函数) 神马是函数 函数: 对功能或者动作的封装 函数的定义 def 函数名(形参列表): 函数体(return) ret = 函数名(实参列表) 函数的返回值 retu ...
- 小学生都能学会的python(深浅拷贝)
小学生都能学会的python(深浅拷贝) join() 把列表中的每一项用字符串拼接起来 # lst = ["汪峰", "吴君如", "李嘉欣&quo ...
- 小学生都能学会的python(字典{ })
小学生都能学会的python(字典{ }) 1. 什么是字典 dict. 以{}表示. 每一项用逗号隔开, 内部元素用key:value的形式来保存数据 {"jj":"林 ...
- 小学生都能学会的python(列表[ ])
小学生都能学会的python(列表[ ]) 1. 什么是列表(list) 能装东西的东西 列表中装的数据是没有限制的, 大小基本上是够用的 列表使用[]来表示. 在列表中每个元素与元素之间用逗号隔开 ...
随机推荐
- 玩家福音:10款最佳Linux免费游戏
“我能在Linux平台上游戏吗?”这类疑问正困扰游戏玩家,那么答案就是“快去Linux平台吧!”.开源组织一直以来坚持不懈为Linux操作系统开发不同类型的游戏,在Linux平台下的游戏完全不亚于其他 ...
- Swagger在 NETcore 中的使用
请参考 https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/getting-started-with-swashbuckle?view=asp ...
- poj 2955 区间dp入门题
第一道自己做出来的区间dp题,兴奋ing,虽然说这题并不难. 从后向前考虑: 状态转移方程:dp[i][j]=dp[i+1][j](i<=j<len); dp[i][j]=Max(dp[i ...
- 关于sql连接查询(内联、左联、右联、全联)
内连接(INNER JOIN)(典型的连接运算,使用像 = 或 <> 之类的比较运算符).包括相等连接和自然连接. 内连接使用比较运算符根据每个表共有的列的值匹配两个表中的 ...
- @responsebody注解的作用就是让viewresolver不起作用,不返回视图名称而是直接返回的return object
@responsebody注解的作用就是让viewresolver不起作用,不返回视图名称而是直接返回的return object 2.也可以再方法上添加@ResponseBody注解, 用于这个类里 ...
- RDIFramework.NET V2.9版本号 WinFom部分新增与修正的功能
RDIFramework.NET V2.9版本号 WinFom部分新增与修正的功能 转眼间RDIFramework.NET框架走了快6个年头了,随着一个版本号一个版本号的升级改造,如今已经越来越完美 ...
- cocos2d-x 3.2 之 2048 —— 第五篇
***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...
- 2015.05.18,外语,学习笔记-《Word Power Made Easy》 03 “如何谈论不同从业者”
Prefix Person,nous,etc. Practice,etc. Adjective psyche 精神 psychic ['saikik] adj.精神的n.灵媒 -logos 科研 ps ...
- chrome设置书签默认显示
实用的设置! 这样已设置,就可以方便的查看一些常用的书签了!
- ASP.NET Core-组件:目录
ylbtech-ASP.NET Core-组件:目录 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 6.返回顶部 作者:ylbtech出处:http ...