课堂笔记:
python基础
一、什么是编程语言?
上面提及的能够被计算机所识别的表达方式即为编程语言,语言是沟通的介质,而编程语言是程序员与计算机沟通的介质。在编程的世界里,计算机更像是人的奴隶,人类编程的目的就命令奴隶去工作。
什么是编程?
编程及程序员根据需求把自己的思想流程按照某种编程语言的语法风格编写下来,产出的结果是包含一堆文字的文件。
强调:程序在未运行前跟普通文件无异,只有程序在运行时,文件内所写的字符才有特定的语法意义。
二、计算机组成部分
CPU
内存
外存
输入设备
输出设备
三、安装与使用
1、安装python解释器
2、安装python编辑器
3、创建python文件,打印hello world!
四、什么是变量?
变量,可变化的量。
#变量值:‘tank’,会在内存中产生一份内存地址
#变量名:相当于一个门牌号,用于与变量进行绑定
#=:用来把变量值绑定给变量
变量的命名规范:
驼峰命名法:AgeOfTank
#python强烈推荐使用
下划线命名:age_of_tank
变量定义规范:
1、要以英文字母或下划线开头命名
a1
_a
2、不能以数字开头命名
1a #错误!
3、关键字不能命名
定义变量名不好的方式:
1、不要以中文命名
2、变量名不要过长
3、变量名词不达意
定义变量的三大特征:
Id #用来表示变量的值在内存中唯一的一份内存地址。
type #变量值的类型
value #变量的值
python优化机制(小计数池)
在python把值相同的变量值统一存放在同一个内存地址中。
五、常量
常量:
指的是不变的量。
常量本质上也是变量,在python不会有任何机制限制你不能修改变量。
而是python程序员人为去限制自己,凡是遇见大写的变量都不能对其进行修改。
命名规范:
变量名全大写。
SCHOOL=’合肥学院’
六、用户与程序交互
输入:
python3:
input()
python2:
输出:
print()
七、注释
单行注释:#
快捷键ctrl+/
多行注释:
选中之后ctrl+/
三引号
’’’
”””
八、格式化输出
尊敬的用户,你好!您本月的花费扣除99元,还剩0元。
#通过某种占位符,用于替换字符串中某个位置的字符。
占位符:
%s:可以替换任意类型
%d:可以替换数字类型
示例:
尊敬的用户,你好!您本月的花费扣除%s元,还剩%d元。
九、基本数据类型
1、数字类型:
整型:int
浮点型:float
2、字符串类型:str
00初识:
print('hello world!')
# 变量值:‘tank’,会在内存中产生一份内存地址
# 变量名:相当于一个门牌号,用于与变量进行绑定
# =:用来把变量值绑定给变量
name='tank'
print(name)#tank
# 变量名规范
age_of_tank=18
# 定义变量的三大特征
# id
name1='tank1'
name2='tank2'
# python优化机制(小计数池)
# 在python把值相同的变量值统一存放在同一个内存地址中。
print(id(name1))
print(id(name2))
# type:类型
str1='hello'
print(type(str1))
# value
str2='hello'
print(str1==str2)
# 常量:
SCHOOL = '合肥学院'
SCHOOL = '安徽的一所大学,合肥学院'
print(SCHOOL)
'''
用户与程序交互
输入:
python3:
input()
python2:
输出:
print()
'''
# 让用户输入
name = input('请输入用户名')
# 输出用户名
print(name)
# input内输入的任何数据类型都是字符串
print(type(name))
01基本数据类型:
'''
基本数据类型:
数字类型:
1、整型:int
人的年龄、身份ID号
2、浮点型:float
人的身高体重、薪资
'''
# int
age = int(18)
print(age)
print(type(age))
age2 = 19
print(age2)
print(type(age2))
# float
sal = 1.01
print(sal)
print(type(sal))
'''
字符串类型:
str
作用:名字,性别,国籍,地址等描述信息
定义:
在单引号\双引号\三引号内,由一串字符组成。
优先掌握的操作:
1、按索引取值(正向取+反向取):只能取
2、切片(顾头不顾尾,步长)
3、长度len
4、成员运算in和not in
5、移除空白strip
6、切片split
7、循环
'''
# 1、按索引取值(正向取+反向取):只能取
# 正向取
str1 = 'hello tank!'
print(str1[0]) # h
print(str1[9]) # k
# 反向取
print(str1[-2]) # k
# 2、切片(顾头不顾尾,步长)
str1 = 'hello tank!'
# 0---(5-1)
print(str1[0:5]) # hello
# 步长
print(str1[0:11]) # hello tank!
print(str1[0:11:2]) # hlotn!
# 3、长度len
print(len(str1)) # 11
# 4、成员运算in和not in
print('h' in str1) # True
print('h' not in str1) # False
# 5、移除空白strip
# 会移除字符串中左右两边的空格
str1 = ' hello tank!'
print(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字符串进行遍历,打印每一个字符
for line in str1:
print(line)
'''
字符串格式化输出
'''
# 把100替换成%s
# str1 = '尊敬的用户,你好!您本月的花费扣除%s元,还剩0元。'%100
str1 = '尊敬的用户,你好!您本月的花费扣除%s元,还剩%d元。' % ('一百', 50)
print(str1)
'''
字符串类型:
需要掌握的
'''
# 1、strip,lstrip,rstrip
str1 = ' hello YangYing '
print(str1)
# 去掉两边空格
print(str1.strip())
# 去掉左边空格
print(str1.lstrip())
# 去掉右边空格
print(str1.rstrip())
# 2、lower,upper
str1 = 'hello YangYing '
# 转换成小写
print(str1.lower())
# 转换成大写
print(str1.upper())
# 3、startswith,endswith
str1 = 'hello YangYing '
# 判断str1字符开头是否等于hello
print(str1.startswith('hello')) # Ture
# 判断str1字符末尾是否等于YangYing
print(str1.endswith('YangYing')) #Ture
# 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(name='tank',age=18))
# 5、spilt(切片)
str1 = 'hello tank!'
# 根据str1内的空格进行切分
# 切分出来的值会存放在[]列表中
print(str1.split(' ')) # ['hello', 'tank!']
# 6、join 字符串拼接
# print(' '.join(['tank',18])) #报错 只允许字符串拼接
# 根据空格,把列表中的每一个字符串进行拼接
print(' '.join(['tank', '18']))
# 根据下划线,把列表中的每一个字符串进行拼接
print('_'.join(['tank', '18']))
# 7、replace
str1 = 'my name is yangying, my age 19! '
print(str1)
str2 = str1.replace('yangying', 'somebody')
print(str2)
# 8、isdigit:判断字符串是否是数字
choice = input('请选择功能[0,1,2]:')
# 判断用户输入的选择是否是数字
print(choice.isdigit())
课后作业:
写代码,有如下变量,请按照要求实现每个功能:
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" name1 = name.replace('l','p') print(name1) # 输出结果为 apeX
5)将name变量对应的值根据“l”分割,并输出结果:
name = "aleX" print(name.split('l')) # 输出结果为[' a', 'eX']
6)将name变量对应的值变大写,并输出结果:
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[0:5:1]) # 输出结果为 ale
10)请输出name变量对应的值的后2个字符:
name = " aleX" print(name[4:6]) # 输出结果为 eX
11)请输出name变量对应的值中“e”所在索引位置
name = " aleX" print(name[4]) # 输出结果为 e
12)获取子序列,去掉最后一个字符,如:oldboy 则获取oldbo:
name = " aleX" print(name.strip('X')) # 输出结果为 ale