首页 > 其他分享 >第二周总结

第二周总结

时间:2022-10-07 19:14:59浏览次数:51  
标签:总结 11 循环体 22 代码 第二周 print 数据

周总结概要

  • 基本数据类型
  • python中的运算符
  • 垃圾回收机制
  • 流程控制
  • 数据类型的内置方法
  • 可变与不可变
  • 字符编码及解码

周总结详细

基本数据类型

浮点型float

height = 1.8
查看数据类型用 type()  括号内即可以使数据值也可以是绑定了数据值的变量名
type(height)  # <class 'float'>

整型int

age = 18
type(age)   # <class 'int'>

字符串str

hobby = '学习'
type(hobby)  # <class 'str'>
定义字符串有四种方式
hobby = '学习'
hobby = "学习"
hobby = '''学习'''
hobby = """学习"""

'''区分三引号是字符串还是注释只需要看左侧是否有赋值符号及变量名'''

列表list

name_list = ['mike', 11, 1.1, [1, 2]]
print(type(name_list))   # <class 'list'>

字典dict

info_dict = {
        'username': 'mike', 
        'age': 18, 
        'hobby': 'read', 
	}

print(type(info_dict))  # <class 'dict'>

布尔值bool

True   对的 真的 可行的
False  错的 假的 不可行的
所有数据值都自带布尔值
布尔值为False的数据有:0 None '' [] {}
布尔值为True的数据有:除了上面的都是True

元祖tuple

t1 = (11, 22, '张三')
type(t1)   # <class 'tuple'>

集合set

s1 = {1, 2, 3, 4, 5, 6}
type(s1)  # <class 'set'>
注意区分字典和集合
   大括号括起来 内部存放多个数据值 数据值与数据值之间逗号隔开 数据值不是key:value键值对
    {}       默认是字典
	set()     定义空集合

与用户交互

# 获取用户输入
username = input('请输入您的用户名>>>:')
"""
 1.先执行input获取用户输入
 2.将输入的数据绑定给变量名username
 3.以后在程序中就可以使用变量名反复调用用户数据
"""

注意:input获取到的数据都会统一转换成字符串类型

# 输出内部信息
print()
  1.括号内既可以放数据值也可以放变量名 并且支持多个 逗号隔开即可
  2.print自带换行符
	  换行符:\r\n \n(斜杠与字母组合到一起可能会产生特殊的含义)
  3.print也可以切换结束符
     print(数据,end='默认是\n')

格式化输出

使用占位符%s  # 常见数据类型都支持
       %d  # 只支持数字类型

'''单个占位符'''
 print('%s同志你好' % '张三') 
 print('%s同志你好' % ('张三',))

# 输出结果
张三同志你好

'''多个占位符'''   # 有几个占位符就需要几个数据值
 desc = '姓名:%s 年龄:%s 爱好:%s'
 print(desc % ('张三', 18, '学习'))
 print('姓名:%s 年龄:%s 爱好:%s' % ('菜虚坤', 28, '唱跳rap'))
    
# 输出结果
姓名:张三 年龄:18 爱好:学习
姓名:菜虚坤 年龄:28 爱好:唱跳rap

python中的运算符

数学运算符

image

比较运算符

image

赋值符

'''链式赋值'''
name = name1 = name2 = 'jason'
'''交叉赋值语法'''
  m = 100
  n = 999
  m, n = n, m
  print(m, n)  
  #输出结果
  999 100
'''解压赋值语法'''
  name_list = ['张三', '李四', '王五', '赵六']
  name1, name2, name3, name4 = name_list

逻辑运算符

'''and 与'''
and链接的多个条件必须全部成立 结果才成立
    1 > 2 and 4 < 8 and 10 < 1 and 1 == 2  如果条件中全部由and组成那么判断起来非常的简单 只要发现一个不成立 结果就不成立
    
'''or 或'''
or连接的多个条件只要有一个成立 结果就成立
    1 > 2 or 4 < 8 or 10 < 1 or 1 == 2   如果条件中全部由or组成那么判断起来非常的简单 只要发现一个成立 结果就成立 
   
'''not 非'''
not取反 类似于说反话
    print(not 1<10)  # False

成员运算符

in 判断个体在不在群体内

name_list = ['张三', '李四', '王五']
print('赵六' in name_list)   # False
print('张三' in name_list)   # True

身份运算符

is    判断内存地址是否相同
==    判断数据值是否相同

'''id()  返回一段数字 该数字可以看成是内存地址'''

l1 = [11, 22, 33, 44, 55, 66, 77, 88]
l2 = [11, 22, 33, 44, 55, 66, 77, 88]
print(l1 == l2)   # True
print(l1 is l2)   # False


"""
值相同 内存地址可能不同
内存地址相同 值肯定相同
"""

垃圾回收机制

​ 有一些语言 内存空间的申请和释放都需要程序员自己写代码才可以完成
但是python却不需要 通过垃圾回收机制自动管理

​ Python采用的是引用计数机制为主,标记清除和分代收集两种机制为辅的策略。

流程控制

顺序结构

​ 从上往下依次执行 没学习之前所编写的都属于该结构

image

if分支结构

1.单if分支结构
    # 格式
    if 条件:
        条件成立之后才会执行的代码块

    # 实例
    name = input('请输入您的姓名:')
    if name == '张三':
        print('你好')
    
2.if...else...分支结构
    # 格式
    if 条件:
        条件成立之后执行的子代码
    else:
        条件不成立执行的子代码

    # 实例
    name = input('请输入您的姓名:')
    if name == '张三':
        print('张三你好')
    else:
        print('你不是张三')
      
3.if...elif...else分支结构
    # 格式
    if 条件1:
        条件1成立之后执行的子代码
    elif 条件2:
        条件1不成立 条件2成立执行的子代码
    elif 条件3:
        条件1和2都不成立 条件3成立执行的子代码
    else:
        上述条件都不成立 执行的子代码

    # 实例
    score = input('请输入您的成绩:')
    score = int(score)    # input默认是字符串,通过int转换成整型
    if score >= 90:
        print('优秀')
    elif score >= 80:
        print('良好')
    elif score >= 70:
        print('一般')
    elif score >= 60:
        print('及格')
    else:
        print('挂科')
     
4.if的嵌套使用
    # 格式
    if 条件1:
        条件1成立执行的代码
        if条件2:
        条件2成立执行的代码
       else:
        条件2不成立执行的代码
    else:
        条件1不成立执行的代码

    # 实例
    age = 18
    money = 10
    if age >=18:
        print('成年了,可以去网吧')
        if money >= 10:
            print('有钱去网吧')
        else:
            print('钱不够,去不了网吧')
    else:
        print('未成年不能去网吧')

while循环结构

# 格式
while 条件:
    条件成立之后执行的子代码(循环体代码)

# 执行流程
1.先判断条件是否成立
2.如果成立则执行循环体代码
3.循环体代码执行完毕后再次回到条件判断处 判断条件是否成立
4.如果成立 则继续执行循环体代码
5.按照上述规律依次执行 直到条件不成立才会结束循环体代码的执行

# 强制结束循环体
break   循环体代码一旦执行到break会直接结束循环

while 条件:
    条件成立之后执行的子代码(循环体代码)
    break  # 直接结束循环 )
    
# 结束本次循环
continue  循环体代码一旦执行到continue会结束本次循环 开始下一次循环

while 条件:
    条件成立之后执行的子代码(循环体代码)
    continue  
    条件成立之后执行的子代码(循环体代码)
    
    
# 不常用的循环方法
while 条件:
    循环体代码
else:
    循环体代码没有被强制结束的情况下 执行完毕就会执行else子代码

for循环结构

for 变量名 in 待遍历的数据:  # 遍历就是将每个数据单独取出
    循环体代码
    
# 还有一种结构
for 变量名 in 待遍历数据:
    循环体代码
else:
    循环体代码没有被break强制结束的情况下运行结束后再运行的代码
    
# for循环中的break与continue
for循环体代码中如果执行到break也会直接结束整个for循环
for循环体代码中如果执行到continue也会结束当前循环直接开始下一次循环

数据类型内置方法

整型内置方法

1.类型转换  '''注意浮点型可以直接转,字符串转换成整型需要内部是纯数字'''
    int(其他数据类型)

    # 举例
    print(int('11'))
    print(int(11.11))

    # 输出结果
    11
    11
2.进制数转换
    十进制转换其他进制
        print(bin(100))   # 转换成二进制  0b1100100
        print(oct(100))   # 转换成八进制  0o144
        print(hex(100))   # 转换成十六进制  0x64

    '''数字的开头如果是0b则为二进制 0o则为八进制 0x则为十六进制'''

浮点型内置方法

类型转换
float(其他数据类型)

字符串内置方法

s1 = 'hello world'
1.类型转换
	str(其他数据类型)
2.索引取值
	索引取值起始位置从0开始,超出报错,并且支持负数
	print(s1[o])   # h
3.切片
	print(s1[0:3]) 		 # hel  从索引0的位置开始切到索引2的位置 顾头不顾尾
	print(s1[1:4:2])    # el 第三个参数不写默认为1改为负数倒着取
4.统计字符串中字符个数
	len(字符串)
5.移除首尾指定的字符
 	.strip()
6.切割字符串中指定的字符
	.split()
7.字符串格式化输出
	.format
	f'{数据}'
8.转换大小写与判断
	.upper()  # 转大写
	.lower()  # 转小写
	.isupper()  # 判断是否为大写
	.islower() # 判断是否为小写
9.判断字符串是否是纯数字
	.isdigit()
10.替换字符串中的指定内容
	.replace()
11.字符串的拼接
	.join()
12.统计指定字符出现的次数
	.count()
13.判断字符串开头与结尾
	.startwith()  # 判断开头
	.endswith()   # 判断结尾

列表内置方法

l1 = [111, 222, 333, 444, 555, 666, 777, 888]
1.类型转换
	list(其他数据类型)
2.索引取值
	print(l1[0])    # 111
3.切片
	与字符串的切片一致
    print(l1[0:5])   # 顾头不顾尾 [111, 222, 333, 444, 555]
    print(l1[:])    # 取所有  [111, 222, 333, 444, 555, 666, 777, 888]
    print(l1[::-1])  # 倒着取  [888, 777, 666, 555, 444, 333, 222, 111]
4.统计列表中数据值的个数
	len()
5.数据值修改
	l1 = [111, 222, 333, 444, 555, 666, 777, 888]
l1[0] = 123
print(l1)    # [123, 222, 333, 444, 555, 666, 777, 888]
6.列表添加数据值
	.append()  # 尾部追加数据
	.insert()  # 任意位置添加数据
	.extend()  # 合并列表数据
7.删除列表数据
	del  # 关键字删除指定数据
	.remove()
	.pop()
'''使用pop会返回删除数据的值 remove不会返回值'''
8.排序
	.sort()   # 默认升序
9.统计列表中某个数据值出现的次数
	.count()
10.颠倒列表顺序
	.reverse()

字典内置方法

user_dict = {
    'username': 'jason',
    'password': 123,
    'hobby': ['read', 'music', 'run']
    }
1.类型转换
	dict(其他数据类型)
2.字典取值
	print(user_dict['username'])   # jason  按k取值,不存在报错
	.get()  # 当k不存在不会报错
3.修改数据及新增键值对
	user_dict['username'] = 'tony'    # 键存在则修改对应的值 不存在则新增
4.删除数据
	del
	.pop()  # 会返回删除的数据值
5.统计字典中键值对的个数
	len()
6.字典三剑客
	print(user_dict.keys())  # 一次性获取字典所有的键 dict_keys(['username', 'password', 'hobby'])

	print(user_dict.values())  # 一次性获取字典所有的值 dict_values(['jason', 123, ['read', 'music', 'run']])

	print(user_dict.items())  # 一次性获取字典的键值对数据  dict_items([('username', 'jason'), ('password', 123), ('hobby', ['read', 'music', 'run'])])

元祖内置方法

t1 = (11, 22, 33, 44, 55, 66)
1.类型转换
	tuple()
2.索引取值
	print(t1[0])   # 11
3.切片
	# 和其他类型数据切片的使用方法一样 也可以设置间隔以及取值方向
	print(t1[1:3])   # (22, 33)
	print(t1[::-1])  # 也可以倒着取值(66, 55, 44, 33, 22, 11)
4.统计元组内数据值的个数
	len()
5.统计元组内某个数据值出现的次数
	.count()
6.获取元祖内指定数据值的索引
	.index()  # 当有多个一样的值是只会返回第一次出现的索引值

集合内置方法

1.类型转换
	set()
2.去重
	s1 = {11, 22, 11, 22, 22, 11, 222, 11, 22, 33, 22}
	l1 = [11, 22, 33, 22, 11, 22, 33, 22, 11, 22, 33, 22]
	s1 = set(l1)
	l1 = list(s1)
	print(l1)  # [33, 11, 22]
3.关系运算
	用于做群体之间做差异化校验
	f1 = {'jason', 'tony', 'jerry', 'oscar'}  # 用户1的好友列表
	f2 = {'jack', 'jason', 'tom', 'tony'}   # 用户2的好友列表
	# 两人的共同好友
	print(f1 & f2)  # {'jason', 'tony'}
	# 用户1独有的好友
	print(f1 - f2)  # {'jerry', 'oscar'}
	# 两人所有的好友
	print(f1 | f2)  # {'jason', 'jack', 'tom', 'tony', 'oscar', 'jerry'}
	# 两个人各组独有的好友
	print(f1 ^ f2)  # {'oscar', 'tom', 'jack', 'jerry'}
	# 父集 子集
	print(f1 > f2)  # 判断f1是不是f2的父集  False
	print(f1 < f2)  # 判断f2是不是f1的父集  False

字符编码

编码
	字符串.encode()
解码
	bytes类型数据.decode()

标签:总结,11,循环体,22,代码,第二周,print,数据
From: https://www.cnblogs.com/lzjjjj/p/16760431.html

相关文章

  • Golang依赖包的各项指标分析总结
    专注于PHP、MySQL、Linux和前端开发,感兴趣的感谢点个关注哟!!!文章已收录,主要包含的技术有PHP、Redis、MySQL、JavaScript、HTML&CSS、Linux、Java、Golang、Linux和工具资源......
  • 关于const在类中的一些总结
    const对象只能调用类的const方法,一般对象可以调用所有对外方法。 类的const方法实现内部:不能改变类的数据成员值,但是若有形参是此类的对象,且不是const型对象,那么通过这......
  • 一周总结
    NeedlemanandWunschLandau-Vishkin博客链接SmithandWaterman打分阶段分数不为负非常重要,这使得SmithandWaterman算法支持对序列进行局部比对。当任何一个位置......
  • 第二周总结
    周总结数据的基本类型整型intname=1浮点型floatname=1.1字符串strname='1.1'注释和字符串怎么区分:有赋值符号左边有变量名的就是字符串列表listname......
  • 前端面试总结14-开发环境与运行环境
    1.git:最常用的代码版本管理工具常用git命令:gitadd.gitcheckoutxxxgitcommit-m"xxx"gitpushoriginmastergitpulloriginmastergitbranchgitcheckout......
  • 2022年BATJ一线名企面经总结,阿里+腾讯+百度,18个技术栈全面解析!
    2022年BATJ一线名企面经总结,阿里+腾讯+百度,18个技术栈全面解析!前言时间过得好快,2022年都过去几个月了,马上就到了金三银四的跳槽旺季,很多公司其实现在就开始招聘了,其......
  • 近20年最权威的目标检测总结(第四期)文中有下载包链接
    扫码关注我们公众号 :计算机视觉研究院扫码回复:目标检测,获取源码及论文链接TechnicalEvolutionof BoundingBoxRegression边界框(BB)回归是一种重要的目标检测技术。......
  • linux常用命令总结
    1.查询当前目录总大小du-sh2.批量解压缩ls*.tar.gz|xargs-n1tarxzvf3.解压缩tar-zxv-ffilename.tar.gz4.查看内存free-h5.远程拷贝文件scp......
  • 机器学习模型的集成方法总结:Bagging, Boosting, Stacking, Voting, Blending
    机器学习是人工智能的一个分支领域,致力于构建自动学习和自适应的系统,它利用统计模型来可视化、分析和预测数据。一个通用的机器学习模型包括一个数据集(用于训练模型)和一......
  • 46th 2022/10/7 模拟赛总结33
    这次算是一个高光时刻吧rank2,不错的排名需要肯定但是,还是有所惰性,虽然今天可以理解,因为左眼有点肿?本次其实个人认为,rank2超级好拿,T1老老实实打了二分优化拿80,然后趁着......