python字符串

python字符串截取操作

只谈情不闲聊 提交于 2019-11-28 12:10:36
写在最前面: 给定一个字符串str,str[begin:end:step],这三个顺序永远不变 step > 0 begin在end的右边 step < 0 begin在end的左边 举个例子: mystring = '12345abcde' 1 2 3 4 5 a b c d e 0 1 2 3 4 5 6 7 8 9 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 表格中第一行是要处理的字符串,第二行是正序的下标,第三行是逆序的下标 下面是常见的字符串截取操作: mystring = '12345abcde' print('截取第1位到第5位的字符:', mystring[0:5]) # 截取第1位到第5位的字符 print('截取字符串的全部字符', mystring[:]) # 截取字符串的全部字符 print('截取第5个字符到结尾:', mystring[5:]) # 截取第6个字符到结尾 print('截取从头开始到倒数第3个字符之前:', mystring[:-3]) # 截取从头开始到倒数第3个字符之前 print('截取第5个字符;', mystring[4]) # 截取第5个字符 print('截取倒数第3个字符:', mystring[-3]) # 截取倒数第3个字符 print('截取倒数第3位与倒数第1位之前的字符;', mystring[

Python分支结构之If语句

拥有回忆 提交于 2019-11-28 11:30:58
程序结构 ¶ 程序三种结构 顺序 循环 分支 分支结构 ¶ 分支结构基本语法 if 条件表达式: 语句1 语句2 语句3 ...... 条件表达式就是计算结果必须为布尔值的表达式 表达式后面的冒号不能少 注意if后面的出现的语句,如果属于if语句块,则必须同一个缩进等级 条件表达式结果为True执行if后米娜的缩进语句块 In [30]: # if 语句联系一 # 如果你们都买我的习题课,我就发财了 a = " " # 字符串的真假: #只有空字符串(长度为0的字符串)为False,其余全为True #a = "都买习题课" if a: print("我就发财了") print("迎娶王晓静") print("日子还得过啊") 我就发财了 迎娶王晓静 日子还得过啊 In [27]: # if 联系二 age = 19 if age > 16: print("喝酒去") print("下次你请我") 喝酒去 下次你请我 双向分支 ¶ if...else...表达 语法结构: if 条件表达式: 语句1 语句2 else 语句1 语句2 In [29]: a = "" # 字符串的真假: #只有空字符串(长度为0的字符串)为False,其余全为True #a = "都买习题课" if a: print("我就发财了") print("迎娶王晓静") else: print("继续吃土吧

完美Python入门基础知识点总结,看完你的Python就完全入门了!

☆樱花仙子☆ 提交于 2019-11-28 11:17:12
Python标识符 在 Python 里,标识符有字母、数字、下划线组成。 在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。 Python 中的标识符是区分大小写的。 以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入; 以双下划线开头的 __foo 代表类的私有成员;以双下划线开头和结尾的 foo 代表 Python 里特殊方法专用的标识,如 init () 代表类的构造函数。 Python有五个标准的数据类型 Numbers(数字) String(字符串) List(列表) Tuple(元组) Dictionary(字典) Python支持四种不同的数字类型 int(有符号整型) long(长整型[也可以代表八进制和十六进制]) float(浮点型) complex(复数) python的字串列表有2种取值顺序 从左到右索引默认0开始的,最大范围是字符串长度少1 从右到左索引默认-1开始的,最大范围是字符串开头 List(列表) 是 Python 中使用最频繁的数据类型 列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。 如果你依然在编程的世界里迷茫

Python学习日记(十四) 正则表达式和re模块

醉酒当歌 提交于 2019-11-28 08:51:46
正则表达式 : 它是字符串的一种匹配模式,用来处理字符串,可以极大地减轻处理一些复杂字符串的代码量 字符组 : 它是在同一位置可能出现的各种字符组成了一个字符组,用[]表示,但是它的结果只能是一个数字或者一个大写字母或小写字母等 下面测试以该网站为例http://tool.chinaz.com/regex/ #正则表达式 匹配字符串  匹配结果 #[0-9] 9 9 [0-9]的写法就相当于在用[0123456789] #[0123456789] 0 0 #[a-z] 1 None 这里只匹配小写字符a-z而不匹配数字 #[a-z] z z #[A-Z] A A 这里只匹配大写字符串 #[A-Z0-5a-c] A6b A、b 这里的数字范围只有到0-5所以没匹配到6 元字符: 1.'.' 匹配出换行符以外的任意字符 #正则表达式 匹配字符串 匹配结果 # . a a # . 1 1 # . & & # . 换行符 None 2.'\w' 匹配字母或下划线或数字--word 等价于[A-Z0-9a-z_] #正则表达式 匹配字符串 匹配结果 # \w a a # \w 1 1 # \w & None # \w 换行符 None # \w _ _ 3.'\s' 匹配任意的空白符--space 匹配字符串如果什么都不写也会匹配到一个结果,这里的空白符有空格、tab键、回车等空白字符 4.

day39_8_23mysql的其他内容(视图等)

一曲冷凌霜 提交于 2019-11-28 08:29:35
一。视图   MySQL中有一种比较方便的表,就是视图(view)。   什么是视图?   视图就是通过查询获得一张虚拟表,然后将其保存,下次可以直接使用这个视图。   使用视图就可以不需要重复查询/连接表,在代码层次比较方便。   视图创建的语法: #语法:CREATE VIEW 视图名称 AS SQL语句 create view teacher_view as select tid from teacher where tname='李平老师';   修改了视图里的数据后,原数据表中的数据也会跟着修改,所以,视图只是复制了他的表结构,。   而且,设涉及多个表的视图是无法修改的。 # 修改视图 ALTER VIEW 视图名称 AS SQL语句   删除视图 语法:DROP VIEW 视图名称 DROP VIEW teacher_view   视图不会被频繁的使用。视图是mysql的功能,如果你的项目里面大量的使用到了视图,那意味着你后期想要扩张某个功能的时候这个功能恰巧又需要对视图进行修改,意味着你需要先在mysql这边将视图先修改一下,然后再去应用程序中修改对应的sql语句,这就涉及到跨部门沟通的问题,所以通常不会使用视图,而是通过重新修改sql语句来扩展功能。 二。触发器。   触发器使得当某个操作数据表的增删改之前或者之后,自动触发一些语句。   触发器的操作有:

shell笔记_数组与字符串

烈酒焚心 提交于 2019-11-28 08:02:36
回顾: 函数:写一个代码块,用来重复调用的; 1、函数的写法格式 2、参数,在函数名后面直接加,即可;如果在外面 abc(){ 函数体 $@ } abc 1 2 3 4 5 :wq a.sh 1 2 3 4 5 6 3、变量 local本地变量 local i=1 如果在函数体外同样也定义了一个相同的变量 扩展:source / bash / chmod+x 全路径 【父子进程的问题】 4、return 结束函数体的执行 和exit 的却别 return 和 exit 都指定的返回值 0 代表执行成功,1-255 代表执行失败 return只用在函数体中; 5、迭代 迭代的时候一定要指初始值!!! n! n!=n(n-1)! fact(){ if [ $1 -lt 1 -o $1 -eq 0 ];then echo 1 else echo "$[$1*$(fact $[$1-1])]" fi } fact 100 1 2 3 4 5 6 7 8 1 1 2 3 5 8 13 21 34 ... 斐波那锲数列 F(n)=F(n-1)+F(n-2) fab(){ if [ $1 -eq 1 ];then echo 1 elif [ $1 -eq 2 ];then echo 1 else echo "$[$(fab $[$1-1])+$(fab $[$1-2])]" fi } fab

Python 【文件的读写】

 ̄綄美尐妖づ 提交于 2019-11-28 07:28:33
文件读写 A 读取文件 读文件三步:开——读——关。 file1 = open('/Users/Ted/Desktop/test/abc.txt','r',encoding='utf-8') 第一个参数是文件的保存地址 第二个参数表示打开文件时的模式(r(读),w(写入),a(追加)) 第三个参数encoding='utf-8',表示的是返回的数据采用何种编码,一般采用utf-8或者gbk —————————————————————————————— mac open('/Users/Ted/Desktop/test/abc.txt'') #绝对路径 open('abc.txt') #相对路径 #相对路径也可以写成open('./abc.txt') windows Windows系统里,常用\来表示绝对路径, /来表示相对路径 C:\Users\Ted\Desktop\test\abc.txt #\在Python中是转义字符,Windows的绝对路径通常要稍作处理 写成以下两种格式 open('C:\\Users\\Ted\\Desktop\\test\\abc.txt') #将'\'替换成'\\' open(r'C:\Users\Ted\Desktop\test\abc.txt') #在路径前加上字母 —————————————————————————————— 获取文件路径方法

Python正则表达式

泪湿孤枕 提交于 2019-11-28 07:27:12
正则表达式是一个特殊的字符序列,他能帮助你方便的检查一个字符串是否与某种模式匹配。 re 模块使Python语言拥有全部的正则表达式功能。 ² re.match() 函数 :从字符串起始位置开始匹配,如果不是从起始位置匹配,返回None。 函数语法: re.match(pattern, string, flags=0) example : >>> import re >>> s = 'If they do not match, you have two options.' >>> print(re.match('If', s).group()) If >>> print(re.match('you', s)) None ² re.search() 函数 ,扫描整个字符串并返回一个成功的匹配,如果字符串没有匹配,则返回None。 函数语法: re.search(pattern, string, flag=0) example : >>> import re >>> print(re.search('\dcom', 'www.cccomround3com.0com').group()) 3com re.match与re.search的区别 re.match()只匹配字符串的开始,如果字符串开始不匹配正则表达式,则匹配失败,函数返回None。 re.search()匹配整个字符串

Web服务器-正则表达式-整理+复习(3.1.1)

白昼怎懂夜的黑 提交于 2019-11-28 07:21:09
目录 1.常用api 2.例子 3.正则表达式模式 关于作者 @ 参考文章 1.常用api re.match(pattern, string, flags=0) pattern 匹配的正则表达式 string 要匹配的字符串。 flags 标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。参见:正则表达式修饰符 - 可选标志 re.group(index) re.groups() 一个按照index返回匹配到的,一个返回所有 2.例子 #!/usr/bin/python import re line = "Cats are smarter than dogs" matchObj = re.match(r'(.*) are (.*?) .*', line, re.M | re.I) if matchObj: print ("matchObj.group() : ", matchObj.group()) print ("matchObj.group(1) : ", matchObj.group(1)) print ("matchObj.group(2) : ", matchObj.group(2)) 3.正则表达式模式 模式字符串使用特殊的语法来表示一个正则表达式: 字母和数字表示他们自身。一个正则表达式模式中的字母和数字匹配同样的字符串。

数组与字符串

怎甘沉沦 提交于 2019-11-28 07:11:13
数组 数组说白了就是一段连续的变量,一段连续的内存存储空间 解决:变量过多的问题; 在同一类变量中,我们不需要去定义多个名字,而是以数组的方式来定义;(列表) 共好学院云三本 [1]= xx 1 、数组名 2 、索引 3 、值 如何去定义数组: declare -i 定义整数 (申明) declare -a 定义数组 array declare -A 定义嵌套的数组 共好学院云 [1]= 云计算专业 云计算专业 [1]= 云三班 云三班 [1]=xx 【这样数组值,在 bash 中并不常用】 【 python 和 shell 】 array=( 值 ) array=() 如何给数组赋值: array=() 1 、 array[8]= xx (在计算机语言中,索引一般从 0 开始计算) ( 索引并不一定是数字 : key-value array[ xx ]=1.87m) (shell 中数组赋值,可以跳跃 ( 跳跃赋值 )) 2 、 array=(/var/log/*.log) 做遍历 array=(a b c d e) 3 、 array=(' xx =187' ' xxx =186' ... ) 4 、通过 read 命令来赋值 read -t 延迟 -p " 指定说明 " -a 输入数组所需的变量值 read -a a b c d e 如何去调用数组: ${ 变量名 } ${