定义字符串

' '单引号 " "双引号  只能用于单行

'" '"三引号  可以用于多行

拼接字符串使用  +号链接

字符串只能链接字符串其他类型字符串需要用str()进行转换后相加

计算字符串的长度

字母、数字、. 小数点、_下划线、 空格 占一个字节

汉子一般占2~4     utf-8 占3个字节

len()  计算字符串函数  获取字符个数

gdk或者2312  汉子为2个字节

str1 =  "人生苦短,我用python!"

print(len(str1.encode()))     #计算utf-8的字符长度

encode()表示utf-8的字符编码

encode("gbk")   表示gbk编码

截取字符串

字符串属于序列

可以用切片来进行

string[起始值:结束值:步长]

切片时 字符串不存在不会报错

索引不存在会出现报错

捕获异常

try:

print(str1[不存在的值])

except  IndexError:
     print("索引不存在")

p1 = "你知道我的生日吗?"
print("程序员甲说:",p1)
p2 = "输入你的身份证号吗:"
print("程序员乙说:,p2")
idcard = "123456789112345"
print("程序员甲说:",idcard)
birthday = idcard[6:10] + "年" + idcard[10:12] + "月" + idcard[12:14] + "日"
print("程序员乙说:你是" + birthday +"出生的,所以你的生日是" + birthday[5:])

分割和合并字符串

分割字符串

split()

listname  = str.split(sep,maxsplit)

sep来指定分割符的  可以包含多字符默认是空白符 (空格、换行符 、
\n、制表符、\t)

maxsplit来表示分割次数、如过我们不指定、或者把值赋值为-1那么表示没有限制能分割多少就分割多少,如果有分割次数那么就分割指定次数+1  ,当使用分割次数参数时候如果指定参数了,那么sep就是必选参数

alt + p调用上一次使用的代码

str1 = "@我 @扎克伯格 @俞敏洪 @勤奋的天使"
list1 = str1.split(" ")       #用空格分割字符串
for item in list1:
print(item[1:])            #输出每个好友并且去掉@


扎克伯格
俞敏洪
勤奋的天使

合并字符串

join

strnew = string.join(iterable)

string合并时的分隔符  字符串

iterable 可迭代对象 (可以是列表。元组) 中所有对象以字符串来表示

list1 = ["我","扎克伯格","俞敏洪","勤奋的天使"] #好友列表
str1 = " @".join(list1) #用空格和@进行链接
at = "@" + str1 #第一个@我没有@所以要+@
print("你要@的好友为:",at)

你要@的好友为: @我 @扎克伯格 @俞敏洪 @勤奋的天使

检索字符串

count()   检索一个字符串在另一个字符串中出现次数

str.count(sub[,start[,end]])    如果不存在为0 ,如果存在显示次数

sub表示要检索的子字符串  start表示检索的起始位置  end表示检索的结束位子,可选参数

find()  index()    检索是否包含此字符串的

str.find(sub[,start[,end]])  和count类似 返回值是0表示该函数首次出现在第一位

没有找到返回-1    rfind() 从右开始查找

str.index(sub[,start[,end]])  如果没有会抛出异常   rindex()从右开始查找

startwith()是否以此字符串开头

str.startswith(prefix[,start[,end]])

endswith()是否以此字符串结尾的

str.endswith(prefix[,start[,end]])

字母的大小写转换

大写转小写

lower()

对象名.lower()

小写转大写

upper()

对象名.upper()

去除字符串中的空格和特殊字符

特殊字符 \n 制表符\r回车符 \t换行符

strip()去除字符串两边的空格和特殊字符

str.strip([chars])   指定去除字符,没有指定去除 \n 制表符\r回车符 \t换行符 空格

lstrip()去除左侧  空格和特殊字符

str.lstrip([chars])

rstrip()去除右侧   空格和特殊字符

str.rstrip([chars])

格式化字符串

使用%操作符

'%[-][+][0][m][.n]格式化字符‘’%exp

使用字符串对象的format()方法

str.format(args)

{[index][:[fill]align][sign][#][width][.precision][type]]}

index   可选参数如果指定的话那么设置格式对象,在参数列表当中的索引位置从0开始

fill 空白处填充字符对齐方式值     <左对齐   >右对齐  =左对齐,并且把填充内容放在最右侧

sign有无符号   正数  +  负数 -   空格  正数+  空格

#  指定2、8、16是否加前缀

二进制 0B  八进制0O  十六进制0x

python基础知识(字符串)的更多相关文章

  1. python基础知识——字符串详解

    大多数人学习的第一门编程语言是C/C++,个人觉得C/C++也许是小白入门的最合适的语言,但是必须承认C/C++确实有的地方难以理解,初学者如果没有正确理解,就可能会在使用指针等变量时候变得越来越困惑 ...

  2. python基础知识-字符串

    字符串: 赋值方法 a = 'name' a = str('name') 字符串的方法: #!/usr/bin/env python class str(object): ""&q ...

  3. python基础知识字符串与元祖

    https://blog.csdn.net/hahaha_yan/article/details/78905495 一.字符串的类型 ##表示字符串: 'i like the world' " ...

  4. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

  5. python 基础知识(一)

    python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...

  6. python 爬虫与数据可视化--python基础知识

    摘要:偶然机会接触到python语音,感觉语法简单.功能强大,刚好朋友分享了一个网课<python 爬虫与数据可视化>,于是在工作与闲暇时间学习起来,并做如下课程笔记整理,整体大概分为4个 ...

  7. python基础知识小结-运维笔记

    接触python已有一段时间了,下面针对python基础知识的使用做一完整梳理:1)避免‘\n’等特殊字符的两种方式: a)利用转义字符‘\’ b)利用原始字符‘r’ print r'c:\now' ...

  8. Python基础知识(五)

    # -*- coding: utf-8 -*-# @Time : 2018-12-25 19:31# @Author : 三斤春药# @Email : zhou_wanchun@qq.com# @Fi ...

  9. Python 基础知识(一)

    1.Python简介 1.1.Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时 ...

  10. python基础知识部分练习大全

    python基础知识部分练习大全   1.执行 Python 脚本的两种方式 答:1.>>python ../pyhton.py 2. >>python.py   #必须在首行 ...

随机推荐

  1. 多线程(四)wait()、notify()以及notifyAll()

    六.线程的等待和唤醒 1.wait()和notify()的简单示范 public class Wait extends Thread{ public synchronized void run() { ...

  2. Web UI开发推荐!Kendo UI for jQuery自定义小部件——使用MVVM

    Kendo UI for jQuery最新试用版下载 Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support f ...

  3. 【转】用win7(64位)远程桌面连接linux(Ubuntu14.04)详细教程

    转自:http://blog.csdn.net/qq754438390/article/details/50042511 亲测,确实是可以.非常感谢原博. 用win7(64位)远程桌面连接linux( ...

  4. 【Layui】Layui模板引擎生成下拉框不显示

    首先让我震惊了一下,layui引擎模板居然是支持ajax操作的 博主的需求是需要在数据表格内放入下拉框而下拉框的数据是数据库内查出来的(详见上一篇博客),但是下拉框怎么也显示不出来 找了四个小时的问题 ...

  5. 题解 【POI2008】KUP-Plot purchase

    题面 先把题目意思讲一下吧: 给一个 \(n*n\) 的地图,每个格子有一个价格,找一个矩形区域,使其价格总和位于\([k,2k]\). 那么首先,可以想到,如果\(a[i][j]\)(格子的价格,下 ...

  6. vs2017 gitee项目无法提交同步的解决办法

    下载扩展跟更新:  gitee插件 然后命令行输入: git push --set-upstream origin master 参考 https://www.cnblogs.com/slwangzi ...

  7. 编译原理--02 自顶向下、自底向上的LR分析复习(清华大学出版社第3版)

    前言 目录 01 文法和语言.词法分析复习 02 自顶向下.自底向上的LR分析复习 03 语法制导翻译和中间代码生成复习 04 符号表.运行时存储组织和代码优化复习 第4章 自顶向下的语法分析方法 确 ...

  8. 使用A* Pathfinding Project的一些心得

    最近在游戏开发中要做寻路.首选果断就是Unity3D自带的寻路啦.方便稳定,基本功能都能满足.我们的需求也不复杂,就是一个英雄在不同的地图中探索.但是介于一个比较恶心的问题,果断放弃了它.所以,说A* ...

  9. Android中定义广播监听,其他页面发送

    private LocalBroadcastManager broadcastManager; /** * 注册广播接收器 */ private void receiveAdDownload() { ...

  10. ACM之路(19)—— 主席树初探

    长春赛的 I 题是主席树,现在稍微的学了一点主席树,也就算入了个门吧= = 简单的来说主席树就是每个节点上面都是一棵线段树,但是这么多线段树会MLE吧?其实我们解决的办法就是有重复的节点给他利用起来, ...