day4-StringAndif

2018-12-27  本文已影响0人  y_j杨健
1.运算符: 数学运算符、比较运算符、逻辑运算符、赋值运算符

数学运算符: +, -, *, /, //, **, %
比较运算符: >, <, ==, !=, >=, <=
逻辑运算符:and, or, not
赋值运算符:=, +=, -=, *=, /=, //=, %=, **=

运算符的优先级: 数学运算符>比较运算符>逻辑运算符>赋值运算符
2.数字类型

整型(int): 0b(二进制)、0o(八进制)、0x(十六进制)
bin()、 oct() hex()

3. 浮点型(float): 支持科学计数法, 19e-2 0.000001 == 1e-6

布尔(bool): True == 1, False == 0

3.字符串(str)
字符串又叫字符集
'', ""
空串: '', ""
空格字符串: ' ', " "
普通字符: 'a', '1', ',', '好', '👌', '😆'
转义字符: \n, \t, ', ", \; 阻止转义: r/R
编码字符: \uXXXX 十六进制数:每一位上的数是0-9或者a-f(A-F)

4.字符的编码

a-z: 97-122
A-Z: 65-90
中文编码范围: 4e00 - 9fa5
chr(编码)
ord(字符)

getchar(获取字符)

1.获取单个字符

字符串中的每一个字符都会对应一个唯一的下标(索引)用来表示字符在字符串中的位置
下标从0开始一次增加, 0 对应的是第一个字符;可以是从-1开始一次减少,-1代表最后一个字符

例如:
num =  'hello'
print(num[4])  --> o

 '\tpython\u4e00n'    p - > ( 1, -7)   注意:\t 表示一个字符  \u4e00 也是一个字符

a.语法:
字符串[下标] - 获取字符串中指定下标对应的字符
b.说明:

result = 'how are you!'[0]   获取字符 how are you! 中下标是0的字符
                                  并且赋值给result
print(result)   h
print('how are you!'[-4])    y
print('how are you!'[-33])   IndexError: string index out of rang
                           注意:下标不能越界!!

str1 = 'good good study! day day up!'
print(str1[10])

2.获取部分字符(字符串切片)

方法一:

不管怎么取结束下标一定取不到!

str = 'hello python!'
print(str[0:4:1])   hello
print(str[-1:0:-2])     从后往前取  !otp olh

print(str[-1:-100:-1]) 结束下标可以越界    !nohtyp olleh
练习: 获取一个字符中所有下标是奇数的字符(顺序)
str2 = 'hello python!'
print('奇数下标是:',str2[1:12:2])   el yhn

方法二:

字符串[开始下标:结束下标] - 步长就是1:从开始到结束下标为止,一个一个的取!

print('when i was young!'[2:6])  en i

方法三:

str3 = 'when i was young!'
print(str3[:6],str3[:6:-1])  when i,  !gnuoy saw
print(str3[2:],str3[2::-1])   en i was young!,ehw
print(str3[6::-1])

num = 'hello'
print(num[-4])

字符串相关运算

1.字符串支持的运算符: +, *,>, <, ==, !=, >=, <=以及所有的比较运算符

Python中的字符串支持数学运算符中的 +和*,
new_str = 'abc' + '123'
print(new_str)
new_str = 'abc' * 3
print(new_str)
print('abc' == 'abc')
print('abc' == 'acb')
判断一个字符串中第三个字符是否是字母
str1 = 'skj45,skdjf'
char = str1[2]
print('是否是字母:', 'a' <= char <= 'z' or 'A'<= char <= 'Z' )
print('判断是否是中文:','\u4e00'<= char <= '\u9fa5')

2. in 和not in操作

字符串1 in 字符串2 -> 判断字符串2是否包含字符串1 / 字符串1是否是字符串2的子串
字符串1 not in 字符串2 -> 判断字符串是否不包含字符串1 / 字符串1是否是字符串2的子串

应用:判断一个文章是否包含某个文字


print('abc' in 'hello abc')  # True
print('abc' not in 'hello abc')  # False

print('A' in 'hello abc')

3. len函数

len(序列) - 获取序列长度,获取序列中元素的个数
len(字符串) - 获取字符串的长度 字符的个数

注意:
一个可以转移的转义字符的长度是1
一个编码字符的长度是1
一个空格的长度是1
手动在键盘上按一个tab,一般是4个空格,长度是4

print(len('abc'))
str1 = input('请输入:')
last_char = str1[len(str1)-1]
print(last_char)
str2 = '\tbac'
print(len(str2))       手动输入的tab 和\t 对应的字符个数可能不一样,\t 永远是1

format

=====格式字符串======

1.什么是格式字符串:

在字符串中通过格式占位符来代替字符串中变化的部分,然后在后面通过数据或者变量确定变化

name = input('姓名:')
age = 18
sex = '男'
mesage = '我叫xx,今年xx岁,性别:x,月薪x万'
 格式字符串
mesage = '我叫%s,今年%d,性别:%s,月薪%.2f万 字符:%c'% (name, age, sex,1.3, 97)
print(mesage)

练习:输入一个字符串,用一个变量保存输入的相关信息:xxx的长度是xx,最后一个字符是xxx
name = input('我的名字是:')
lenght = len(name)
last_char = name[len(name)-1]
str = '%s的长度是%d,最后一个字符是%c'% (name,lenght,last_char)
print(str)

Type conversion(类型转换)

1. 基本语法

2. 转换实例

int(数据) - 将其他数据转换成整型
float(数据) - 将其他数据转换成浮点型
bool(数据) - 将其他数据转换成布尔
str(数据) - 将其他数据转换成字符串

age = input('年龄:')
print(type(age),age)
print('是否能进入网吧:',int(age) >= 18)

1.转换成整型

a = int(12.9)    浮点数可以转换,直接保留整数部分
b = int(False)     所有布尔可以转换,  True -> 1  ; False ->0
c = int('12')     只有去掉字符串的引号后本身就是一个整数的字符串才能转换成整数
print(a,b,c)

2. 转换成浮点型

a = float(100)     所有整数都可以转换成浮点数  在后面加.0
b = float(True)     所有的布尔可以转换成浮点数  True ->1.0
c = float('12.4')   去电引号本身就是一个数字的字符串能转换成浮点数
print(a,b,c)

3. 转换成布尔类型

 Python中所以得数据都可以转换成布尔
所有为空为0的值都会转换成False  ,其他都是True
a = bool(0)
b = bool(0.0)
c = bool('')
print(a,b,c)

4. 转换成字符串类型

Python中所有的数据都可以转换成字符串,而且转换的时候就是单纯的在最外面加上引号

a = str(200)
print(a)
print('abc'+ str(100))
练习:输入三个数字,求三个数的和
dig1 = input('输入第一个数字:')
dig2 = input('输入第二个数字:')
dig3 = input('输入第三个数字:')
print(float(dig1) + float(dig2) + float(dig3))
上一篇下一篇

猜你喜欢

热点阅读