python基础知识(字符串)
定义字符串
' '单引号 " "双引号 只能用于单行
'" '"三引号 可以用于多行
拼接字符串使用 +号链接
字符串只能链接字符串其他类型字符串需要用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基础知识(字符串)的更多相关文章
- python基础知识——字符串详解
大多数人学习的第一门编程语言是C/C++,个人觉得C/C++也许是小白入门的最合适的语言,但是必须承认C/C++确实有的地方难以理解,初学者如果没有正确理解,就可能会在使用指针等变量时候变得越来越困惑 ...
- python基础知识-字符串
字符串: 赋值方法 a = 'name' a = str('name') 字符串的方法: #!/usr/bin/env python class str(object): ""&q ...
- python基础知识字符串与元祖
https://blog.csdn.net/hahaha_yan/article/details/78905495 一.字符串的类型 ##表示字符串: 'i like the world' " ...
- Python开发【第二篇】:Python基础知识
Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
- python 基础知识(一)
python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...
- python 爬虫与数据可视化--python基础知识
摘要:偶然机会接触到python语音,感觉语法简单.功能强大,刚好朋友分享了一个网课<python 爬虫与数据可视化>,于是在工作与闲暇时间学习起来,并做如下课程笔记整理,整体大概分为4个 ...
- python基础知识小结-运维笔记
接触python已有一段时间了,下面针对python基础知识的使用做一完整梳理:1)避免‘\n’等特殊字符的两种方式: a)利用转义字符‘\’ b)利用原始字符‘r’ print r'c:\now' ...
- Python基础知识(五)
# -*- coding: utf-8 -*-# @Time : 2018-12-25 19:31# @Author : 三斤春药# @Email : zhou_wanchun@qq.com# @Fi ...
- Python 基础知识(一)
1.Python简介 1.1.Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时 ...
- python基础知识部分练习大全
python基础知识部分练习大全 1.执行 Python 脚本的两种方式 答:1.>>python ../pyhton.py 2. >>python.py #必须在首行 ...
随机推荐
- C# class 浅拷贝 与 深拷贝
MemberwiseClone 方法创建一个浅表副本,具体来说就是创建一个新对象,然后将当前对象的非静态字段复制到该新对象.如果字段是值类型的,则对该字段执行逐位复制.如果字段是引用类型,则复制引用但 ...
- 王道机试指南题解(C/C++版)
第 2 章 经典入门 一 排序 例 2.1 排序 代码 2.1 冒泡排序(时间复杂度 \(O(n^2)\)) #include <iostream> using std::cin; usi ...
- 题解 【NOI2010】超级钢琴
[NOI2010]超级钢琴 Description 小Z是一个小有名气的钢琴家,最近C博士送给了小Z一架超级钢琴,小Z希望能够用这架钢琴创作出世界上最美妙的音乐. 这架超级钢琴可以弹奏出n个音符,编号 ...
- mysql修改数据存储路径报错处理
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'解决?: >>> vim ...
- EntityManager的merge()方法
EntityManager的merge()方法相当于hibernate中session的saveOrUpdate()方法: 用于实体的插入和更新操作:
- web文件系统
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 先说下要求: PC端全平台支持,要求支持Windows,Mac,Linux 支持所 ...
- BZOJ 3270: 博物馆 概率与期望+高斯消元
和游走挺像的,都是将概率转成期望出现的次数,然后拿高斯消元来解. #include <bits/stdc++.h> #define N 23 #define setIO(s) freope ...
- Ubuntu安装jdk10
一:去官网下载jdk,和jre 因为jdk10之后jdk和jre是分开的 jdk下载 jre下载 二:解压缩,并放到指定目录 # 创建目录 sudo mkdir /usr/lib/java ...
- JavaScript 实现文件下载并重命名
第一种是HTML官网中的方法<a href="/images/liang.jpg" download="文件名称">HTML5 中 a 标签提供了一 ...
- AcWing:135. 最大子序和(前缀和 + 单调队列)
输入一个长度为n的整数序列,从中找出一段长度不超过m的连续子序列,使得子序列中所有数的和最大. 输入格式 第一行输入两个整数n,m. 第二行输入n个数,代表长度为n的整数序列. 同一行数之间用空格隔开 ...