pathon基础
一、编程语言
1、什么是编程语言?
能够被计算机所识别的表达方式即编程语言,编程语言是程序员与计算机沟通的介质。
2、什么是编程?
编程即程序员根据需求把自己的思想流程按照某种编程语言的思想编写下来,产生的结果就是包含一堆字符的文件。
二、计算机组成部分
CPU、内存、外存、输入输出设备
三、变量
变量,即可变化的量。以name='tank'
1、变量值:是真实存放在内存中的一块内存地址 #tank
2、变量名:用于与变量绑定关系的 #name
3、赋值=号:将变量的值绑定给变量名
4、变量的命名:pathon强烈推荐变量的命名方式为下划线命名,例如age_of_tank。
5、变量名定义规范:要以英文字母或下划线开头命名、不能以数字开头、关键字不能命名、不能使用中文命名。
6、定义变量的三大特征:
id:用来表示变量的值,变量的值相同,内存地址是不一样的
#pathon优化机制(小计数池)
#在某个长度内,pathon把值相同的变量值统一存放在统一内存地址中
type:用于判断变量的类型
value:变量的值
四、常量
常量,即不可变的量。例如SCHOOL='合肥学院'
注:常量以全大写命名;并不是不能对其修改,而是大家都规定凡是大写的变量都称之为常量,不可对其进行修改。
五、用户与程序交互
输入:
pathon3:
input()
pathon2:
输出:
print()
六、注释
1、单行注释:#
快捷键:ctrl+/
2、多行注释:三引号 ''' """
快捷键:'''/"""+回车键
七、基本数据类型
1、数字类型: 整型: int浮点型: float
2、字符串类型
作用:名字,性别,国籍,地址等描述信息
定义:在单引号\双引号\三引号内,由一串字符组成
以name='tank'为例
优先掌握的操作:
1、按索引取值(正向取+反向取) :只能取
#正向取 str1='hello tank!' print(str1[0]) #h print(str1[9]) #k #反向取 str1='hello tank!' print(str1[-2]) #k print(str1[-11]) #h
2、切片(顾头不顾尾,步长)
str1='hello tank!' print(str1[0:5]) #hello #0-(5-1) #步长 str1='hello tank!' print(str1[0:11]) #hello tank! print(str1[0:11:2]) #hlotn! 每间隔2个步长取数
3、长度len
str1='hello tank' print(len[str1]) #11
4、成员运算in和not in
str1='hello tank' print('h' in str1) #True print('h' not in str1) #False
5、移除空白strip
#会移除字符串中左右两边的空格 str1=' hello tank!' prink(str1) str1=' hello tank! ' print(str1) print(str1.strip()) #去除指定字符串 str2='!tank!' print(str2.strip('!'))
6、切分split
str1='hello tank!'
#根据str1内的空格进行切分
#切分出来的值会存放在[]列表中 print(str1.split(' '))#['hello','tank!']
7、循环
#对str1字符串进行遍历,打印每一个字符 str1=’hello tank!' for line in str1: print(line)
需要掌握的:
1、strip,lstrip,rstrip
str1 = ' hello wuyuefeng ' print(str1) # 去掉两边空格 print(str1.strip()) # 去掉左边空格 print(str1.lstrip()) # 去掉右边空格 print(str1.rstrip())
2、lower,upper
str1 = 'hello WuYueFeng' # 转换成小写 print(str1.lower()) # 转换成大写 print(str1.upper())
3、startswith,endswith
str1 = 'hello WuYueFeng' # 判断str1字符开头是否等于hello print(str1.startswith('hello')) # True # 判断str1字符末尾是否等于WuYueFeng print(str1.endswith('WuYueFeng')) # True
4、format的三种玩法
str1 = 'my name is %s, my age %s!' % ('tank', 18) print(str1) # 方式一: 根据位置顺序格式化 print('my name is {}, my age {}!'.format('tank', 18)) # 方式二: 根据索引格式化 print('my name is {0}, my age {1}!'.format('tank', 18)) # 方式三: 指名道姓地格式化 print('my name is {name}, my age {age}!'.format(age=18, name='tank'))
5、split,rsplit
6、join字符串拼接
# 报错,只允许字符串拼接 print(' '.join(['tank', 18])) # 根据空格,把列表中的每一个字符串进行拼接 print(' '.join(['tank', '18', 'from GZ'])) # 根据_,把列表中的每一个字符串进行拼接 print('_'.join(['tank', '18', 'from GZ']))
7、replace:字符串替换
str1 = 'my name is WangWei, my age 73!' print(str1) str2 = str1.replace('WangWei', 'sb') print(str2)
8、isdigit:判断字符串是否是数字
choice = input('请选择功能[0, 1, 2]: ') # 判断用户输入的选择是否是数字 print(choice.isdigit())
八、格式化输出
尊敬的用户,你好!您本月的话费扣除99元,还剩0元。# 通过某种占位符,用于替换字符串中某个位置的字符。
占位符:
%s: 可以替换任意类型
%d: 可以替换数字类型
示例: 尊敬的用户,你好!您本月的话费扣除%s元,还剩%d元。
''' 字符串格式化输出 %s %d ''' # 把100替换给了%s # str1 = '尊敬的用户,你好!您本月的话费扣除%s元,还剩0元。' % 100 # 把一百替换给了%s, 把50替换给了%d # str1 = '尊敬的用户,你好!您本月的话费扣除%s元,还剩%d元。' % ('一百', 50) # print(str1) # 报错 str1 = '尊敬的用户,你好!您本月的话费扣除%s元,还剩%d元。' % ('一百', '50') print(str1)
九、课后作业
name = " aleX"
1、 移除 name 变量对应的值两边的空格,并输出处理结果
name = " aleX" print(name) print(name.strip())
2、判断 name 变量对应的值是否以 "al" 开头,并输出结果
name = " aleX" print(name) print(name.startswith('al'))
3 、判断 name 变量对应的值是否以 "X" 结尾,并输出结果
name = " aleX" print(name) print(name.endswith('X'))
4、将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
name = " aleX" print(name) name1= name.replace("l","p") print(name1)
5、 将 name 变量对应的值根据 “l” 分割,并输出结果。
name = " aleX" print(str1.split('l'))
6、将 name 变量对应的值变大写,并输出结果
name = " aleX" print(name.upper())
7、将 name 变量对应的值变小写,并输出结果
name = " aleX" print(name.lower())
8、请输出 name 变量对应的值的第 2 个字符?
name = " aleX" print(name[2])
9、请输出 name 变量对应的值的前 3 个字符?
name = " aleX" print(name[0:3])
10、请输出 name 变量对应的值的后 2 个字符?
name = " aleX" print(name[-1:-3])
11、请输出 name 变量对应的值中 “e” 所在索引位置?
name = " aleX" print(name.find('e'))
12、获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo。
name = " aleX" print(name[0:4])