小学生都能学会的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 字符串)的更多相关文章

  1. 小学生都能学会的python(文件操作)

    小学生都能学会的python(文件操作) 1. open("文件路径", mode="模式", encoding="编码") 文件的路径: ...

  2. 小学生都能学会的python(小数据池)

    小学生都能学会的python(小数据池) 1. 小数据池. 目的:缓存我们字符串,整数,布尔值.在使用的时候不需要创建过多的对象 缓存:int, str, bool. int: 缓存范围 -5~256 ...

  3. 小学生都能学会的python(运算符 和 while循环)

    ---恢复内容开始--- 小学生都能学会的python(运算符和编码) 一.格式化输出 #占位:"%s"占位,占得是字符串,"%d"占位,占的是数字. # 让用 ...

  4. 小学生都能学会的python(闭包和迭代器)

    小学生都能学会的python(闭包和迭代器) 1. 函数名第一类对象 函数名其实就是变量名 1). 可以像变量一样互相赋值. 2). 可以作为函数的参数,进行传递 3). 可以作为返回值返回 4). ...

  5. 小学生都能学会的python(函数的进阶)

    小学生都能学会的python(函数的进阶) 1. 动态传参 形参: 1. 位置参数 2. 默认值参数 3. 动态传参 *args 动态接收位置参数 **kwargs 动态接收关键字参数 def fun ...

  6. 小学生都能学会的python(函数)

    小学生都能学会的python(函数) 神马是函数 函数: 对功能或者动作的封装 函数的定义 def 函数名(形参列表): 函数体(return) ret = 函数名(实参列表) 函数的返回值 retu ...

  7. 小学生都能学会的python(深浅拷贝)

    小学生都能学会的python(深浅拷贝) join() 把列表中的每一项用字符串拼接起来 # lst = ["汪峰", "吴君如", "李嘉欣&quo ...

  8. 小学生都能学会的python(字典{ })

    小学生都能学会的python(字典{ }) 1. 什么是字典 dict. 以{}表示. 每一项用逗号隔开, 内部元素用key:value的形式来保存数据 {"jj":"林 ...

  9. 小学生都能学会的python(列表[ ])

    小学生都能学会的python(列表[ ]) 1. 什么是列表(list) 能装东西的东西 列表中装的数据是没有限制的, 大小基本上是够用的 列表使用[]来表示. 在列表中每个元素与元素之间用逗号隔开 ...

随机推荐

  1. 不引用第三方变量交换a和b的值

    方法一:(可操作字符) a = a^b; b = a^b; a = a^b; 方法二:(可操作字符) a=a+b; b=a-b; a=a-b; 方法三:(不可以操作字符) a=a*b; b=a/b; ...

  2. c++之vector使用

    Vector是向量模板,C++ STL之一(本质上是一个动态数组).vector是一个动态生长的数组,一开始vector为空时,会给一个初始化的容量 (就是允许的添加个数并申请好内存),当往添加的元素 ...

  3. 《代码敲不队》第八次团队作业:Alpha冲刺 第四天

    项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 作业链接地址 团队名称 代码敲不队 作业学习目标 掌握软件编码实现的工程要求. 团队项目github仓库地址链接 GitH ...

  4. indy10中idtcpclient的使用问题[和大华电子称数据交换]

    在实际事务应用中,多次打开server进行大写.其中遇到一些问题,由于时间关系,没有好好整理,虽然问题解决了, 但原因和其他方法没有去进一步测试. 1.每个单元用本地TidTCPClient变量连接s ...

  5. 02018_StringBuffer练习

    1.已知int[] arr = {34,12,89,68}; 将其中的元素转成字符串,格式 [34,12,89,68]: 参考:02011_定义打印数组元素方法,按照给定的格式打印[11, 33, 4 ...

  6. Java基础学习总结(32)——Java项目命名规范

    一.命名规范 1. 项目名全部小写 2. 包名全部小写 3. 类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写. 如:public class MyFirstClass{} 4. 变量 ...

  7. 几种AutoLayout自动布局所经常使用的布局约束类型

    width表示约束ui控件的固定宽度 height表示约束ui控件的固定高度 Leading Space to Superview 与父视图的左边界线保持固定距离 Trailing Space to ...

  8. 算法入门经典-第七章 例题7-4-1 拓展 n皇后问题 回溯法

    实际上回溯法有暴力破解的意思在里面,解决一个问题,一路走到底,路无法通,返回寻找另   一条路. 回溯法可以解决很多的问题,如:N皇后问题和迷宫问题. 一.概念 回溯算法实际类似枚举的搜索尝试过程,主 ...

  9. 在centOS 6.5下手动安装nginx1.9.x版本

    第一步:首先安装Nginx的依赖环境    1.安装pcre-devel   yum -y install pcre-devel  #支持正则的pcre模块 比如安装 不然手动安装会报错    2.安 ...

  10. 在64位linux上编译32位程序 for i386 intel

    编辑中 # ld -V GNU ld version 2.15.92.0.2 20040927 Supported emulations: elf_x86_64 elf_i386 i386linux ...