Python3字符串

 

字符串是Python中最常用的数据类型,可以使用单引号或双引号来创建字符串

创建字符串很简单,为变量分配一个值即可。

val1 = ‘hello world’
var2 = “Runoob”

Python访问字符串的值

Python不支持单字符类型,单字符在Python中也是作为 一个字符串使用

Python访问子字符串,可以使用方括号来截取字符串,如下:

/***
string.py
***/
var1 = 'hello world'
var2 = "runoob"print ("var1[0]: ",var1[0]);
print ("var2[1:5]: ",var2[1:5])

运行结果:

robot@ubuntu:~/wangqinghe/python/20190822$ python3.5 string.py

var1[0]:  h

var2[1:5]:  unoo

 

Python字符串更新

可以截取字符串的一部分和其他字段拼接,如下:

 

 

 

Python转义字符

在需要在字符中使用特殊字符,python用反斜杠转义字符

转义字符

描述

\(在行尾)

续行符

\\

反斜杠符

\’

单引号

\”

双引号

\a

响铃

\b

退格(space)

\000

\n

换行

\v

纵向制符表

\t

横向制符表

\r

回车

\f

换页

\oyy

八进制,yy表示字符,

\xyy

十六进制,yy表示字符

\other

其他的字符以普通格式输出

 

Python字符串运算符

操作符

描述

+

字符串连接

*

重复输出字符串

[]

通过索引获取字符串中字符

[:]

截取字符串一部分,遵循左闭右开原则

in

成员运算符—如果字符中包含给定的字符返回true

not in

成员运算符—如果字符中不包含给定的字符返回true

r/R

原始字符串—原始字符串:所有的字符串都是直接按照字面意思来使用,没有转义特殊或不能打印的字符。原始字符串除在字符串的第一个引号前加上字母r(R)以外,与普通字符串有着几乎完全相同的语法

%

格式化字符串

/***
arch.py
***/
a = "hello"
b = "python"print("a + b is : ", a+b)
print("a * 2 is : ", a*2)
print("a[1] is : ",a[1])
print("a[1:4] is : ",a[1:4])if("h" in a):print("h in a is true")
else :print("h in a is false")if("m" not in a):print("m not in a is true")
else:    print("m not in ta is false")print (r'\n')
print (R'\n')

运行结果:

robot@ubuntu:~/wangqinghe/python/20190822$ python3.5 archi.py

a + b is :  hellopython

a * 2 is :  hellohello

a[1] is :  e

a[1:4] is :  ell

h in a is true

m not in a is true

\n

\n

 

Pyt字符串格式化

Python支持格式化字符串输出,尽管这样可能会用到非常复杂的表达式,但是最基本的用法就是将一个值插入到一个有字符串格式符%s的字符串中

在Python中,字符串格式化使用与C中的sprintf函数一样的语法

print (“我叫 %s 今年 %d 岁!“ (‘小明’,10))

 

Python字符串格式化符号

符号

描述

%c

格式化字符及其ASCII码

%s

格式化字符串

%d

格式化整数

%u

格式化无符号整型

%o

格式化无符号八进制数

%x

格式化无符号十六进制数

%X

格式化无符号十六进制数(大写)

%f

格式化浮点数,可指定小数点后的精度

%e

用科学计数法格式化浮点数

%E

作用同上

%g

%f和%e的简写

%G

%f和%E的简写

%p

用十六进制数格式化变量的地址

 

格式化操作辅助指令

符号

功能

*

定义宽度或者小数点精度

-

用作左对齐

+

在正数前面显示加号

<sp>

在正数前面显示空格

#

在八进制数前显示零,在十六进制前面显示’0x’或‘0X’

0

显示的数字前面填充’0’而不是默认的空格

%

‘%%’输出的一个单一的‘%‘

(var)

映射变量(字典参数)

m.n

m是显示的最小的总宽度,n是小数点后的位数

 

Python三引号

Python三引号运行一个字符串跨多行,字符串中可以包含换行符、制表符、以及其他特殊字符。

 

Python的字符串内建函数

Python的字符串常用内建函数如下:

方法

描述

capitalize()

将字符串第一个字符转换成大写

center(width,fillchar)

返回一个指定的宽度width居中的字符串,fillchar为填充的字符,默认为空格

count(str,beg = 0,end = len(string))

返回str在string里面出现的次数,如果beg或end指定则返回指定返回内str出现的次数

bytes.decode(encoding=”utf-8”,errors=”strict”)

bytes对象的decode()方法来解码给定的ebytes对象,这个bytes对象可以由str.encode()来编码返回

encode(encoding=’UTF-8’,errors=’strict’)

以encoding指定的编码格式编码字符串,如果出错,则默认报一个ValueError的异常,除非errors指定的是’ignore’或者’replace’

endswith(suffix,beg=0,end=len(string))

检查字符串是否事宜obj结束,如果beg或end指定则检查指定的范围内是否以obj结束,如果是,返回true,反之返回false

expandtabs(tabsize=8)

把字符串string中的tab符号转换成空格, tab符号默认的空格数是8

find(str,beg=0,end=len(string))

检查str是否包含在字符串中,如果是指范围的beg和end,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1

index(str,beg=0,end=len(string))

很find返回一样,只不过如果str不在字符串中会报一个异常

isalnum()

如果字符串至少有一个字符,并且所有字符都是字母或数字返回true,否则返回false

isalpha()

如果字符串至少有一个字符,并且所有字符都是字母返回true,否则返回false

isdigit()

如果字符串只包含数字返回true否则返回false

islower()

如果字符串中包含至少一个区分大小写的字符,并且所有这些字符都是小写,则返回true,否则返回false

isnumeric()

如果字符串只包含数字字符返回true否则返回false

isspace()

如果字符串只包含空白返回true否则返回false

istitle()

如果字符串是标题化的则返回true,否则返回false

isupper()

如果字符串中包含至少一个区分大小写的而字符,并且这些字符都是大写,则返回true,否则返回false

join(seq)

以指定字符为分隔符,将seq中所有的元素合并为一个新的字符串

len(string)

返回字符串长度

ljust(width[,fillchar])

返回一个原始字符串左对齐,并使用fillchar填充至长度width的新字符串,fillchar默认为空格

lower()

转换字符串中的所有大写字符串为小写

lstrip()

截掉字符串左边的空格或指定字符

maketrans()

创建字符映射的转换表时,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标

min(str)

返回字符串str中最小的字母

replace(old,new[,max])

将字符串中的str1替换成str2,如果max指定,则替换次数不超过maxn

rfind(str,beg=0,end=lens(string))

类似find函数,从右开始找起

rindex(str,beg=0,end=len(string))

类似index函数,从右才是找起

rjust(width,[,fillchar])

返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度width的新字符串

rstrip()

删除字符串末尾空格

split(str=””,num=string.count(str))

num=string.count(str)以str为分隔符截取字符串,如果num有指定值,则仅截取num+1个子字符串

splitlines([keepends ])

按照行(‘\r’,’\r\n’,’\n’)分隔,返回一个包含各行作为元素的列表。如果参数keepends为false,不包含换行符,如果为true则保留换行符

startwith(substr,beg=0,end=len(string))

检查字符串是否是以指定子字符串substr开头,是则返回true,否则返回false。如果beg和end指定值,则在指定范围内检查

strip([chars])

在字符串上执行istrip()和rstrip()

swapcase()

将字符串中大写转换成小写,小写转换成大写

title()

返回“标题化“的字符串,也就是说所有的单词都是以大写开始,所有字母均为小写

tanslate(table,deltechars=””)

根据str给出的表,转换成string的字符,要过滤掉的字符放到deletechars参数中

upper()

转换字符串中的小写字母为大写

zfill(width)

返回长度为width的字符串。原字符串右对齐,前面填充0

isdecimal()

检查字符串是否包含十进制字符,如果是返回true,否则返回false

 

 

[::2]表示从头到尾,步长为2,第一个冒号的两侧数字是截取字符串长度的范围,第二个冒号后面是指截取的步长

也可以使用负数从字符串右边尾部向左边反向索引,最右侧索引值为-1

字符串分隔还有partition()的方式

partition(seq)  ---- > (head,seq,tail)

从左向右遇到分隔符把字符串分割成两部分,返回头、分割符、尾三部分的三元组。如果没有找到分割符,就返回头、尾两个空元素的三元组。

 

 

 

python字符串格式化符号%f可指定小数点后的精度,同C的使用

 

g是自动选择输出格式,在六位数的情况下就会以科学计数法方式输出,

 

python输出二进制、八进制、十六进制的方法

 

 

 

counter升级使用:

IP掩码换算

/***
mask.py
***/
b = '1'
bs_len = len(b)
while bs_len < 9:b_b = b.ljust(8,'0')d = int(b_b,2)print("binary %s is equal with %s" %(b_b,d))b = b + "1"bs_len = len(b)运行结果:
robot@ubuntu:~/wangqinghe/python/20190822$ vim mask.py
robot@ubuntu:~/wangqinghe/python/20190822$ python3.5 mask.py 
binary 10000000 is equal with 128
binary 11000000 is equal with 192
binary 11100000 is equal with 224
binary 11110000 is equal with 240
binary 11111000 is equal with 248
binary 11111100 is equal with 252
binary 11111110 is equal with 254
binary 11111111 is equal with 255

 

转载于:https://www.cnblogs.com/wanghao-boke/p/11396050.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/384856.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

服务器客户端编程

server 下面通过最简单的客户端/服务器程序的实例来学习socket API。 server.c的作用是从客户端读字符&#xff0c;然后将每个字符转换为大写并回送给客户端。 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #incl…

Python3元组

Python的元组与列表相似&#xff0c;不同之处在于元组的元素不能修改 元组使用小括号&#xff0c;列表使用方括号 元组创建很简单&#xff0c;只需要在括号中添加元素&#xff0c;并使用逗号隔开即可。 创建空元组 tup1 (); tup2 (1,) 元组只包含一个元素时&#xff0c;需要在…

Python3字典

字典是另一种可变容器模型&#xff0c;可存储任意类型的对象。 字典的每个键值(key>value)对用冒号分隔&#xff0c;每个对之间用逗号分隔&#xff0c;整个字典包括在花括号里&#xff0c;格式如下 d {key1 : value,key2 : value2} 键必须是唯一&#xff0c;但值则不必。 值…

线程回收

pthread_join函数 阻塞等待线程退出&#xff0c;获取线程退出状态 其作用&#xff0c;对应进程中 waitpid() 函数。 int pthread_join(pthread_t thread, void **retval); 成功&#xff1a;0&#xff1b;失败&#xff1a;错误号 参数&#xff1a;thread&#xff1a;线…

Python3数字

Python3数字数据类型用于存储数值。 数据类型是不允许改变的&#xff0c;这就意味着&#xff0c;如果改变数字数据类型的值&#xff0c;将重新分配内存空间。 Python支持三种不同不同的数值类型&#xff1a; 整型&#xff08;int&#xff09;&#xff1a;通常是被称为整型或整数…

多进程服务器

注意&#xff1a;包含了“wrap.c” 和“wrap.h”文件在上篇博客中 /*** server.c ***/ #include<stdio.h> #include<string.h> #include<netinet/in.h> #include<arpa/inet.h> #include<signal.h> #include<sys/wait.h> #include<ctype…

服务器之select

select select能监听的文件描述符个数受限于FD_SETSIZE,一般为1024&#xff0c;单纯改变进程打开的文件描述符个数并不能改变select监听文件个数解决1024以下客户端时使用select是很合适的&#xff0c;但如果链接客户端过多&#xff0c;select采用的是轮询模型&#xff0c;会大…

服务器之poll

poll服务器方法采用将监听端口用数组存放起来&#xff0c;这样就不需要轮询的监听整个文件描述符了 #include <poll.h> int poll(struct pollfd *fds, nfds_t nfds, int timeout);struct pollfd {int fd; /* 文件描述符 */short events; /* 监控的事件 */short revents; …

Mysql数据库简单使用(二)

Mysql导入.sql文件 进入数据库&#xff08;要导入的数据库&#xff09;数据库中有要导入.sql文件名的数据库&#xff0c;没有则新建。source 路径文件名souce /home/robot/csql.sql 数据库文件.sql文件放在/home/robot目录下 按照时间删除数据库数据 DELETE FROM 表名 WHERE 时…

Python3集合

集合&#xff08;set&#xff09;是一个无序的不重复元素序列。 可以使用大括号{ } 或set&#xff08;&#xff09;函数来创建集合&#xff0c;注意&#xff1a;创建一个空集合必须用set(),{ }是用来创建一个空字典的。 创建格式&#xff1a; param {value01,value02,…} set(…

Python3条件判断

if语句&#xff1a; Python中if语句的一般形式如下&#xff1a; if condition_1:statement_block_1 elif condition_2:statement_block_2 else:statement_block_3 if语句关键词&#xff1a; if – elif – else 注意&#xff1a; 每个条件后面要使用冒号:使用缩进来划分语句块&…

Python3循环

Python中while语句的一般形式&#xff1a; while 判断条件: 语句 同样需要注意冒号和缩进&#xff0c;另外在Python中没有do…while循环 下面的实例计算1到100总和 ##calc.py n 100sum 0 counter 1 while counter < n:sum sum countercounter 1print("total from…

Python3迭代器和生成器

迭代器 迭代是Python最强大的功能之一&#xff0c;是访问元素集合的一种方法。 迭代器是一个可以记住遍历的位置的对象。 迭代器对象从集合的第一个元素开始访问&#xff0c;直到所有的元素被访问完结束&#xff0c;迭代器只能向前不会后退。 迭代器有两个基本方法&#xff0c;…

Pythton3实例

计算1-100之和 #add.py n 0 sum 0 for n in range(0,101):sum n print(sum) 实现99乘法法则 #mul.py i 1 while i < 9:j 1while j < i:mut j*iprint("%d * %d %d"%(j,i,mut),end" ")j 1print(" ")i 1 运算结果: robotubuntu:~/wa…

Python3函数

函数是组织好的&#xff0c;可重复使用的&#xff0c;用来实现单一&#xff0c;或相关功能的代码段。 函数能提高应用的模块性&#xff0c;和代码的重复使用率。 定义一个函数 可以定义一个由自己想要功能的函数&#xff0c;以下是简单规则&#xff1a; l 函数代码块是以def关…

epoll函数

epoll是Linux下多路复用IO接口select/poll的增强版本&#xff0c;它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率&#xff0c;因为它会复用文件描述符集合来传递结果而不用迫使开发者每次等待事件之前都必须重新准备要被侦听的文件描述符集合&#xff0…

epoll事件模型

事件模型 EPOLL事件有两种模型&#xff1a; Edge Triggered (ET) 边缘触发只有数据到来才触发&#xff0c;不管缓存区中是否还有数据。 Level Triggered (LT) 水平触发只要有数据都会触发。 思考如下步骤&#xff1a; 假定我们已经把一个用来从管道中读取数据的文件描述符(RFD)…

epoll反应堆模型代码

libevent函数库核心思想 /*** epoll_loop.c ***/ #include<stdio.h> #include<sys/epoll.h> #include<sys/socket.h> #include<arpa/inet.h> #include<fcntl.h> #include<unistd.h> #include<errno.h> #include<string.h> #in…

UDP广播

广播是在局域网之间的一对多的通信方式&#xff0c;使用的udp协议 /*** client.c ***/ #include <stdio.h> #include <unistd.h> #include <string.h> #include <sys/socket.h> #include <arpa/inet.h>#define SERVER_PORT 8000 #define MAXLINE…

UDP组播

多播(组播) 组播组可以是永久的也可以是临时的。组播组地址中&#xff0c;有一部分由官方分配的&#xff0c;称为永久组播组。永久组播组保持不变的是它的ip地址&#xff0c;组中的成员构成可以发生变化。永久组播组中成员的数量都可以是任意的&#xff0c;甚至可以为零。那些没…