python基础:
一、什么是变量?变化的量
变量值:‘XXX’,会在内存中产生一份内存地址
变量名:相当于门牌号,用于与变量进行绑定
变量名 = 变量值:用来将变量值绑定给变量,不要使用中文命名
变量的三大特征值
id:用来表示变量的值在内存中的唯一的一份内存地址
type:变量值的类型
value:变量的值
python优化机制(小计数池)
在某个长度内,python把值相同的变量值统一存放在同一个内存地址中
type():判断变量的类型
例如
name = input('请输入名字:')print(name)print(type(name))
在python3中,input内输入的任何数据类型都是字符串
二、什么是常量?
不变的量(在python中可以更改,但我们应限制自己不去更改)
凡是遇见大写的变量都不能对其进行修改
命名规范:
变量名全大写
例如 SCHOOL='合肥学院'
三、注释:
单行注释:#
快捷键:ctrl+/
多行注释:三引号 ''' """
快捷键:
'''+回车键
"""+回车键
四、字符串类型:str
作用:
名字,性别,国籍,地址等描述信息
定义:
在单引号\双引号\三引号内,由一串字符组成
五、优先掌握的操作:
1按索引取值(正向取和反向取)
name = 'strong'print(name[0]) #sprint(name[-1]) #g
2切片(顾头不顾尾 步长)
name = 'hello hi'print(name[0:5]) #helloprint(name[0:8]) #hello hiprint(name[0:8:2] #hloh,隔一个取
3长度len()
name = 'hello hi'print(len(name)) #8
4成员运算in和not in
name = 'hello hi'print('h' in (name)) #Trueprint('h' not in (name)) #Fluse
5移除两边空白strip
name = ' hello hi'print(name.strip()) #hello histr='?hello world?'print(str.strip('?')) #hello world
6切分split
name = 'hello hi'print(name.split())#['hello', 'hi']
①根据空格进行划分
②切分出来的值会存放在[]列表中
7循环
1 str='hello hi'2 for name in str: #for XX in XX:3 print(name) #注意空一格
六、格式化输出
通过某种占位符,替换字符串中某个位置的字符
占位符:
%s:可以替换任意类型
%d:可以替换数字类型
注意类型,类型错误会报错
str1='你的话费扣%s,还剩%d元' %('100',50)print(str1) #你的话费扣100,还剩50元
七字符串需掌握操作
1strip()/lstrip()/rstrip()
str1=' hello hi 'print(str1.strip()) #hello hiprint(str1.lstrip()) #hello hi 左移除print(str1.rstrip()) # hello hi
2lower() upper() 大小写转换
str1='Hello Hi'print(str1.lower()) #hello hiprint(str1.upper()) #HELLO HI
3startswith('XX') endswith('XX') 判断开头,结尾是否等于XX
str1='Hello Hi'print(str1.startswith('he')) #Falseprint(str1.endswith('i')) #True
4格式化输出的三种方法
str1='my name is %s,my age is %d' %('sun',18)print(str1)#法一,根据位置顺序格式化print('my name is {},my age is {}'.format('sun',18))#法二,根据索引格式化print('my name is {0},my age is {1}'.format('sun',18))#法三,指名道姓的格式化print('my name is {name},my age is {age}'.format(name='sun',age=18))
5split() 划分
同上面的split
6join 字符串拼接
只能拼接字符型
print(' '.join(['age','18'])) #age 18print('_'.join(['age','18'])) #age_18
7replace('xx','yy') 字符串替换,xx换成yy
str1='hello hi'print(str1.replace('hello','hi')) #hi hi
8isdigit() 判断字符串是否是数字
str1=input('请输入数字[0,1,2]')print(str1.isdigit())#请输入数字[0,1,2]1#True
今日作业
name=' aleX'
1)移除name变量对应的值两边的空格,并输出处理结果
name=' aleX'print(name.strip())#aleX
2)判断name变量对应的值是否以"al” 开头,并输出结果
name=' aleX'print(name.startswith('al'))#False
3)判断name变量对应的值是否以"X”结尾,并输出结果
name=' aleX'print(name.endswith('X'))#True
4)将name变量对应的值中的 “l”替换为 “p”
name=' aleX'print(name.replace('l','p'))# apeX
5)将name变量对应的值根据 “l” 分割,并输出结果。
name=' aleX'print(name.split('l'))#[' a', 'eX']
6)将name变量对应的值变大写,并输出结果
name=' aleX'print(name.upper())# ALEX
name=' aleX'print(name.upper())# ALEX
7) 将name变量对应的值变小写,并输出结果
name=' aleX'print(name.lower())# alex
8)请输出name 变量对应的值的第2个字符?
name=' aleX'print(name[3])#l
9)请输出name 变量对应的值的前3个字符?
name=' aleX'print(name[2:5])#ale
10)请输出name 变量对应的值的后2个字符?
name=' aleX'print(name[4:6])#eX
11)请输出name变量对应的值中“e” 所在索引位置?
name=' aleX'print(name[4])
name=' aleX'print(name[0:5])# ale