python基础语法总结(三)-- 数与字符串

半城伤御伤魂 提交于 2019-12-08 04:48:17

python常用系统函数方法与模块

python基础语法总结(一)-- python类型转换函数+文件读写

python基础语法总结(二)-- 函数function

python基础语法总结(三)-- 数与字符串

python基础语法总结(四)-- list列表

python基础语法总结(五)-- 字典dic + 元组tuple

python基础语法总结(六)-- python类与OOP面向对象特性

 


一. 数

1. 基本操作

'''数型'''
# 八进制表示
a = 0o123                   # python八进制用前缀 0o表示,与C、java的前缀0稍有不同
print(a)                    # 十进制83

# 复数 complex
m = 9 + 3j                  #复数定义

# 整数相除的精度问题
print(3/2)          #小数1.5 (python3)
print(3//2)         #整数1 (python3)

# n次方
print(3**2)         # 求平方 得到9

#浮点数精度损失
print(2.3 - 1.3)    # float计算时,有可能会出现浮点数精度损失的问题

# python对大整数的支持
a = 99**99          # a特别大,已经超过了int和long的储存范围,但python存储和处理都无压力

 

2. 数的处理:math模块

'''math模块'''
from math import *
x = 0.5 ; y=0.5
sin(x)          # 即math.sin(),求正弦
cos(x)          # 余弦
asin(x)         # 反正弦
acos(x)         # 反余弦
tan(x)          # 正切
atan(x)         # 余切
hypot(x,y)      # 直角三角形的斜边长度
fmod(x,y)       # 求x/y的余数
ceil(x)         # 取不小于x的最小整数
floor(x)        # 取不大于x的最大整数
fabs(x)         # 求绝对值
exp(x)          # 求e的x次幂
pow(x,y)        # 求x的y次幂
log10(x)        # 求以10位底的x的对数
sqrt(x)         # 求x的平方根
pi              # π 3.1415926...

 

3. 随机数 random

### 随机数
import random
print(random.random())                  # 产生 0 到 1 之间的随机浮点数
print(random.randint(1, 100))           # 产生 1 到 100 的一个整数型随机数  
print(random.uniform(0.1, 7.9))         # 产生  0.1 到 7.9 之间的随机浮点数,区间可以不是整数
print(random.choice('hello world'))     # 从序列中随机选取一个元素
print(random.randrange(1,100,5) )       # 生成从1到100的间隔为5的随机整数

 

二. 字符串

1. 定义

'''
字符串
'''
message = "hello world~"    #变量赋值语句,不需要var、public、int等关键字
a1, a2, a3 = '1', '2', '3'      # 多变量赋值
print(message)              #打印语句,本例中,控制台输出:hello world~

 

2. 字符串属性 

### 字符串属性
type(message)               #得到变量的实际数据类型,本例:str
len(message)                #返回字符串长度,本例:12

message.count('o')          #某个子字符串在其中出现的次数,未出现为0,本例:2
message.find('w')           #某个子字符串在其中第一次出现的位置,不存在为-1,本例:6

message.join("123")         #连接字符串,将原字符串插入参数字符串中每两个字符之间 本例: '1hello world~2hello world~3'
str.join(message,'123')         # 连接字符串,本例: '1hello world~2hello world~3'
message + "123"             # 拼接两个字符串,本例:'hello world~123'
message.split()             # 分割字符串,默认用空格分割,本例:['hello', 'world~']
message.split('o')              # 分割字符串, 本例:['hell', ' w', 'rld~']
message * 3                 # 复制字符串,再拼接。 本例:'hello world~hello world~hello world~'

 

3. 字符串分片

# 字符串分片(截取)
message[1:3]                # 截取第二、三个字符的新字符串
message[3:-2]               # 截取第四到倒数第三个字符串。本例:'lo worl'

 

4. 字符串判断

### 判断
'86GEsdEW'.isalnum()        # 检测字符串是否只包含 0-9A-Za-z 本例:True
'86GEsd&EW'.isalnum()           # 因有'&' 本例:False
'B23dds'.isalpha()          # 检测字符串是否仅包含 A-Za-z(纯字母),本例:False
"Hello".isalpha()               # 本例True
'B23dds'.isdigit()          # 检测字符串是否仅包含数字
'123'.isdigit()                 # 本例False
message.isspace()           # 检测所有字符是否均为空白,本例:False
'  '.isspace()                  # 本例True
message.istitle()           # 检测字符串中单词是否为首字母大写
message.isupper()           # 检测字符串是否都为大写

'or' in message             # 判断message中是否存在:'or'子字符串,本例:True

 

5. 大小写转换

### 大小写转换,原字符串不会变,只是返回新值
message.upper()             #字符串中字母全部转为大写返回,本例:HELLO WORLD~
message.lower()             #字符串中字母全部转为小写返回,本例:hello world~
message.title()             #字符串每个单词首字母大写,本例:Hello World~
message.capitalize()        #句子中首个单词大写,本例:Hello world~
message.center(30)          #将字符串居中,并使用空格填充至长度 width 的新字符串,本例:'         hello world~         '
message.swapcase()          #字符串大小写全部翻转,本例:hELLO wORLD~

 

6. 去除空格

### 去除空格,字符串本身没变
str_ = ' example word    '
str_.strip()                #两端去空格,本例:'example word'
str_.rstrip()               #右侧(right)去空格,本例:' example word'
str_.lstrip()               #左侧(left)去空格,本例:'example word    '

 

7. 格式化字符串

### 格式化字符串
# 在python中,可以在字符串中使用以 % 开头的字符,使得脚本中改变字符串中的内容 #
"""
%c : 单个字符
%d : 十进制数字
%o : 八进制数字
%s : 字符串
%x : 十六进制数字,其中字母小写
%X : 十六进制数字,其中字母大写
"""
template = "Your name is %s"
print(template % '小明')          # 打印:Your name is 小明,
'%s is %d years old' % ('小红', 20)       # 多个参数替换   结果:'小红 is 20 years old'

# 原始字符串,不再转义
s = r"c:\user\123.txt"              #字符串前加r,则字符串中转义不再生效

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!