Python全栈day 04
Python全栈day 04
一、解释器/编译器
补充:编译型语言和解释型语言?
# 编译型:代码写完后,编译器将其变成成另外一个文件,然后交给计算机执行。
c c++,c# ,java
# 解释型:写完代码交给解释器,解释器会从上到下一行行代码执行:边解释边执行。 【实时翻译】python,php,ruby
二、字符型数据str的变换
字符串的方法
str.upper() # 对str中的字符转为大写,得到str数据。
str.lower() # 对str中的字符转为大写,得到str数据。
str.strip() # 对str中的字符串首尾去除空格,类似的lstrip和 rstrip,分别是字符串左边和右边去除空格,得到str数 据。 str.replace(("被替换的字符/子序列","要替换为的内容",数字)
# 对str字符串中的前多少个子序列进行替换。得到str数据。 str.split("根据什么东西进行切割",对前多少个东西进行切割)
#得到列表数据。从左到右。str.rsplit则是从右到左切割。
方法补充
- startswith 和 endswith
name = 'alex'
flag = name.startswith('al')
print(flag) # 判断name是否以al开头,输出数据为bool值(True/False)
name = 'alex'
flag2 = name.endswith('ex')
print(flag1) # 判断name是否以ex开头,输出数据为bool值(True/False)
- format(字符串的格式化) <-----> 和%s / %d/ %%区分开来
name = "我叫{0},年龄:{1}".format('老男孩',73) # 对应的是索引位置
print(name)
encode(以指定的编码格式编码字符串)
name = '王飞' # 解释器读取到内存后,按照unicode编码存储:8个字节,4字节表示一中文字符
v1 = name.encode('utf-8')
print(v1) #输出name代指的字符串以utf- 8编码,
v2 = name.encode('gbk')
print(v2)
join
name = 'alex'
result = "**".join(name) # 循环每个元素,并在元素和元素之间加入连接符,得到的是字符串数据
print(result) # a_l_e_x
公共功能
len('这个世界') = 4 #输出长度,输出类型为数字 #索引
name = '这个世界'
print(name[0]) # '这' , 从做到右,以位置0其起始
#切片
name = '这个世界'
print(name[0:3]) # '这个世' 从做到右,以位置0其起始,取前不取后。
补充
步长longth
count = '123456789' val = count[0:-1:2] # 由1-8,每隔一个字符选中一个,'1357'
val = count[1:-1:2] # 由2-8,每隔一个字符选中一个,'246'
val = count[1::2] # 由2-9,每隔一个字符选中一个,'2468'
val = count[::2] # 由1-9(包含9),每隔一个字符选中一个,'13579'
val = count[-1:0:-2] # 由9-1(包含9,不包含1),每隔一个字符选中一个,从右向左选择,'9753'
print(val)
val = count[::-1] # 由1-9,反向输出字符串,'987654321'
print(val)
for循环
name = 'dengxin'
for item in name:
print(item) # 竖向打印d e n g x i n name = 'dengxin'
for item in name:
print(item)
break # for循环的break语句
print('123') name = 'dengxin'
for item in name:
print(item)
continue # for循环的continue语句
print('123')
注意:for和while的应用场景:有穷尽优先使用for,无穷尽用while。
三、列表list
users = ["代永进","李林元","邓益新",99,22,88] #表示多个事物,用列表
公共功能
len
users = ["代永进","李林元","邓益新",99,22,88]
val = len(users)
print(val) # 5
索引
users = ["代永进","李林元","邓益新",99,22,88]
val = users[0]
print(val) # "代永进"
切片
users = ["代永进","李林元","邓益新",99,22,88]
val = users[0:2]
print(val) # ["代永进","李林元"] 也是取前不取后
删除(数字/布尔/字符串除外)
users = ["代永进","李林元","邓益新",99,22,88]
# 方式一, .pop()括号内索引位置,以0起始
users.pop(1)
print(users) # ['代永进', '邓益新', 99, 22, 88] # 方式二:
del users[1]
print(users)
注意:
- 字符串本身不能修改或删除【不可变类型】
- 列表是可变类型。
修改(字符串/数字/布尔除外)
users = ["代永进","李林元","邓益新",99,22,88]
users[2] = 66
print(users) # ,'邓益新'修改为66, ['代永进', '李林元', 66, 99, 22, 88] users[0] = '代永进'
print(users[0][1]) # 输出"永"
步长
users = ["代永进","李林元","邓益新",99,22,88]
val = users[0:4:2] # ["代永进","邓益新"]
for循环
users = ["代永进","李林元","邓益新",99,22,88]
for i in users:
print(i) # 循环打印users列表的元素,for循环可嵌套
列表方法
append,在列表的最后追加一个元素
users = []
users.append('alex')
print(users)
users = []
while True:
name = input('请输入姓名:') # 利用无限循环添加用户名到列表users
users.append(name)
print(users)
insert
users = ["代永进","李林元","邓益新",99,22,88]
users.insert(2,'大笨蛋') # 在列表索引2位置添加'大笨蛋'
remove
users = ["代永进","李林元","邓益新",99,22,88]
users.remove("邓益新") # 从列表中从左到右删除第一个"邓益新"
pop
users = ["代永进","李林元","邓益新",99,22,88]
users.pop(2) # 从列表中删除对应索引位置
clear
users = ["代永进","李林元","邓益新",99,22,88]
users.clear() # 从列表清除所有元素
总结:
增:
- append / insert
删:
- .remove() / .pop() / .clear() / del users[2]
改:
- users[3] = "新值" ,列表可变,可以被修改。
查:
- 索引/切片
列表嵌套
列表可以嵌套多层,int、str、bool、list都可以有
四、 元组tuple
元组
users = ["代永进","李林元","邓益新",99,22,88] # 列表可变[]
users = ("代永进","李林元","邓益新",99,22,88) # 元组不可变()
公共功能
索引[]
切片[:]
步长[::1]
删除(排除:tuple/str/int/bool),tuple不能变,不能删除。
修改(排除:tuple/str/int/bool)
for循环(排除:int/bool)
users = ("代永进","李林元","邓益新",99,22,88)
for item in users:
print(item) # 循环打印出users的元素
len(排除:int/bool)
users = ("代永进","李林元","邓益新",99,22,88)
print(len(users)) # 6
方法(tuple没有独有的方法)
特殊:元组中的元素(儿子)不可被修改/删除。
# 元组可以嵌套,可以有list数据,多重嵌套
v1 = (11,22,33,(44,55,66),(11,2,(99,88,),[666,999,888],["代永进","李林元","邓益新"]))
注意:元组中嵌套列表,
元组:只读列表,可循环查询,可切片。儿子不能改,孙子(列表的元素)可能可以改 v2 = (1,2,3,'alex',[2,3,4,'abnowen'],'deng')
v2[3] = 666 # 错误
v2[4][3] = 123 #正确
print(v2) # (1, 2, 3, 'alex', [2, 3, 4, 123], 'deng')
Python全栈day 04的更多相关文章
- Python全栈开发【模块】
Python全栈开发[模块] 本节内容: 模块介绍 time random os sys json & picle shelve XML hashlib ConfigParser loggin ...
- python 全栈开发之路 day1
python 全栈开发之路 day1 本节内容 计算机发展介绍 计算机硬件组成 计算机基本原理 计算机 计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可 ...
- python 全栈开发,Day99(作业讲解,DRF版本,DRF分页,DRF序列化进阶)
昨日内容回顾 1. 为什么要做前后端分离? - 前后端交给不同的人来编写,职责划分明确. - API (IOS,安卓,PC,微信小程序...) - vue.js等框架编写前端时,会比之前写jQuery ...
- python 全栈开发,Day98(路飞学城背景,django ContentType组件,表结构讲解)
昨日内容回顾 1. 为什么要做前后端分离? - 前后端交给不同的人来编写,职责划分明确. - API (IOS,安卓,PC,微信小程序...) - vue.js等框架编写前端时,会比之前写jQuery ...
- 学习笔记之Python全栈开发/人工智能公开课_腾讯课堂
Python全栈开发/人工智能公开课_腾讯课堂 https://ke.qq.com/course/190378 https://github.com/haoran119/ke.qq.com.pytho ...
- 老男孩Python全栈第2期+课件笔记【高清完整92天整套视频教程】
点击了解更多Python课程>>> 老男孩Python全栈第2期+课件笔记[高清完整92天整套视频教程] 课程目录 ├─day01-python 全栈开发-基础篇 │ 01 pyth ...
- Python全栈
Python基础 Python基础01 Hello World! Python基础02 基本数据类型 Python基础03 序列 Python基础04 运算 Python基础05 缩进和选择 Pyth ...
- python 全栈之路
目录 Python 全栈之路 一. Python 1. Python基础知识部分 2. Python -函数 3. Python - 模块 4. Python - 面对对象 5. Python - 文 ...
- Python全栈【Socket网络编程】
Python全栈[socket网络编程] 本章内容: Socket 基于TCP的套接字 基于UDP的套接字 TCP粘包 SocketServer 模块(ThreadingTCPServer源码剖析) ...
随机推荐
- hibernate课程 初探一对多映射2-2 Myeclipse进行hibernate基本配置
本节主要内容: 1 myeclipse 中hibernate jar包,mysql连接jar包 导入 2 hibernate.cfg.xml的配置 1 一对一映射已经配置过 2 hibernate.c ...
- Xxy 的车厢调度
有 一 个 火 车 站 , 铁 路 如 图 所 示 ,每辆火车从 A 驶入, 再从 B 方向驶出,同时它的车厢可以重新组合.假设 从 A 方向驶来的火车有 n 节(n<=1000) ,分别按照顺 ...
- AngularJS 指令解析(一)
AngularJS 指令解析(一) 前言 笔者AngularJS接触时间差不多是两年多,虽然这两年多AngularJS版本日新月异,但是笔者的版本是比较老的1.4.3,一方面是自己对这个版本比较熟悉, ...
- echarts渲染一个风向图
今天给大家说一个用echarts渲染一个风向图,这里图上其实有三个要素,风向,风级和能见度,主要还是讲讲代码里面的坑 1.风向图标方向修改以及设置 var ownData = echarts.util ...
- (C#) 线程之 AutoResetEvent, EventHandle.
AutoResetEvent 允许线程通过发信号互相通信.通常,此通信涉及线程需要独占访问的资源. 线程通过调用 AutoResetEvent 上的 WaitOne 来等待信号.如果 AutoRese ...
- eclipse中安装thymeleaf插件完成thymeleaf模板中自动代码提示功能
插件地址:https://github.com/thymeleaf/thymeleaf-extras-eclipse-plugin 页面有介绍如何使用:
- CKEditor插件开发
以前做过一个教育项目,是有关在线考试的.其中对编辑器CKEditor做了扩充,增加了插入客观题.主观题.选择题和判断题的功能.这里记述下CKEditor插件开发的过程. CKEditor以前叫FCKE ...
- 【[SCOI2015]小凸玩矩阵】
题目 第\(k\)大显然没有什么办法直接求,于是多一个\(log\)来二分一波 现在的问题变成了判断一个\(mid\)是否能成为第\(k\)大 这还是一个非常经典的棋盘模型,于是经典的做法就是转化成二 ...
- 2018.7.22 Jdom与dom的区别
SAX 优点:①无需将整个文档加载到内存,因而内存消耗少 ②推模型允许注册多个ContentHandler 缺点:①没有内置的文档导航支持 ②不能够随机访问XML文档 ③不支持在原地修改XML ④不支 ...
- 自己编写shave函数
import numpy def shave(I,border=None): I = I[border[0]:I.shape[0]-border[0],border[1]:I.shape[1]-bor ...