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 ...
随机推荐
- protel99se无法添加库的解决方法
protel99se是很老也很实用的的一门电类专业需要用到的软件,开发时面向XP,对于win7来说存在一定的不兼容性,导致无法添加新的库,本经验为此介绍解决方法.最全,末尾解决win7 32bit 6 ...
- ubuntu 安装谷歌
下载ubuntugoogle官网:http://www.ubuntuchrome.com/ 我的是ubuntuLTS稳定版: 上传Ubuntu: 执行解压操作: sudo dpkg -i goo ...
- Java连载77-Integer常用方法、Integer、int、String三者相互转化、自动装箱、自动拆箱
一.关于Integer中常用的方法 package com.bjpowernode.java_learning; public class D77_1_ { public static void ...
- MSSQL 打开xp_cmdshell
sp_configure reconfigure go sp_configure reconfigure go
- Java中boolean类型到底占用多少字节(转载)
来源:https://www.cnblogs.com/brucecloud/p/5509921.html 虽然 Java 虚拟机定义了 boolean 这种数据类型,但是只对它提供了非常有限的支持.在 ...
- [ASP.NET]Web网站与Web应用程序区别
[ASP.NET]Web网站与Web应用程序区别 本文链接:https://blog.csdn.net/a954553391/article/details/86403521 前言:在项目开发中, ...
- index unique scan 与index range scan等的区别
存取Oracle当中扫描数据的方法(一) Oracle 是一个面向Internet计算环境的数据库.它是在数据库领域一直处于领先地位的甲骨文公司的产品.可以说Oracle关系数据库系统是目前世界上流行 ...
- 深浅拷贝_python
一.浅拷贝 拷贝第一层的东西,如其他列表修改他们共同的第二层(或更深),他管不了,只能跟着变. 用处:很少用,用不同账号关联共享: import copyhusband= ['chen','123', ...
- C语言编译和链接详解(通俗易懂,深入本质)
我们平时所说的程序,是指双击后就可以直接运行的程序,这样的程序被称为可执行程序(Executable Program).在 Windows 下,可执行程序的后缀有.exe和.com(其中.exe比较常 ...
- MySQL8.0服务启动(windows10)
mysql下载地址:https://dev.mysql.com/downloads/mysql/ 根目录下配置文件:my.ini [mysqld]# 设置3306端口port=3306# 设置mysq ...