Python基础 数据类型(数字类型,字符串)
1,数字类型
a,整数,int 不含小数的数字类型
例1:
str1 = "10"
print( int(str1)) 默认按10进制转换后显示
例2:
num2 = int(3.74)处理浮点数,只留下整数部分,舍弃小数部分(并不是四舍五入操作)
print(num2) 结果是3
b,浮点数 float 浮点数是指一种既包含小数又包含整数的数据类型
例1:浮点数转换
str2 = "3.14"
f1 = float(str2)
print(type(f1)) #<class 'float'>
例2,
f2 = float(10)
print(f2) #10.0
c,复数
complex() 创建复数: 第一个参数是复数的实部,第二个参数是复数的虚数
c1 = 10 + 4j
c2 = complex(10, 4)
print(c1) # (10+4j)
print(c2) # 等同与c1 (10+4j)
数学函数:
1,abs(x) 求绝对值
a = -10
a1= abd(a)
print(a1)
2,max(x,b,c)求最大值
3, min(a,b,c)求最小值
4,pow(x,y) 求x得y次方 x**y
5,round(x.y) 四舍五入
随机数函数:
import random
print(random.random())#取随机小数,绝对不会超过1,,,0.29444687251569135
print(random.uniform(10,200))#取数之间的小数
# 取随机整数,应用:彩票,抽奖
print(random.randint(1,2))#取随机整数,顾头顾尾,[1,2]
print(random.randrange(1,2))#随机取整,顾头不顾尾,[1,2)
print(random.randrange(1,200,2))#在数列里,隔两位随机取值,[1.200)顾头不顾尾
从一个列表中随机抽取值,choice,应用:抽奖
l = ['a','b',(1,2),123]
print(random.choice(l))#随机抽取值
print(random.sample(l,2))#随机抽取2个值
打乱一个列表的顺序,在原列表的基础上直接打乱,节省空间,应用:洗牌
random.shuffle(l)
print(l)
2.字符串:
**以单引号或双引号括起来的任意文本: 'alex' "banana"'
**字符串是不可变的数据类型,不论如何操作都不会改变
字符串输出:
name = 'python-china'
1,直接输出:print(a) # python-china
2,格式化输出:print('本站是%s' % s) #本站是python-china
3,f-strings输出:f-strings 提供一种简洁易读的方式, 可以在字符串中包含 Python 表达式. f-strings 以字母'f' 或 'F' 为前缀, 格式化字符串使用一对单引号、双引号、三单引号、三双引号. 格式化字符串中
name = 'bayi'
age = 35
format_string1 = f'我的名字是 {name}, 我的年龄是 {age}'
字符串输入:
input,获取的数据,都以字符串的方式进行保存,即使输入的是数字,那么也是以字符串方式保存。
userName = input('请输入用户名:')
print("用户名为:%s" % userName)
字符串下标索引及切片:
下标索引:
name = 'abcdef'
print(name[0]) #输出结果为a#字符串索引从开始计数
print(name[1]) #输出结果为b
print(name[2]) #输出结果为c
切片:
切片的语法:[起始:结束:步长],默认步长为1
str = 'abcdef'
print(str[0:3]) # 取下标0~2 的字符,输出结果为:abc
print(str[3:5]) # 取下标3~5 的字符,输出结果为:de
print(str[2:]) # 取下标为2开始到最后的字符,输出结果为:cdef
print(str[1:5:2]) # 取下标为1开始到下标5之间的字符,步长为2,输出结果为:bd
print(str[::2]) # 步长为2,输出结果为ace
print(str[::-1]) # 字符串倒序,输出结果为fedcba
print(str[::-2]) # 字符串倒序,步长为2,输出结果为fdb
print(str[1:-1]) # 取下标为1开始到最后第2个(包括最后第2个)之间的字符,输出结果为:bcde
print(str[5:1:-2]) # 输出结果为:fd
print(str[5:1:2]) # 语法错误,输出为空
字符串切割
s = 'avs right jifeljf niejfi right'
list = s.split('right')#切割完,只能保存来 list里,所以只能用list做变量
print(list)
字符串常见操作:
增,删,改,查
增:
name ='sdge'
name2 = 'etsd'
name3= name+name2
print(name3)
删:
字符串是不可hash 对象,所以不能直接删除
改:
replace:
s = 'good ales good 2 good 1 good'
s1=s.replace('good','sb')
print(s1)
s2=s.replace(' ','')#把字符串里的空格全部替换
print(s2)
lower()
s = 'egaSGEFagf,geagff'
s1 = s.lower()#把字符串中大写字母换成小写
print(s1)
upper()
s = 'egaSGEFagf,geagff'
s1 = s.upper()#把字符串中小写字母换成大写
print(s1)
swapcase()
s = 'egaSGEFagf,geagff'
print(s.swapcaser())#把字符串中小写字母换成大写,把字符串中大写字母换成小写,(大小写互换)
capitalize()
s = 'egaSGEFagf,geagff'
print(s.capitalize())#首字母大写
title()
s = 'egaSGEFagf,geagff'
print(s.capitalize())#把每个单词首字母大写
查:
find()
查找,如果存在,返回索引,如果有没,报错
s = '滋滋冒油的猪蹄子'
print(s.find('冒油'))
index()
print(s.index('牛'))
len
字符串长度
s = '我是的呢飞机搜发发发'
print(len(s))
for 循环来遍历字符串,从头到尾点一遍,就叫遍历
for c in s:
print(c)
其他操作
join()
拼接字符串
lst = ['alex','sdb','fef','fef']
s = '_'.join(lst)
print(s)#alex_sdb_fef_fef
把列表串到字符串里
print("*".join('周润发'))#结果是
周*润*发,所以join是用迭代的方法进行的
把字符串切进列表里

浙公网安备 33010602011771号