python day3

Posted zm419914

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python day3相关的知识,希望对你有一定的参考价值。

一. 昨日内容回顾
1. 格式化输出
1. %s : 字符串,站位
2. %d : 数字, 站位
3. %% : 转义
2. 运算符
1. 算数运算. // +-*/,**, %
2. 比较运算. > , < , ==, !=, <>, >=,<=
3. 赋值运算. += a+=b => a = a + b
4. 逻辑运算.
1. and, 与, 并且的意思. 两个同时成立. 才成立
2. or, 或, 或者的意思. 有一个成立. 最终都成立
3. not 非. 非假既真, 非真既假.
先算比较运算. 得到True和False.再按照逻辑运算进行
() => not => and => or
5. in 和 not in
in : xxx字符串是否出现在xxxxx字符串中
not in : 没有出现xxx
3. 编码
1. ASCII. 8bit . 1byte
2. GBK. 中文. 16bit, 2byte
3. UNICODE. 32bit,4byte
4. UTF-8. 最小8bit 1byte. 欧洲. 16bit, 2byte. 中文 24bit, 3byte
二. 今天主要内容
1. 基本数据类型简介
1. int 整数.

2. str 字符串. ‘, ", ‘‘‘, """, 字符串一般不存储大量的数据.不好操作
3. bool 布尔值. True, False
4. list ["黑龙江", "云南"]表示. 列表
5. tuple () 元组.只读列表, 不能改
6. dict {} 查找比较快. key:value, 一次存两个数据. 一对一对的存
7. set {} 一次存一个. 不能重复. 只存key, 比较少见.
2. int
bit_length() 二进制长度

a = 1  # 1 不要和编码混一起
print(a.bit_length()) # 求的是有效长度
a = 3 # 1 10 11 + 1 = 100
print(a.bit_length())
a = 4
print(a.bit_length())


3. bool
True
False

# str => int
# print(int("1")+int("1"))
# int(str)
# str(int)

# 目标类型(不管什么内容)

# 数字转换成bool
# 如果数字是0 结果是false
# 如果数字是非0 结果是True
#
# a = 0
# print(bool(a))
# True 和1的效率问题: 1的效率高.
‘‘‘
while 1: # True
print("哈哈")
‘‘‘

# bool转int
# int(bool) True=>int => 1
# False => int => 0
# print(int(False)) # 1

# 字符串转换成bool bool(str)
# 空字符串是False. 非空字符串是True
# a = "abcd"
# print(bool(a)) # True
# a = ""
# print(bool(a)) # False
# b = "" # 空字符串
# a = None # 真空 False
# print(bool(b)) # False
# print(bool(a)) # False

# 特点: 空:False .非空:True

# 向系统中录入员工信息, 不停的录入 , 输入回车退出
# while True:
# name = input("输入用户信息:")
# if not name:
# break
# else:
# print("新员工信息:"+name)

4. str(多,切片)
切记, 字符串是不可变的对象, 所以任何操作对原字符串是不会有任何影响的
字符: 单个文字符号.
字符串: 把字符连成串
表现形式: ‘‘, "", ‘‘‘ ‘‘‘, """ """
1. 索引和切片
索引.下标从0开始
切片.
str[start:end:step]
start: 从xxx开始
end: 切到xxx为止. 不包括
step: 步长
注意: 顾头不顾尾

#     0 1 2 3 45 6 7 8
# s = "今天很萌.明天也萌"
# 字符串中的第几个字符
# 索引语法 字符串[索引] 索引从0开始
# print(s[3])
# print(s[5])
# print(s[0])
# print(s[-1]) # 倒数第一个
# print(s[-5]) # . 倒数第5个
# 正向 从 0 开始
# 反向 从-1 开始
# 切片
# 0 1 2 3 4 56 7 8 9 101112 13 14
# s = "我想吃切糕.切糕没有芝麻好吃!"
# print(s[2:5]) # 切片. 顾头不顾腚. 前面的能取到. 后面的取不到
# print(s[4:1]) # 给两个参数. 默认向右切
# print(s[5:8]) # .切糕
#print(s[:7]) # 从头开始切
# print(s[10:]) # 切到最后
# print(s[:]) # 全都切出来
# print(s[5:99]) # 如果右边的值. 超过了字符串长度. 切到最后
# print(s[-5:]) # 啥也不写. 到最后

# 可以跳着切 步长
s = "abcdef,ghijklmn"
# print(s[0:7:2]) # aceg 每2个切一个
# print(s[1:5:3]) # be
# print(s[-8:-2: 2]) # 倒数的也可以跳着切
# print(s[-1:-6:-1])# 反着取.

# 切片: 顾头不顾尾

# print(s[8:1:-1])# -1 : - 反着切. 1 步长
# print(s[8:1:-2]) #igec 反着取. 每两个取一个

#s = "alex and wusir gaoji"
# s1 = s.capitalize() # 首字母大写 ,
# print(s) # 原字符串没有变化
# print(s1)

# s2 = s.title() # 标题, 每个单词首字母大写 , 特殊字符, 中文在这里算特殊字符
# print(s2)


# name = "taiBai"
# s1 = name.upper() # 转换成大写字母
# print(s1)
# s2 = name.lower()
# print(s2)

# verify_code = "FaD3"
# verify_code_user = input("请输入验证码:")
# if verify_code.upper() == verify_code_user.upper():
# print("验证码成功")
# else:
# print("验证失败")

# s = "alexAndEggonAndRiTian"
# s1 = s.swapcase() # 大小写转换
# print(s1)

# s2 = "БB?" # 俄美德
# print(s2)
# print(s2.lower())
# print(s2.casefold())


# s = "alex"
# s1 = s.center(15, "*") # 拉长成10个字符. 由*进行填充
# print(s1)

# s = "al wusir"
# s1 = s.expandtabs()
# print(s)
# print(s1)

# s = " 麻花 藤. 张x忠, 刘华强 "
# s1 = s.strip() # 去掉左右两边的空格, 必须要记住
# print(s1)
#
# s2 = s.lstrip() # 去掉左边的空格
# s3 = s.rstrip() # 去掉右边的空格
# print(s2)
# print(s3)

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

# s = "麻花藤哈哈哈哈麻花藤"
# print(s.strip("麻花"))
# print(s)

# s = "alex,wusir,taibai,eggon"
# s1 = s.replace(",", "喜欢") # 替换
# print(s1) #

# s = "我想吃切糕.切糕没有芝麻好吃!"
# s1 = s.replace(".", "")
# print(s1)

# 切割
# s = "李嘉诚_王健林_马云_刘东强_alex"
# lst = s.split("_") # 字符串切割. 切割的结果是列表
# print(lst[0])
# print(lst[1])
# print(lst[2])
# print(lst[3])
# print(lst[4])

# s = "李嘉诚王健林麻花藤周杰伦"
# # lst = s.split("李嘉诚王健林麻花藤周杰伦") # 如果原字符串和刀一样.得到的是两个空字符串
# # lst = s.split("马云") # 如果不存在.得到的是原字符串
# # lst = s.split("") # empty separator 报错
# # print(lst)
# s.split()

# s = "a_b_c_d_e_f_g"
# lst = s.split("_", 2) # 第二个参数. 切的次数
# print(lst)
#
# s = "周杰伦_周润发_周星驰_周星星"
# lst = s.split("周杰伦")
# print(lst)
# lst = s.split("周星星")
# print(lst)
# # 在开头和结尾如果出现了你的刀. 一定会出现空字符串

# 格式化输出
# %s 字符串
# %d 数字站位
# print("%s很帅, 你信吗?" % "我")
# print("{}很帅, {}信吗?, 不信给你{}钱".format("旭哥", "我们", 100))
# print("{1}很帅, {0}信吗?, 不信给你{2}钱".format("旭哥", "我们", 100))
# print("{person1}很帅, {person2}信吗?, 不信给你{money}钱".format(person1="旭哥", person2="我们", money=100))

# count 数数
# s = "alex wusir taibai 女神"
# print(s.count("ai")) # 计算ai在原字符串中出现的次数 如果没出现返回0

# # find 查找
# s = "明天周末了.你们打算干什么去?"
# print(s.find("了")) # 如果你要查找的内容不存在. 返回-1, 如果存在返回索引

# index 求索引
# s = "下周我们要考试了. 你们慌不慌"
# print(s.index("你大爷")) # 如果找不到报错

# 条件判断
# s = "写个啥呢? 哈哈哈"
#
# # 判断字符串是否以xxx开头
# print(s.startswith("写个啥呢"))
# # 判断字符串是否以xxx结尾
# print(s.endswith("哈哈哈"))

# 是否是字母和数字组成
# s = "abcdefg"
# print(s.isalnum()) # 数字和字母
# print(s.isdigit()) # 数字
# print(s.isalpha()) # 字母

# s = "壹贰"
# print(s.isnumeric()) # 几乎所有数字
# print(s.isdigit()) # 阿拉伯数字

# 判断字符串是否是小数
# 依据:1. 有小数点. 一个小数点

# 求字符串的长度
# s = "abcde"
# ret = len(s) # 内置函数
# print(ret)
# print("你好")
# s = "吃喝拉撒睡不管有多长"
# for w in s:
# print(w)
# index = 0
# while index < len(s):
# print(s[index])
# index = index + 1
# 练习, 计算在字符串"I am sylar, I‘m 14 years old, I have 2 dogs!" 出现过多少个数字. 个位为单位

# s = "I am sylar, I‘m 14 years old, I have 2 dogs!"
# count = 0
# for w in s:
# if w.isdigit():
# count = count + 1
# print(count)

# 字符串不可变. 每次操作都会返回给你新的字符串


2. 常用方法:


for循环
for 变量 in 可迭代对象:
循环体





































































































































































































































































































以上是关于python day3的主要内容,如果未能解决你的问题,请参考以下文章

python初识-day3

python笔记day3

Python实战作业-day3

Python100天学习笔记day3 Python分支结构

python day3_liaoxuefeng

python day3 函数,内置函数