学习python入门基础——数据类型(运算符和字符串)

一、运算符

  1.算数运算

    a、+、-、*、/(加减乘除)

print(10+2)       #运算符+(加)
print(10-2) #运算符-(减)
print(10*2) #运算符*(乘)
print(10/3) #运算符/(除)

    b、//(取整)

print(10//3)      #运算符//(取整)

    c、%(取余/取模)

print(10%3)       #运算符%(取余/取模)

    d、**(幂运算)

print(2**3)       #运算符**(幂函数)2的3次方

  2.赋值运算

    a、=(赋值)

str_01=hello
print(str_01) #赋值运算=(赋值)

    b、+=、-=、*=、/=

num=1
num2=num+1 #加,与下面同一种表达作用
num +=1 #+=(加)、-=(减)

  3.比较运算符
    > 、<、>=、<=、==、!=(大于、小于、大于等于、小于等于、等于、不等于)

    返回的是布尔值(False、True)

print(1>2)          #比较运算符>(大于),返回布尔值(true/false)
print(1<2) #比较运算符<(小于),返回布尔值(true/false)
print(1>=2) #比较运算符>=(大于等于),返回布尔值(true/false)
print(1<=2) #比较运算符<=(小于等于),返回布尔值(true/false)
print(1!=2) #比较运算符!=(不等于),返回布尔值(true/false)
print(1==2) #比较运算符==(等于),返回布尔值(true/false)

  4.逻辑运算符
    a、and(与)
    b、or(或)
    c、!(非)

num=10
num2=20
print(num !=0) #逻辑运算符!(非),返回布尔值(true/false)
print(num==10 and num2==10) #逻辑运算符and(与),判断num是否等于10,判断num2是否等于10,当2个同时为真,则返回true,否则返回false
print(num==10 or num2==10) #逻辑运算符or(或),多个条件只要有一个条件为真,则返回true,否则返回false

二、字符串
 1.定义:单引号、双引号、三单引号、三双引号(’ ‘、 “ “、‘’‘ ’‘’、“”“ ”“”)

    加上引号类型就是字符串(数值)

str_01='hello'
str_02=hello python
str_04=test python

    类型转换:str(object)

num=1
str(num) #强转数值类型,int转str
print(str(num),type(str(num)))

  2.字符串操作
    a、字符串访问
      索引:索引从0开始,空格也占一个索引位置
         str[0]

str1='hello python'
print(str1[0]) #字符串访问,通过索引访问,默认从0开始,步长1,空格也算 [取h]

    b、字符串切片
      正序:str[起始索引:结束索引:步长]

      正序切片:步长为正数       注意:         1、默认起始位置从0开始,默认步长是1,可不写         2、左闭右开(取起始索引的值,不取结束索引的值)         3、如果起始和结束索引不写,则默认等于字符串的长度         4、空格也占用索引(一个空格占一位)         5、起始索引的绝对值最好小于结束索引的绝对值
str1='hello python'
print(str1[0:5])                     #字符串切片,str[起始索引:结束索引] 左闭右开   [取hello]
#起始索引绝对值小于结束索引绝对值

print(str1[:]) #不写起始和结束时,默认等于字符串长度 [hello python]

print(str1[0:8:2]) #字符串步长,str[起始索引:结束索引:步长]
#起始索引:0 结束索引:8 步长:2 [取hlop]

      倒序:str[起始索引:结束索引:步长]

      倒序切片:步长为负数            起始索引-1,从右边开始切            不管正序还是倒序切片,都有2种写法            1、索引从0开始正序取值            2、索引从-1开始倒序取值
str_1 = '123456789'
str_2 = str_1[::-1]
print(str_2)
# 987
str_3 = str_1[-1:-4:-1]
print(str_3)

  3.字符串运算
    a、+(字符串拼接)   

        数值时+就是加         字符串时+就是拼接

    b、*(重复输出)

print('='*10)

  4.字符串转义
    a、\n(转义字符:换行)
    b、\(关闭转义)
    c、r(路径处理)

print('\\')

  5.字符串常用方法

    a、大小写相关

      1)全部大写:str名.upper()

# 大写
str = 'python'
str_01 = str.upper()
print(str_01)

      2)全部小写:str名.lower()

# 小写
code = 'PYTHON'
new_code = code.lower()
print(new_code)

      3)首字母大写:str名.capitalize()

# 首字母大写
print(str.capitalize())

      4)每个单词首字母大写:str名.title()

# 每个单词首字母大写
code_01 = 'hello python'
print(code_01.title())

      5)大小写互换:str名.swapcase()

# 大小写互换
str_02 = 'Python'
print(str_02.swapcase())

    b、统计相关
      1)统计字符在字符串中出现的次数:cout()

        count('sub',start,end)         sub:需要统计的字符         start:统计范围的开始索引值         end:统计范围的结束索引值         统计区分大小写
print(str.count('h',0,3))

      2)查找字符在字符串中的索引位置:find()

        find('sub',start,end)         sub:需要统计的字符         start:统计范围的开始索引值         end:统计范围的结束索引值         只查询第一次找到的字符,然后返回索引值
print(str.find('h',2,3))

    c、拆分&替换
      1)拆分
        split(指定字符,拆分次数)
        默认是通过空格键拆分,可以自己指定字符,指定字符时,指定的字符会丢失
        默认(-1)不限制拆分次数,可不写
        0就是不拆

#split拆分
str_03='hello python'
new_str=str_03.split('o',1)
print(new_str)

      2)去字符串首尾空格、回车符
        strip()

 

      3)替换
        replace(替换的字符,替换后的字符,替换次数)
        返回替换后的字符
        包括空格键也可以替换
        默认替换次数不限制

#替换
new_str1=str_03.replace(' ','8')
print(new_str1)

    d、连接
      '连接符号'.join(str)

#用符号拼接
new_str2='-'.join(str_03)
print(new_str2)

    e、格式化

      1)占位符:%
        字符串占位符:%s

如果传的不是字符串,会强制类型转换
str='this is test %s' %(‘py’) py是个字符串
str='this is test %s' %(100) 100数值强制转换成字符串

        int类型占位符:%d

传的int不能是字符串,会报错
可以传正数、负数、小数会抹掉小数部分
str='this is a number %d' %(100)

        小数类型占位符:%f

prince=‘the price is %.2f’ %(9.9)   保留2位小数

      2)format
        按顺序取值

price='the price is {}'.format(10.99)
price='the price is {} {} {}'.format(10.99,'sdf',34)

        按索引取值(0开始)

price='the price is {0} {1}'.format(100,200)
price='the price is {1} {1} {0}'.format(100,200,300)支持取同一个,但数量要对应

        按关键字取值

price_2='the price is {price1} {price2}'.format(price1=100,price2=200)
print(price_2)

        调整精度

price_3='the price is {:.2f}'.format(12.35849)     打印出来是12.36

        百分比格式化

price_4='the price is {:.2%}'.format(0.213968345)    打印出来是21.40%

      3)f表达式

price_5=f'the price is {100}, num is {5}'
price=100
num=5
price_5=f'the price is {price}, num is {num}'