Python基础总结(字符串常用,数字类型转换,基本运算符与流程控制)
一.字符串常用操作
- #Python strip() 方法用于移除字符串头尾指定的字符(默认为空格)
- name='*egon**'
- print(name.strip('*'))#移除 name 变量对应的值两边的*,并输出处理结果
- print(name.lstrip('*'))#移除 name 变量左边的*,并输出处理结果
- print(name.rstrip('*'))#移除 name 变量右边的*,并输出处理结果
- #startswith,endswith
- name='alex_SB'
- print(name.endswith('SB'))#判断 name 变量对应的值是否以 "SB" 结尾,并输出结果
- print(name.startswith('alex'))#判断 name 变量对应的值是否以 "alex" 开头,并输出结果
- #replace
- name='alex say :i have one tesla,my name is alex'#将 name 变量对应的值中的第一个“alex” 替换为 “SB”,并输出结果
- print(name.replace('alex','SB',1))#若数字1变为2,则两个alex都为SB
- #format的三种玩法,定义打印顺序
- res='{} {} {}'.format('egon',18,'male')
- res='{1} {0} {1}'.format('egon',18,'male')
- res='{name} {age} {sex}'.format(sex='male',name='egon',age=18)
- res='{name} {sex} {age}'.format(sex='male',name='egon',age=18)
- print(res)
- #find,rfind,index,rindex,count
- name='egon say hello'
- print(name.find('o',1,3)) #顾头不顾尾,找不到则返回-1不会报错,找到了则显示索引,
- # 即在第一至第4个字符中查找字符“O”
- # print(name.index('e',2,4)) #同上,但是找不到会报错
- print(name.count('e',1,3)) #顾头不顾尾,如果不指定范围则查找所有
- # 用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置
- #split
- name='root:x:0:0::/root:/bin/bash'
- print(name.split(':')) #默认分隔符为空格
- name='C:/a/b/c/d.txt' #只想拿到顶级目录
- print(name.split('/',1))
- name='a|b|c'
- print(name.rsplit('|',1)) #从右开始切分,移除|
- #join:Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串
- tag=' '
- print(tag.join(['egon','say','hello','world'])) #可迭代对象必须都是字符串
- #center,ljust,rjust,zfill
- name='egon'
- print(name.center(30,'-'))#用-填充在两边位置
- print(name.ljust(30,'*'))#用*填充在右边位置
- print(name.rjust(30,'*'))#用*填充在左边位置
- print(name.zfill(50)) #用0填充在左边
- #expandtabs:把字符串中的 tab 符号('\t')转为空格,tab 符号('\t')默认的空格数是 8
- name='egon\thello'
- print(name)
- print(name.expandtabs(1))#使用1个空格替换 '\t'
- #lower,upper
- name='egon'
- print(name.lower())# 方法转换字符串中所有大写字符为小写
- print(name.upper())# 方法转换字符串中所有小写字符为大写
- #captalize,swapcase,title
- print(name.capitalize()) #首字母大写
- print(name.swapcase()) #大小写翻转
- msg='egon say hi'
- print(msg.title()) #每个单词的首字母大写
- #is数字系列
- #在python3中
- num1=b'' #bytes
- num2=u'' #unicode,python3中无需加u就是unicode
- num3='四' #中文数字
- num4='Ⅳ' #罗马数字
- #isdigt:bytes,unicode
- print(num1.isdigit()) #True
- print(num2.isdigit()) #True
- print(num3.isdigit()) #False
- print(num4.isdigit()) #False
- #isdecimal:uncicode
- #bytes类型无isdecimal方法
- print(num2.isdecimal()) #True
- print(num3.isdecimal()) #False
- print(num4.isdecimal()) #False
- #isnumberic:unicode,中文数字,罗马数字
- #bytes类型无isnumberic方法
- print(num2.isnumeric()) #True
- print(num3.isnumeric()) #True
- print(num4.isnumeric()) #True
- #三者不能判断浮点数
- num5='4.3'
- print(num5.isdigit())
- print(num5.isdecimal())
- print(num5.isnumeric())
- '''
- 总结:
- 最常用的是isdigit,可以判断bytes和unicode类型,这也是最常见的数字应用场景
- 如果要判断中文数字或罗马数字,则需要用到isnumeric
- '''
- #is其他
- print('===>')
- name='egon123'
- print(name.isalnum()) #判断字符串由字母和数字组成
- print(name.isalpha()) #判断字符串只由字母组成
- print(name.isidentifier())
- print(name.islower())#lower() 方法检测字符串是否由小写字母组成。
- print(name.isupper())#isupper() 方法检测字符串中所有的字母是否都为大写。
- print(name.isspace())#描述 Python isspace() 方法检测字符串是否只由空格组成。
- print(name.istitle())#描述 istitle() 方法检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写
- 字符串常用
字符串常用操作
二.数据类型内置转换函数
注:针对acsii表unichr在python2.7中比chr的范围更大。在python3中chr内置了unchir
三.运算符
1.算数运算
2.比较运算
3.赋值运算
4.位运算
注: ~ 举例: ~5 = -6 解释: 将二进制数+1之后乘以-1,即~x = -(x+1),-(101 + 1) = -110
按位反转仅能用在数字前面。所以写成 3+~5 可以得到结果-3,写成3~5就出错了
5.逻辑运算
and注解:
- 在Python 中,and 和 or 执行布尔逻辑演算,如你所期待的一样,但是它们并不返回布尔值;而是,返回它们实际进行比较的值之一。
- 在布尔上下文中从左到右演算表达式的值,如果布尔上下文中的所有值都为真,那么 and 返回最后一个值。
- 如果布尔上下文中的某个值为假,则 and 返回第一个假值
or注解:
- 使用 or 时,在布尔上下文中从左到右演算值,就像 and 一样。如果有一个值为真,or 立刻返回该值
- 如果所有的值都为假,or 返回最后一个假值
- 注意 or 在布尔上下文中会一直进行表达式演算直到找到第一个真值,然后就会忽略剩余的比较值
and-or结合使用:
- 结合了前面的两种语法,推理即可。
- 为加强程序可读性,最好与括号连用,例如:
- (1 and 'x') or 'y'
6.成员运算
7.身份运算
8.运算符的优先级:自上而下,优先级从高到低
四.流程控制
1、if语法:
if 条件:
子代码
elif 条件:
子代码
else:
子代码
例如:
- age=63
- age = int(input("老男孩的age是:") )
- if age > 63 :
- print("too big")
- elif age < 63 :
- print("too small")
- else:
- print("you get it")
- 猜年龄
猜年龄
总结:
- if 后表达式返回值为True则执行其子代码块,然后此if语句到此终结,否则进入下一分支判断,直到满足其中一个分支,执行后终结if
- expression可以引入运算符:not,and,or,is,is not
- 多重expression为加强可读性最好用括号包含
- if与else缩进级别一致表示是一对
- elif与else都是可选的
- 一个if判断最多只有一个else但是可以有多个elif
- else代表if判断的终结
- expession可以是返回值为布尔值的表达式(例x>1,x is not None)的形式,也可是单个标准对象(例 x=1;if x:print('ok'))
- 所有标准对象均可用于布尔测试,同类型的对象之间可以比较大小。每个对象天生具有布 尔 True 或 False 值。空对象、值为零的任何数字或者 Null 对象 None 的布尔值都是 False。
下列对象的布尔值是 False
2、while循环
作用:
while循环的本质就是让计算机在满足某一条件的前提下去重复做同一件事情(即while循环为条件循环,包含:1.条件计数循环,2条件无限循环)
这一条件指:条件表达式
同一件事指:while循环体包含的代码块
重复的事情例如:从1加到10000,求1-10000内所有奇数,服务等待连接
语法:
while 条件
执行子代码
满足条件循环执行直到条件不满足。
死循环
while true:
print(ok)
循环终止语句:
- break用于完全结束一个循环,跳出循环体执行循环后面的语句
- continue和break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全终止循环
- count=0
- while (count < 9):
- count+=1
- if count == 3:
- print('跳出本层循环,即彻底终结这一个/层while循环')
- break
- print('the loop is %s' %count)
- break跳出本层循环
break跳出本层循环
- count=0
- while (count < 9):
- count+=1
- if count == 3:
- print('跳出本次循环,即这一次循环continue之后的代码不再执行,进入下一次循环')
- continue
- print('the loop is %s' %count)
- continue跳出本次循环
continue跳出本次循环
- count=0
- while (count < 9):
- count+=1
- if count == 3:
- print('跳出本次循环,即这一次循环continue之后的代码不再执行,进入下一次循环')
- continue
- print('the loop is %s' %count)
- else:
- print('循环不被break打断,即正常结束,就会执行else后代码块')
- count=0
- while (count < 9):
- count+=1
- if count == 3:
- print('跳出本次循环,即这一次循环continue之后的代码不再执行,进入下一次循环')
- break
- print('the loop is %s' %count)
- else:
- print('循环被break打断,即非正常结束,就不会执行else后代码块')
- else在循环完成后执行,break会跳过else
else在循环完成后执行,break会跳过else
- name= "user"
- passwd="password"
- n=1
- while n<=3:
- x = 3 - n
- name = input("请输入用户名:")
- if name=="user":
- passwd = input("请输入密码:")
- if passwd == "password":
- print("登陆成功")
- break
- else:
- print("密码错误,请重新输入,您还有",x,"次机会")
- while n<=2:
- y = 2 - n
- passwd = input("请输入密码:")
- if name == "user" and passwd == "password":
- print("登陆成功")
- break
- else:
- print("密码错误,请重新输入,您还有",y,"次机会")
- n+=1
- else :
- print("用户名有误,请重新登陆,您还有",x,"次机会")
- n+=1
- 用户登录三次
用户三次登录
- i=1
- n=0
- while i<=99:
- if i % 2 == 1:
- n=n+i
- else:
- n=n-i
- i+=1
- print(n)
- 1-2+3-4+5 ... 99的所有数的和
1-2+3-4+5.......99的所有数的和
- Cyle = 0
- while Cyle <= 9:
- Cyle += 1
- if Cyle == 7:
- print(" ")
- else:
- print(Cyle)
- 使用while循环输出1 2 3 4 5 6 8 9 10
使用while循环输出1 2 3 4 5 6 8 9 10
- i=1
- n=0
- while i<=100:
- n =n +i
- i+=1
- print(n)
求1-100所有数的和
- #奇数
- i=0
- while i<100:
- i+=1
- if i % 2 == 1:
- print(i)
- #偶数
- i=0
- while i<100:
- i+=1
- if i % 2 == 0:
- print(i)
- 输出 1-100 内的所有奇数、偶数
输出1-100内所有的奇数,偶数
Python的字符串内建函数
python的常用内建函数如下:
序号 | 方法及描述 |
---|---|
1 |
capitalize() |
2 |
返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。 |
3 |
count(str, beg= 0,end=len(string)) 返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数 |
4 |
bytes.decode(encoding="utf-8", errors="strict") Python3 中没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode() 来编码返回。 |
5 |
encode(encoding='UTF-8',errors='strict') 以 encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,除非 errors 指定的是'ignore'或者'replace' |
6 |
endswith(suffix, beg=0, end=len(string)) |
7 |
把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8 。 |
8 |
find(str, beg=0 end=len(string)) 检测 str 是否包含在字符串中 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1 |
9 |
index(str, beg=0, end=len(string)) 跟find()方法一样,只不过如果str不在字符串中会报一个异常. |
10 |
如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False |
11 |
如果字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False |
12 |
如果字符串只包含数字则返回 True 否则返回 False.. |
13 |
如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False |
14 |
如果字符串中只包含数字字符,则返回 True,否则返回 False |
15 |
如果字符串中只包含空格,则返回 True,否则返回 False. |
16 |
如果字符串是标题化的(见 title())则返回 True,否则返回 False |
17 |
如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False |
18 |
以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串 |
19 |
返回字符串长度 |
20 |
返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。 |
21 |
转换字符串中所有大写字符为小写. |
22 |
截掉字符串左边的空格或指定字符。 |
23 |
创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。 |
24 |
返回字符串 str 中最大的字母。 |
25 |
返回字符串 str 中最小的字母。 |
26 |
把 将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次。 |
27 |
rfind(str, beg=0,end=len(string)) 类似于 find()函数,不过是从右边开始查找. |
28 |
rindex( str, beg=0, end=len(string)) 类似于 index(),不过是从右边开始. |
29 |
返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串 |
30 |
删除字符串字符串末尾的空格. |
31 |
split(str="", num=string.count(str)) num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num 个子字符串 |
32 |
按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。 |
33 |
startswith(str, beg=0,end=len(string)) 检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。 |
34 |
在字符串上执行 lstrip()和 rstrip() |
35 |
将字符串中大写转换为小写,小写转换为大写 |
36 |
返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle()) |
37 |
translate(table, deletechars="") 根据 str 给出的表(包含 256 个字符)转换 string 的字符, 要过滤掉的字符放到 deletechars 参数中 |
38 |
转换字符串中的小写字母为大写 |
39 |
返回长度为 width 的字符串,原字符串右对齐,前面填充0 |
40 |
检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false。 |
Python基础总结(字符串常用,数字类型转换,基本运算符与流程控制)的更多相关文章
- python基础(字符串常用、数字类型转换、基本运算符与流程控制)
一.字符串常用操作: #! /usr/bin/env python # -*- coding: utf-8 -*- # __author__ = "Z'N'Y" # Date: 2 ...
- Python基础(2)_if、for、while流程控制
一.流程控制 1.条件语句 1.1单分支 1.2多分支 条件判断 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. a = 5 if a > 2: print('yes') 根据Py ...
- Python基础部分:7、 垃圾回收机制和流程控制
目录 一.垃圾回收机制 1.引用计数 2.标记清除 3.分类代收 二.流程控制 1.理论 2.必备知识 3.分支结构 4.循环结构 一.垃圾回收机制 垃圾回收机制,简称GC,是python解释器自带的 ...
- day2(字符串、格式化输出、运算符、流程控制)
一.字符串 在Python中,加了引号的字符都被认为是字符串! 单引号.双引号.多引号的区别? 单引号和 双引号没有任何区别,但是某种情况下需要单双配合 如 msg = " My name ...
- python基础之字符串常用操作总结
字符串的索引 s = 'ABCDLSESRF' # 索引 这两个很简单没什么说的 s1 = s[0] print(s1) # A s2 = s[2] print(s2) # C 切片 s = 'ABC ...
- Python基础数据类型-字符串(string)
Python基础数据类型-字符串(string) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版 ...
- python基础02—运算符与流程控制
运算符与流程控制 运算符 赋值运算 用'='表示,'='的左边只能是变量 算术运算 +.-.*:加.减.乘 /:除法运算,运算结果为浮点数 //:除法运算,运算结果为整数(商) %:求余 **:求幂 ...
- 【python基础】第06回 运算符和流程控制 1
本章内容概要 1.运算符 2.流程控制 本章内容详解 1.运算符 什么是运算符? 运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算.例如:2+3,其操作数是2和3,而运算符则是" ...
- Linux基础-shell脚本知识整理和脚本编写----------变量、运算符、流程控制、函数、计划任务(发送邮件)
I:知识整理:变量.运算符.流程控制.函数.计划任务 变量 系统变量:set:显示所有变量 env:环境变量 常用系统变量: path pwd lang home his ...
- python 运算符与流程控制
运算符与流程控制 运算符 赋值运算 用'='表示,'='的左边只能是变量 算术运算 +.-.*:加.减.乘 /:除法运算,运算结果为浮点数 //:除法运算,运算结果为整数(商) %:求余 **:求幂 ...
随机推荐
- java.lang.IllegalArgumentException: n must be positive
public static String randomKey(){ Random random = new Random(); int key = random.nextInt(((int)Syste ...
- Hive学习笔记——保存select结果,Join,多重插入
1. 保存select查询结果的几种方式: 1.将查询结果保存到一张新的hive表中 create table t_tmp as select * from t_p; 2.将查询结果保存到一张已经存在 ...
- android之ViewPager修改滑动速度
在android中,使用过viewpager的人都清楚,我们如果使用viewpager进行滑动时,如果通过手指滑动来进行的话,可以根据手指滑动的距离来实现,但是如果通过setCurrentItem函数 ...
- JVM性能调优监控工具专题一:JVM自带性能调优工具(jps,jstack,jmap,jhat,jstat,hprof)
性能分析工具jstatjmapjhatjstack 前提概要: JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps.jsta ...
- python post get请求
安装 Requests pip install requests import requests requests.get('https://github.com/timeline.json') 使用 ...
- zend studio 10.6.2 设置默认编码为UTF-8
如果汉化的:窗体-->常规-->工作空间 然后再选择编码格式 如果未汉化:Window->Preferences->General->wookspace 然后再选 ...
- 利用JQuery jsonp实现Ajax跨域请求 .Net 的*.handler 和 WebService,返回json数据
1:跨域请求handler一般处理程序 using System; using System.Collections.Generic; using System.Web; using System.W ...
- Java WEB应用开发
B/S计算模式的3层架构: 软件设计与开发模式的演化 面向机器语言的开发模式 软件的生命周期开发模式 需求分析 系统设计 系统开发 系统测试 运行和维护 原型法开发模式 面向组件(Component) ...
- UTF8转换为GB编码gb2312转换为utf-8
这个方法是用windows的字符集转换的,跟sybase 的unicode码表可能在某些符号上有差别,对于大部分字符来说,尤其是 汉字,应该不会有问题的,如果要求比较高的话,可以买sybase的 un ...
- 【BZOJ】1665: [Usaco2006 Open]The Climbing Wall 攀岩(spfa)
http://www.lydsy.com/JudgeOnline/problem.php?id=1665 这题只要注意到“所有的落脚点至少相距300”就可以大胆的暴力了. 对于每个点,我们枚举比他的x ...