s21day04 python笔记
s21day04 python笔记
一、上周知识回顾及补充
回顾
补充
编译型语言和解释性语言
- 编译型:代码写完后,编译器将其变成成另外一个文件,然后交给计算机执行
- 常见的编译型语言:C,C++,Java,C#,Go等
- 解释型:写完代码交给解释器,解释器会从上到下一行行代码执行:边解释边执行
- 常见的解释型语言:Python,PHP,ruby等
字符串功能补充
字符串是不可变类型
字符串独有功能
startswith/endswith
- startswith:判断是否已什么开头
- endswith:判断是否已什么结尾
format:字符串格式化
- 和占位符(%s.%d)的作用一样
- 使用方式
name = '我叫{0},年龄:{1}'.format('老男孩',73) print(name)encode:将unicode转换成其他编码存储
- .encode(utf-8):将unicode转换成utf-8存储
- .encode(gbk):将unicode转换成gbk存储
join:循环每个元素,并在元素与元素之间加入连接符
- ''_".join():循环每个元素,并在元素与元素之间加入下划线
公共功能
步长
使用格式:v1 = v[0:3:2]
- 前面的两个数0:3按切片理解
- 后面的一个数2代表隔一个数取一个数
后面的那个数正数代表从左到右取,负数代表从右到左取,不写就是默认为1
笔试题:请将字符串反转
name = 'alex' val = name[::-1] print(val) #xelafor循环
- 使用方式
name = 'alex' for item in name: print(item)注意
- 用循环打印字符串的每个元素:for > while
- 死循环:while > for
- for和while的应用场景:有穷尽优先用for,无穷尽用while
for循环 + range
示例:打印1 - 10
# range(0,10):[1,2,3,4,5,6,7,8,9] for i in range(0,11): print(i)
git(面试相关)
- 写出你常用的git命令
- 你们公司是怎么用git做开发的
二、列表(可变类型)
想要表示多个事物,可以用列表
使用格式
users = ['张三','李四',99]列表是可变类型
列表独有功能
- append:在列表的最后追加一个元素
- 使用格式:users.append('王五')
- 代表在列表的最后追加一个元素('王五')
- insert:插入
- 使用格式:users.insert(0,'王五')
- 数字代表在第几位插入,后面的代表插入一个元素('王五')
- remove:删除
- 使用格式:users.remove('李四')
- 代表删除列表中的一个元素('李四')
- pop:删除
- 使用格式:users.pop(1)
- 数字代表删除列表第几位的元素
- clear:删除
- 使用格式:users.clear()
- 代表删除列表中的所有元素
- append:在列表的最后追加一个元素
公共功能
长度:len
- 使用格式:len(users) #3
索引
- 使用格式:users[0] #张三
切片
- 使用格式:users[0:2] #张三,李四
步长
- 使用格式:users[0:2:2] #张三
for循环
- 使用格式
#第一种 for i in users: print(i) #张三,李四,99 #第二种 for i in users: for ele in i: print(ele) #张,三,李,四,9,9- 删除:del (数字/布尔/字符串除外)
- 使用格式:del users[1]
- 数字代表删除列表第几位的元素
- 修改 (数字/布尔/字符串除外)
- 使用格式:users[2] = 66
- 数字代表修改列表第几位的元素,等号后面的代表修改成什么
注意
- 字符串/数字/布尔是不可变类型,本身不能修改和删除
- 列表是可变类型,可以直接修改
总结
功能(增删改查)
- 增:append/insert
- 删:remove/pop/clear/del
- 改:修改 users[0] = '王五'
- 查:索引/切片
列表嵌套
示例
users = ['alex',0,True,[11,22,33,'老男孩']] users[3] #[11,22,33,'老男孩'] users[3][-1] #'老男孩' users[3][-1][2] #'男'
三、元组(不可变类型)
使用格式
users = ('张三','李四',99,)元组是不可变类型
元组只有公共功能,没有独有功能
公共功能
长度:len
- 使用格式:len(users) #3
索引
- 使用格式:users[0] #张三
切片
- 使用格式:users[0:2] #张三,李四
步长
- 使用格式:users[0:2:2] #张三
for循环
- 使用格式
for i in users: print(i) #张三,李四,99
独有功能(无)
特殊
元组是不可变类型,里面的元素不可被修改和删除
v = (11,22,33,) v[1] = 99 #错误 v = 99 #正确元组可以嵌套
v1 = (11,22,33,(44,55,66,),)列表和元组嵌套
#例1 v2 = [11,22,33,(11,22,33,)] v2[-1][1] = 99 #错误 v2[-1] = 99 #正确 #例2 v3 = (11,[1,2,3],22,33,) v3[1] = 99 #错误 v3[1][2] = 99 #正确总结:列表中元素可以被修改和删除,元组中元素不可被修改和删除
s21day04 python笔记的更多相关文章
- Python笔记之不可不练
如果您已经有了一定的Python编程基础,那么本文就是为您的编程能力锦上添花,如果您刚刚开始对Python有一点点兴趣,不怕,Python的重点基础知识已经总结在博文<Python笔记之不可不知 ...
- boost.python笔记
boost.python笔记 标签: boost.python,python, C++ 简介 Boost.python是什么? 它是boost库的一部分,随boost一起安装,用来实现C++和Pyth ...
- 20.Python笔记之SqlAlchemy使用
Date:2016-03-27 Title:20.Python笔记之SqlAlchemy使用 Tags:python Category:Python 作者:刘耀 博客:www.liuyao.me 一. ...
- Python笔记——类定义
Python笔记——类定义 一.类定义: class <类名>: <语句> 类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性 如果直接使用类名修改其属 ...
- 13.python笔记之pyyaml模块
Date:2016-03-25 Title:13.Python笔记之Pyymal模块使用 Tags:Python Category:Python 博客地址:www.liuyao.me 作者:刘耀 YA ...
- 8.python笔记之面向对象基础
title: 8.Python笔记之面向对象基础 date: 2016-02-21 15:10:35 tags: Python categories: Python --- 面向对象思维导图 (来自1 ...
- python笔记 - day8
python笔记 - day8 参考: http://www.cnblogs.com/wupeiqi/p/4766801.html http://www.cnblogs.com/wupeiqi/art ...
- python笔记 - day7-1 之面向对象编程
python笔记 - day7-1 之面向对象编程 什么时候用面向对象: 多个函数的参数相同: 当某一些函数具有相同参数时,可以使用面向对象的方式,将参数值一次性的封装到对象,以后去对象中取值即可: ...
- python笔记 - day7
python笔记 - day7 参考: http://www.cnblogs.com/wupeiqi/articles/5501365.html 面向对象,初级篇: http://www.cnblog ...
随机推荐
- kali-rolling安装nessus 7并创建扫描任务教程
一.下载 下载页面:https://www.tenable.com/downloads/nessus 如果自己安装的kali是32位的则选择上边的32位版本下载 二.安装 直接用dpkg安装即可: d ...
- 命令创建Vue
创建vue+webpack vue init webpack projectName 基础 Vue+webpack+Vux 新建文件命令 # install vue-cli npm install - ...
- 学习笔记-AngularJs (一)
最近对AngularJs产生了浓厚的学习兴趣,于是便搜罗所有资料,开始学习起来,也希望把学习过程记录下来. 首先学习之前,需要对AngularJs进行个大概的了解: AngularJS[1] 诞生于 ...
- decltype的参数是左值时,得到一个引用类型
int* a = new int(10); decltype(*a) 得到的是引用类型:int&
- 【基础】iframe之间的切换(四)
案例: 打开http://mail.126.com/,定位登录输入框时,却总是定位不到元素,后来发现,登录的内容在一个iframe中. 一.由主页面切换至iframe dr.switchTo().fr ...
- 逆袭之旅DAY24.XIA.二重进阶、双色球
一. 选择题. 1. 以下关于二重循环的说法正确的是(D). A. 二重循环就是一般程序中只能有两个循环 B. While循环不能嵌套在for循环里 C. 两个重叠的循环不能嵌套在第三个循环里. D. ...
- 尚学堂java 参考答案 第七章
本答案为本人个人编辑,仅供参考,如果读者发现,请私信本人或在下方评论,提醒本人修改 一.选择题 1.ACD 解析:B:java中左边不能直接直接指定长度,和C语言不一样 2.B 3.C 解析:B各行分 ...
- MyBatis 为什么需要通用 Mapper ?
一.通用 Mapper 的用途 ? 我个人最早用 MyBatis 时,先是完全手写,然后用上了 MyBatis 代码生成器(简称为 MBG),在使用 MBG 过程中,发现一个很麻烦的问题,如果数据库字 ...
- day12-python的类
类的一般形式: 创建类我们一般用class关键字来创建一个类,class后面跟类名字,可以自定义,最后以冒号结尾,如下所示: class ClassName: '''类的说明''' 类的内容 类的内容 ...
- [POJ2761]Feed the dogs
Problem 查询区间第k大,但保证区间不互相包含(可以相交) Solution 只需要对每个区间左端点进行排序,那它们的右端点必定单调递增,不然会出现区间包含的情况. 所以我们暴力对下一个区间加上 ...