Python学习(三)——Python的运算符和数值、字符的类中方法
Python开发IDE
PyCharm,eclipse
PyCharm的基础用法
全部选中后 Ctrl+?全部变为注释
运算符
结果为值的运算符
算术运算符:
+ - * / % // **
赋值运算符:
count = count + 1 <==> count += 1
count = count - 1<==> count -= 1
count = count * 1<==> count *= 1
count = count / 1<==> count /= 1
......
结果为布尔值的运算
比较运算:
==等于 >大于 <小于 >=大于等于 <=小于等于 != <> 不等于
成员运算:
in和not in:判断某个东西是否包含在某个东西里面(判断子字符串(子序列)是否在字符串中),结果是布尔值
name = 'Jennifer'
"""
'Jennifer'字符串
其中单个J字符
但是'J'是由单个字符构成的字符串
"""
if 'J' in name:
print('Yes')
else:
print("no")
逻辑运算:
not 取反 and且 or或
运算的顺序:
先计算括号内
再从前到后
True+or→True
True+and→继续判断
False+or→继续判断
True+and→False
数据类型
数字
#Python3中,不管多少位数字、多大值都是int类型
#Python2中,整型int类型和长整型long类型
所有功能都在int里。 输入int,选中后按住Ctrl键即可查看
int(a,base=b)
将字符串以b进制的数字转换为10进制.
a.bit_length()
将这个数转换为2进制表示的最少位数
布尔值
bool
字符串
str类型,一旦创建不可修改,一旦修改或拼接,都会重新生成新的字符串
.replace()
按照设置进行指定的替换
m = "abcabcabc"
m1 = m.replace("ab","")
m2 = m.replace("ab","",2)
print(m1,m2)
"""
12c12c12c 12c12cabc
"""
.capitalize()
首字母大写
.casefold() 或者 .lower()
变小写,但前者功能更全面,后者有局限性
.center(self, width, fillchar=None)
设置宽度,并将内容居中
fillchar=None,说明可以不用填,默认“None”
width说明必须填写
e = 'abcd'
e1 = e.center(20,"*")
print(e,e1)
#abcd ********abcd********
.ljustr(self, width, fillchar=None)
设置宽度,并将内容至于最左
e = 'abcd'
e2 = e.ljust(20,"%")
print(e,e2)
#abcd abcd%%%%%%%%%%%%%%%%
.rjustr(self, width, fillchar=None)
设置宽度,并将内容至于最右
e = 'abcd'
e3 = e.rjust(20,"^")
print(e,e3)
#abcd ^^^^^^^^^^^^^^^^abcd
.zfill()
设置宽度,内容置于最右,并用0填充
e = 'abcd'
e4 = e.zfill(20)
print(e4)
#0000000000000000abcd
.count()
去字符串中寻找子序列出现的次数,可设置起始位置和终止位置
.find()
从开始往后找,获取其第一次出现的位置。找不到返回-1
一般来说,指定查找区间为≥和<
.index() ——避免使用
从开始往后找,获取其第一次出现的位置,若找不到直接报错
.format()
格式化,将一个字符串中的占位符替换为指定值。占位符既可以是对应关系,也可以是0,1,2...
test = 'I am {name}'
v = test.format(name = 'Alex')
print(v)
#I am Alex
test = 'I am {name}, like {hobby}!'
v = test.format(**{"name":"Jenny","hobby":"sleeping"})
print(v)
#I am Jenny, like sleeping!
.format_map()
test = 'I am {name}, age {a}'
v = test.format_map({"name": "Alex", "a":13})
print(v)
#I am Alex, age 13
test = 'I am {name}, age {a}'
v = test.format_map({'name': 'Alex', 'a':13})
print(v)
#I am Alex, age 13
.isalnum()
判断字符串中是否只包含字母和数字,返回布尔值
.isalpha()
判断字符串中是否只包含字母(包括汉字),返回布尔值
.isnumeric() 或 .isdigit() 或 .isdecimal()
判断字符串中是否只包含数字,返回布尔值,普适性由高到低排列,比如第一个识别中文二,中间的可以识别②,而最后一个这些都不识别
.startswith() 或.endswith()
判断是否以xx开始或以xx结尾,结果返回布尔值
.isientifier()
判断是否是标识符,标识符即字母、数字和下划线组成的变量
a = 'kez_1'
x = a.isidentifier()
print(x,a)
#True kez_1
.isprintable()
判断是否包含不可见的字符,\t \n都不可见
.isspace()
判断是否全部是空格
.istitle()
判断是否每个单词都首字母大写
b = 'I Am Jennifer'
b1 = b.istitle()
print(b1,b)
#True I Am Jennifer
c = 'I am Jennifer'
c1 = c.istitle()
print(c1,c)
#False I am Jennifer
.title()
将字符串改成标题型
d = 'a cute dog'
d1 = d.title()
print(d1)
#A Cute Dog
.islower() .lower()
判断字符串是否全是小写 及 将字符串全部转化为小写
.isupper() .upper()
判断字符串是否全是大写 及 将字符串全部转化为大写
.swapcase()
大小写字母相互转换
m = "English IS poor"
m1 = m.swapcase()
print(m1)
#eNGLISH is POOR
.lstrip() .rstrip() .strip()
去除左、右或左和右的空白和\n和\t,也可以指定去除最长公共子序列(比如字符块)
e = ' ab cd '
e1 = e.lstrip()
e2 = e.rstrip()
e3 = e.strip()
print(e)
print(e1)
print(e2)
print(e3)
"""
ab cd
ab cd
ab cd
ab cd
"""
f = 'abcdab'
e1 = f.lstrip('ab')
e2 = f.rstrip('hhab')
e3 = f.strip('lab')
print(f)
print(e1)
print(e2)
print(e3)
"""
abcdab
cdab
abcd
cd
"""
.maketrans() .translate()
设置对应关系,并用对应关系进行相应替换
initial_code = "一二三四五"
final_code = ""
m = str.maketrans(initial_code,final_code)
v = "一个小朋友买了五朵花另外三个小朋友买了四个花盆"
new_v = v.translate(m)
print(new_v)
#1个小朋友买了5朵花另外3个小朋友买了4个花盆
.partition() .rpartition() .split() .rsplit()
按照一定规则分割
m = "1*2*3*4*2+3*4+5*50"
m1 = m.partition("*")
m2 = m.rpartition('*')
m3 = m.split('*')
m4 = m.rsplit('*',4)
print(m1)
print(m2)
print(m3)
print(m4)
"""
('1', '*', '2*3*4*2+3*4+5*50')
('1*2*3*4*2+3*4+5', '*', '50')
['1', '2', '3', '4', '2+3', '4+5', '50']
['1*2*3', '4', '2+3', '4+5', '50'] """
.splitlines()
True False:是否保留换行
m = "English\nis\treally\nfun"
m1 = m.splitlines()
m2 = m.splitlines(False)
m3 = m.splitlines(True)
print(m1)
print(m2)
print(m3)
"""
['English', 'is\treally', 'fun']
['English', 'is\treally', 'fun']
['English\n', 'is\treally\n', 'fun'] """
.expandtabs()
依据括号内的数字断句,适合做表格
test = '1234567\t123456789\tabcd'
v = test.expandtabs(6)
print(v)
#1234567 123456789 abcd
#第一个空了五格,第二个空了三格
information = 'jenny\tfamale\tjenny@126.com\ncc\tmale\t\cc@qq.com\nkat\tfemale\tkattie@163.com'
v = information.expandtabs(15)
print(v)
"""
jenny famale jenny@126.com
cc male \cc@qq.com
kat female kattie@163.com """
.join()
将字符串的每个元素按照指定分隔符进行拼接
e = '你是风儿我是沙'
t = '_'
e1 = t.join(e)
print(e1)
#你_是_风_儿_我_是_沙
e2 = '*'.join(e)
print(e2)
#你*是*风*儿*我*是*沙
索引,下标 ,切片
获取字符串中的某一个字符或某个字符串
m = "english"
m1 = m[0]
m2 = m[1]
m3 = m[0:4]
m4 = m[0:-1]
m5 = m[1:-1]
print("1th:",m1,"2nd:",m2,"1th~4th:",m3,"first~the next to last:",m4,"2nd~ the next to last:",m5)
"""
1th: e 2nd: n 1th~4th: engl first~the next to last: englis 2nd~ the next to last: nglis
"""
len('abcd')
获取当前字符由几个字符组成,用在列表中是获取当前列表的组成元素个数(用“,”分开的部分)
注意:Python 3 中 一个中文是一个字符
Python 2 中一个中文是三个字符
m = "我是一个女侠"
index = 0
leng = len(m)
while index < leng:
print(m[index])
index += 1
print("==========")
"""
我
是
一
个
女
侠
==========
"""
for循环:
for 变量名 in 字符串,索引切片都能用
m = "我是一个女侠"
for lala in m:
print(lala)
"""
我
是
一
个
女
侠
"""
range(x)
创建连续的数字,默认步长为1、大于等于0,小于x的整数,也可以设置步长来指定不连续数
将range(x)与for in结合起来,可以将索引打出来。
m = input(">>>")
m1 = range(len(m))
for item in m1:
print(item,m[item])
"""
>>>abcdefg
0 a
1 b
2 c
3 d
4 e
5 f
6 g
"""
列表
list
元组
tuple
字典
dict
Python学习(三)——Python的运算符和数值、字符的类中方法的更多相关文章
- python学习笔记四 (运算符重载和命名空间、类)
从以上代码中应该了解到: obj.attribute 查找的顺序: 从对象,类组成的树中,从下到上,从左到右到查找最近到attribute属性值,因为rec中存在name的属性,所以x.name可以 ...
- Python学习day05 - Python基础(3) 格式化输出和基本运算符
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- Python学习day09 - Python进阶(3)
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- Java学习笔记(七)——获取类中方法的信息,java的LinkedList
[前面的话] 在实际项目中学习知识总是最快和最有效的,既能够较好的掌握知识,又能够做出点东西,还是简单的知识总结,最近一直在总结笔记,写的东西还是比较水,希望慢慢可以写出一些干货. 学习过程中的小知识 ...
- Python学习三天计划-3
面向对象 一.类的定义 1.类定义 class是关键字,表示要定义类了 类的属性,即定义在类中的变量(成员变量) 类的行为,即定义在类中的函数(成员方法) 2.对象 创建类对象的语法: class S ...
- Python学习day07 - Python进阶(1) 内置方法
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- Python学习笔记—Python基础1 介绍、发展史、安装、基本语法
第一周学习笔记: 一.Python介绍 1.Python的创始人为吉多·范罗苏姆.1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言 ...
- python学习笔记-python程序运行
小白初学python,写下自己的一些想法.大神请忽略. 安装python编辑器,并配置环境(见http://www.cnblogs.com/lynn-li/p/5885001.html中 python ...
- Python学习(一) Python安装配置
我本身是Java程序猿,听说Python很强大,所以准备学习一下Python,虽说语言都是相同的,但java跟python肯定还是有区别的.希望在此记录一下自己的学习过程. 目前,Python分2.X ...
随机推荐
- [Codechef - ADITREE] Adi and the Tree - 树链剖分,线段树
[Codechef - ADITREE] Adi and the Tree Description 树上每个节点有一个灯泡,开始所有灯泡都是熄灭的.每次操作给定两个数 \(a,b\) ,将 \(a,b ...
- A New Recurrence-Network-Based Time Series Analysis Approach for Characterizing System Dynamics - Guangyu Yang, Daolin Xu * and Haicheng Zhang
Purpose: characterize the evolution of dynamical systems. In this paper, a novel method based on eps ...
- Netcat工具
一般Netcat有两个版本,一个版本是不提供反向连接的版本,一个是全功能版本.这两者的区别就是是否带-e参数,只有带-e参数的版本才支持反向连接. 参数说明 -c shell commands she ...
- Python爬虫之post请求
暑假放假在家没什么事情做,所以在学习了爬虫,在这个博客园里整理记录一些学习的笔记. 构建表单数据(以http://www.iqianyue.com/mypost 这个简单的网页为例) 查看源代码,发现 ...
- e.printStackTrace()打印在哪里以及如何e.printStackTrace()的内容打印在日志中
1.e.printStackTrace()打印在哪里 在catch中的e.printStackTrace()将打印到控制台 2.e.printStackTrace()打印的内容是什么 如下代码: im ...
- 第三十一篇 玩转数据结构——并查集(Union Find)
1.. 并查集的应用场景 查看"网络"中节点的连接状态,这里的网络是广义上的网络 数学中的集合类的实现 2.. 并查集所支持的操作 对于一组数据,并查集主要支持两种操作:合并两 ...
- FLAG-回归C++,JAVA什么的等学校教吧
以后刷OJ还是写C++,昂啊! 除非我觉得JAVA更好用
- MySQL关于GTID的一些功能限制
参考文献:https://www.cnblogs.com/luckcs/articles/6295992.html 更新非事务引擎: Case重现: master:对一个innodb表做一个多sql更 ...
- 云原生学习笔记(3)——Kubernetes基本概念
学习地址:https://developer.aliyun.com/lesson_1651_13078?spm=5176.270689.1397405.6.716ef5f8Q9z1z3#_13078 ...
- webpack4.41.0配置二(加载器_url-loader/babel-loader/sass-loader)
loader是webpack用来预处理源文件的,比如typesrcipt形式的文件最终都得转成浏览器可以执行的js文件 (注:以下的配置代码不一定与下方一摸一样,具体与官网上https://webpa ...