.内置函数,文档连接
.Unicode编码值连接
1. for 循环
格式:
for 临时变量 in 可迭代对象:
(可迭代对象:有序)
作用:
1.同while循环一样,给定范围循环
2.对字符串进行遍历
demo:
str1 = "hello"
print(str1) # hello
for i in str1:
print(i) # h e l l o //循环单独输出字符
2.range(, ,)函数
生成一组整数序列
start 开始值 默认为0,可省略
stop 终止值 不包括stop
step 步长 默认为1,可省略
demo:
for i in range(5):
print(i, end='\t') # 0 1 2 3 4
3.循环控制语句
break | 终止当前循环 |
continue | 结束本次循环,继续下一次循环 |
pass | 空语句,为了保持程序结构的完整性 |
4.数据类型—数字
(1)int (整数型)
小整数池:
[-5,256] (系统默认存储了此范围数据)
不同变量其值在小整数池内,其地址相同
python内无固定取值范围,其是动态类型,会自动调整
demo:
import sys
a = 1
print(sys.getsizeof(a)) # 28
a = 66666666666666666666666666666
print(sys.getsizeof(a)) # 40
(2)float 浮点型
(小数)
计算机对浮点数的表达本身不够精确。
计算机是以二进制进行保存的,二进制对一些数不能准确表达,只能非常接近。
demo:
a = 2.6
b = 3.45
c = a + b
print(c)
# 运行结果
6.050000000000001
特殊值
num1 = float('inf') # inf 无穷大
num2 = float('-inf') # -inf 无穷小
num3 = float('NaN') # NaN 不是数字
(3)complex 复数
(和数学内的定义相同)
实部 + 虚部 = 复数
科学计数(2+3j)虚部用 j 或 J
(4)bool 布尔值 (0,1)
特殊整数,只有两值 0 True 1 Flase
通常在逻辑运算中得到体现:
and 逻辑与 全真为真,一假则假
or 逻辑或 一真则真,全假则假
not 逻辑非 真为假,假为真
布尔数据的短路:
and :
前表达式为假,直接结束,后边表达式不再执行。
or :
前表达式为真,直接结束,后边表达式不再执行。
5.数据类型—字符串
(1)定义
(由单双引号包裹的数据)
单行字符串: ' ' " "
多行字符串: """ """ ''' '''
demo:
s1 = "python"
print(s1)
print(type(s1))
s2 = "I'm \"ZS\""
print(s2)
s3 = """
第一行
第二行
第三行
"""
print(s3)
s4 = '''
hhh
gogogo
'''
print(s4)
定义后不能修改
转义字符: \
制表符 \t 相当于tab
换行符 \n
回车符 \r 光标移动到当前这一行的开头
斜线 \\ 把斜线转义,使其成为一个普通字符
(2)字符串访问
下标访问
(只可访问单个字符)
下标就是编号,从左向右访问,从0开始;
从右向左访问,从-1开始。
格式:变量名[下标]
demo:
s1 = "hello\nworld\thqyj"
print(s1)
print(s1[0])
print(s1[6])
print(s1[-1])
print(s1[-6])
切片访问
(可访问多个字符串)
格式: 变量名[start:stop:step]
(和range类似)
start : 起始位置 默认为开始位置 0
stop: 终止位置 默认到字符串结束;设了终止位置,执行时不包括终止位置。
step: 步长 默认为1
demo:
s1 = "hello world hqyj"
print(s1)
print(s1[::])
print(s1[6:11:])
print(s1[-1:-4:-1])
print(s1[::-1])
print(s1)
# 输出:
hello world hqyj
hello world hqyj
world
jyq
jyqh dlrow olleh
hello world hqyj
(3)字符串的比较
(逐个比较,从第一个字符开始,若Unicode编码值相同,再往下比,直到结束)
(4)字符串的加法、乘法
+ : 把两个字符串拼接在一起
* : 乘以几就把这个字符串复制几次
demo:
s1 = "hello "
s2 = "world"
print(s1 + s2)
print(s1 * 3)
print(s1)
print(s2)
# 输出:
hello world
hello hello hello
hello
world
(5)字符串相关函数
查询函数:
find | 检测此字符串是否包含某字符或字符串,如果有则返回首次出现的下标,没有则返回-1 |
index | 检测此字符串是否包含某字符或字符串,如果有则返回首次出现的下标,没有则报错 |
rfind | 从右向左 |
rindex | 从右向左 |
demo:
s1 = "hello world"
# find
print(s1.find('l'))
print(s1.find('ld'))
print(s1.find('p'))
# 输出:2 9 -1
# index
print(s1.index('l'))
print(s1.index('lo'))
print(s1.index('a'))
# 输出:2 3 报错
# rfind rindex
print(s1.rfind('l'))
print(s1.rindex('l'))
# 输出:9 9
转换函数
(不改变原字符串,输出其副本的修改)
upper | 转大写 |
lower | 转小写 |
title | 每个单词首字母大写 |
s2 = "helLo woRLD"
print(s2.upper())
print(s2.lower())
print(s2.title())
print(s2)
# 输出:
HELLO WORLD
hello world
Hello World
helLo woRLD
判断函数
startswith | 判断字符串是否以obj开头,True False |
endswith | 判断字符串是否以obj结尾,True False |
isspace | 判断字符串是否只由空格组成 |
isalnum | 判断字符串是否由数字和字母组成 |
isdigit | 判断字符串是否为纯数字 |
isalpha | 判断字符串是否为纯字母 |
s1 = 'hello WORLD'
print(s1.startswith('he'))
print(s1.endswith('LD'))
s2 = ' a '
print(s2.isspace())
s3 = 'sdfkdsnf343kk3k'
print(s3.isalnum())
s4 = '23343'
print(s4.isdigit())
s5 = "dsdsfkd"
print(s5.isalpha())
# 输出:
True
True
False
True
True
True
分割函数
partition | 分割,分割成三部分,分割的内容为元组的形式 |
rpartition | 从右向左分割三次,内容也为元组的形式 |
split | 指定分割 |
splitlines | 按行分割(\n) |
demo:
demo:
str1 = "my name is jie"
print(str1.partition(' '))
print(str1.partition('is'))
print(str1.partition('jie'))
print(str1.rpartition(' '))
print(str1.split())
# a, b, c = input().split('')
# print(a, b, c)
print(str1.split(' ', 2))
str2 = "gogogo\ntototo"
print(str2.splitlines())
str2 = "gogogotototo"
print(str2.splitlines())
# 输出:
('my', ' ', 'name is jie')
('my name ', 'is', ' jie')
('my name is ', 'jie', '')
('my name is', ' ', 'jie')
['my', 'name', 'is', 'jie']
['my', 'name', 'is jie']
['gogogo', 'tototo']
['gogogotototo']
其他函数
len | 计算字符串长度 | |
count | 计算字符串内某字符串出现的次数 | |
join | 把序列中的元素连接成新字符串 | |
replace | 把字符串中所有的str1替换成str2,也可指定替换次数 | |
capitalize | 首字母大写 |
均改变副本,不改变原数据
demo:
str1 = "hello world"
print(len(str1))
s = 0
for i in str1:
s += 1
for i in range(s):
print(str1[i])
print()
# 两者效果相同
for i in range(len(str1)):
print(str1[i])
str1 = "hello world"
print(str1.count('ll'))
li1 = "a", "b", "c"
li2 = "abc", "abcd", "ccd"
str3 = '♥'
print(str3.join(li1))
print(str3.join(li2))
print(str1.replace('l', 'b'))
print(str1.replace('l', 'b', 2))
print(str1)
print(str1.capitalize())
# 输出:
1
a♥b♥c
abc♥abcd♥ccd
hebbo worbd
hebbo world
hello world
Hello world