小学生都能学会的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. nginx与tomcat搭建集群,负载均衡

    --------------------------------------------------- 搭建环境(在桌面上即可完成测试) 先准备2个tomcat服务器 解压tomcat压缩包 得到 把 ...

  2. CAD教程-AL对其命令

    AL可以实现不规则的对其功能 1.第一步按下AL,按下Enter 2.选择第一个源点 3.选择第一个目标点 4.选择第二个源点 5.选择第二个目标点 6.按下Enter,完成移位

  3. Codeforces Round #260 (Div. 1) 455 A. Boredom (DP)

    题目链接:http://codeforces.com/problemset/problem/455/A A. Boredom time limit per test 1 second memory l ...

  4. Java学习之道:Java 导出EXCEL

    1.Apache POI简单介绍  Apache POI是Apache软件基金会的开放源代码函式库.POI提供API给Java程式对Microsoft Office格式档案读和写的功能. .NET的开 ...

  5. iis browse的时候,直接通过本地的局域网ip打开页面

    http://www.codepal.co.uk/show/make_IIS_work_with_local_IP_addresses_instead_of_localhost 只需要设置一下webs ...

  6. 剑指offer——06旋转数组的最小数字(Python3)

    题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素.例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数 ...

  7. c++面向对象程序设计 课后题 答案 谭浩强 第四章

    c++面向对象程序设计课后题答案 谭浩强 第四章 1: #include <iostream> using namespace std; class Complex {public: Co ...

  8. 21.QT二进制文件

    #include "mainwindow.h" #include <QApplication> #include <QFile> #include < ...

  9. crawler4j多线程爬虫统计分析数据

    该事例演示了如何在多线程中统计和分析数据: 首先建一个状态实体类CrawlStat: package com.demo.collectingData; /** * 爬虫状态实体类 统计爬虫信息 * @ ...

  10. 异步编程(二)基于事件的异步编程模式 (EAP)

    一.引言 在上一个专题中为大家介绍了.NET 1.0中提出来的异步编程模式——APM,虽然APM为我们实现异步编程提供了一定的支持,同时它也存在着一些明显的问题——不支持对异步操作的取消和没有提供对进 ...