03.py

一. 上次课内容回顾
    1. while循环
        while 条件:
            循环体(代码块)
        执行流程: 当条件成立. 执行循环体. 然后再次判断条件是否成立. 直到条件为假. 循环终止
        break: 停止当前循环
        continue: 停止当前本次循环. 继续执行下一次循环

    2. 格式化输出
        %s 字符串占位
        %d 数字的占位

    3. 运算符
        逻辑运算
        and: 并且, 两边都是真结果才能是真
        or: 或者, 两边有一个是真. 结果就是真
        not: 非真即假, 非假既真

        顺序: () ==> not ==> and ==> or

        数字的运算
        x or y   如果x为非0 值是x, 否则是y
    4. while..else
    while 条件:
        代码块
    else:
        当条件为假的时候执行

二. 作业讲解
三. 今日主要内容
    1. 编码
        1. 最早的计算机编码是ASCII. 美国人创建的. 包含了英文字母(大写字母, 小写字母). 数字, 标点等特殊字符!@#$%
            128个码位 2**7 在此基础上加了一位 2**8
            8位. 1个字节(byte)
        2. GBK 国标码 16位. 2个字节(双字节字符)
        3. unicode 万国码   32位, 4个字节
        4. utf-8:  英文  8 bit 1个字节
                欧洲文字 16bit 2个字节
                中文 24bit  3个字节

        8bit => 1 byte
        1024 byte = > 1kb
        1024 kb => 1mb
        1024mb => 1gb
        1024gb = > 1tb


    2. 基本数据类型的概述
        int 整数
        str 字符串, 存储少量的数据
        bool 布尔
        list 列表, ["大阳哥", "东阳哥", ]
        tuple  元组. 只读列表, 不能改
        dict  字典; 一对一对的存储数据. key:value {"赵阳":"大阳哥", 'jay':"周杰伦"}
        set 集合. 存储不重复的内容

    3. int, bool, str
        int 方法操作:
            bit_length() 求二进制长度
        bool: 类型转换
            1. 你想转换成什么. 就用什么把目标包裹起来
            2. 带空的是False, 不带空的True
        str
            1. str索引和切片:
                索引:起始下标是0(从左到右), (-1)从右到左
                切片: s[起始位置: 结束位置: 步长]
                    特点:顾头不顾尾

            2. 字符串的常用操作: 常用方法
                字符串不可变.
                1. upper() 转换成大写
                2. strip() 去掉空格
                3. replace() 替换
                4. split() 切割
                5. format() 格式化输出
                6. startswith() 判断是否以xxx开头
                7. find() 查找. 找不到返回-1
                8. len() 内置函数. 直接使用. 不用点操作 求字符串的长度
            3. 迭代
                for 变量 in 可迭代对象:
                    循环体
                else:
bool 的转换
# 字符串转换成数字
# s = "128"
# i = int(s)
# print(type(i))
#
# ss = str(i)
# print(type(ss))
# # 综上可以得出. 你想转换成什么就用什么把目标括起来
#
# # bool类型转换成数字 True: 1 False:0
# b = False
# c = int(b)
# print(c)

# int转换成bool 零: False 非零: True
# a = 0
# b = bool(a)
# print(b)


# while 1: # 1的效率比true 稍微高一点点
# print("alex是个大xx")

# s = "" # "" 空字符串表示False, 非空字符串表示:True
# if s:
# print("哈哈")
# else:
# print("呵呵")

# 空的东西都是False, 非空的东西都是True

# m = None # 空 连空气都不如. 真空, False
# if m :
# print("a")
# else:
# print("b")

int类型
a = 3 # 1+1= 10 +1 = 11
print(a.bit_length())   # 二进制长度





字符串讲解



# s = "我爱周杰伦他媳妇"

# print(s[0])
# print(s[1])
# print(s[2])
# print(s[3])
# print(s[4])

# print(s[-1])
# print(s[-2])
# print(s[-3])
# print(s[-4])

# 通过索引获取到的内容. 还是一个字符串
# 切片可以对字符串进行截取
# 语法 s[起始位置: 结束位置]
# 特点:顾头不顾腚

# s = "alex和wusir经常在一起搞基"
# s1 = s[5:10]
# print(s1)
# s2 = s[0:4] + s[5:10]
# print(s2)
# s3 = s[5:] # 默认到结尾
# print(s3)
#
# s4 = s[:10] # 从头开始
# print(s4)
# s5 = s[:] # 从头到尾都切出来
# print(s5)

# s6 = s[-2:] # 从-2 切到结尾 默认从左往右切
# print(s6)

# 步长
# 语法:s[起始位置: 结束位置: 步长]
# s = "我是梅西,我很慌"
# s1 = s[1:5:2] # 从1开始, 到5结束, 每2个取1个
# print(s1)

# s2 = s[::3]
# print(s2)
# s3 = s[6:2:-1] # - 表示反着来. 每两个取1个
# print(s3)


# s = "这个标点符号很蛋疼"
# # s1 = s[7::-2]
# # print(s1)
#
# s2 = s[-1:-6:-2]
# print(s2)


字符串操作



# s = "alex and wusir and taibai"
# s1 = s.capitalize() # 首字母大写
# print(s) # 原字符串不变
# print(s1)

# s = "Alex is not a Good Man. "

# print(s.upper())
# print(s.lower())

# 在程序需要判断不区分大小写的时候. 肯定能用上
#
# while True:
# content = input("请喷:")
# if content.upper() == 'Q':
# break
# print("你喷了:", content)

# s = "taiBai HenBai feicahngBai"
# print(s.swapcase()) # 大小写转换

# s = "al麻花藤ex and wu sir sir se"
# print(s.title())

# s = "麻花藤"
# print(s.center(9, "*"))

# username = input("用户名:").strip() # 去掉空格.
# password = input("密码:").strip() # 去掉空格
# if username == 'alex' and password == '123':
# print("登录成功")
# else:
# print("登录失败")

# s = "*******呵a呵呵呵****************"
# print(s.strip("*")) # strip去掉的是左右两端的内容. 中间的不管


# s = "alex wusir alex sb taibai"
# s1 = s.replace("alex", "晓雪") # 原字符串不变
# print(s1)
# # 去掉上述字符串中的所有空格
# s2 = s.replace(" ", "")
# print(s2)


# s3 = s.replace("alex", "sb", 2)
# print(s3)
#
# s = "alex_wuse_taibai_bubai"
# lst = s.split("_taibai_") # 刀是_ 切完的东西是列表. 列表装的是字符串
# print(lst)


# s = "我叫{}, 我今年{}岁了, 我喜欢{}".format("sylar", 18, "周杰伦的老婆")
# print(s)

# 可以指定位置
# s = "我叫{1}, 我今年{0}岁了, 我喜欢{2}".format("sylar", 18, "周杰伦的老婆")
# print(s)

# s = "我叫{name}, 我今年{age}岁了, 我喜欢{mingxing}".format(name="sylar", mingxing="汪峰的老婆", age=18)
# print(s)

# 你喜欢用哪个就用哪个


# s = "汪峰的老婆不爱汪峰"

# print(s.startswith("汪峰")) # 判断字符串是否以xxx开头
# print(s.endswith("爱妃")) # 判断字符串是否以xxx结尾
# print(s.count("国际章")) # 计算xxx在字符串中出现的次数

# print(s.find("汪峰", 3)) # 计算xxx字符串在原字符串中出现的位置, 如果没出现返回 -1
# print(s.index("国际章")) # index中的内容如果不存在. 直接报错

# s = "abc123"
# print(s.isdigit()) # 判断字符串是否由数字组成
# print(s.isalpha()) # 是否由字母组成
# print(s.isalnum()) # 是否由字母和数字组成

# s = "二千136万萬"
# print(s.isnumeric()) # 数字

# s = "你今天喝酒了么"
# i = len(s) # print() input() len() python的内置函数
# print(i)
#
# i = s.__len__() # 也可以求长度 len()函数执行的时候实际执行的就是它
# print(i)

# 把字符串从头到尾进行遍历
# s = "晓雪老师.你好漂亮"
# print(len(s)) # 长度是:8 索引到7
# 1. 使用while循环来进行遍历
# count = 0
# while count < len(s):
# print(s[count])
# count = count + 1

# 2. 用for循环来遍历字符串
# 优势:简单
# 劣势:没有索引
# for c in s: # 把s中的每一个字符交给前面的c 循环
# print(c)

# 语法:
# for bianliang in 可迭代对象:
# 循环体

 
 
 



猜你喜欢

转载自www.cnblogs.com/zhao110/p/9301987.html