Day.01 Python的基础(上)
python基础:
一 编程语言
什么是编程语言?
上面提及的能够被计算机所识别的表达方式即编程语言,语言是沟通的介质,而编程语言是程序员与计算机沟通的介质。在编程的世界里,计算机更像是人的奴隶,人类编程的目的就命令奴隶去工作。
什么是编程?
编程即程序员根据需求把自己的思想流程按照某种编程语言的语法风格编写下来,产出的结果就是包含一堆字符的文件。
强调:
程序在未运行前跟普通文件无异,只有程序在运行时,文件内所写的字符才有特定的语法意义。
二 计算机组成部分
CPU
内存
外存
输入设备
输出设备
三 python的安装与使用
1.安装python解释器
2.安装pycharm编辑器
3.编写python代码,并输出打印hello world!
print('hello world!')
四 变量
变量:可变化的量
变量值: 是真实存放在内存中的一块内存地址。
变量名: 用于与变量值绑定关系的。相当于一个门牌号。
赋值=号: 将变量的值绑定给变量名的。
变量的命名规范:
驼峰命名法: AgeofTank
# python强烈推荐使用
下划线命名: age_ of_ .tank
变量名定义规范:
1.要以英文字母或下划线开头命名
al #英文字母开头
_a #下划线开头
2.不能以数字开头命名1a 错误!!!
3.关键字不能命名:
and', 'as', 'assert', 'break', ’ class',’continue','def’, 'de1',’elif', 'else', 'except', 'exec' ,
’finally', 'for','from','global', 'if', 'import',in',’ is', 'lambda', 'not',’or’, 'pass','print',
’raise', ’return',’try', while', 'with','yield'
定义变量名不好的方式:
1.不要以中文命名
2.变量名过长
3.变量名词不达意
定义变量的三大特征
id 用来表示变量的值在内存中唯一的一份内存地址;
type 变量值的类型
value 变量的值
str1 = 'hello' print(type(str1)) str2 = 'hello' print(str1==str2)
五 常量
指不可变的量。
以全大写命名。
并不是不能对其修改,而是大家都规定好凡是全大写的变量都称之为常量,不可对其进行修改。
常量在Python中不会有任何机制限制你不能修改,而是Python程序人员认为去限制自己,凡是遇到大写变量都不能对其修改。
命名规范:
SCHOOL = ‘合肥学院’
六 用户与程序交互
输入:
input()
输出:
print()
#让用户输入 name = input('请输入名字:') #输出用户 print(name) #在Python3中,input内输入的任何数据类型都是字符串 print(type(name))
七 格式化输出
注释:
单行注释“#”
快捷键:ctrl+/
多行注释:三引号
快捷键:'''+回车键
占位符:
%s: 可以替换任意类型
%d: 可以替换数字类型
示例:
尊敬的用户,你好!您本月的话费扣除%s元,还剩%d元。
# 把100替换给了%sstr1 = '尊敬的用户,你好!您本月的话费扣除%s元,还剩0元。' % 100 # 把一百替换给了%s, 把50替换给了%dstr1 = '尊敬的用户,你好!您本月的话费扣除%s元,还剩%d元。' % ('一百', 50)print(str1) # 报错str1 = '尊敬的用户,你好!您本月的话费扣除%s元,还剩%d元。' % ('一百', '50')print(str1)
八 基本数据类型
1.数字类型:
整型: int
人的年龄、身份ID号...
浮点型: float
人的身高、薪资...
age = int(18) print(age) print(type(age)) age2 = 19 print(age2) print(type(age2)) sal = 1.01 print (sal) print(type(sal))
2.字符串类型
作用:名字,性别,国籍,地址等描述信息
定义:在单引号\双引号\三引号内,由一串字符组成
name='tank'
优先掌握的操作:
1、按索引取值(正向取+反向取) :只能取
#按索引取值(正向取+反向取): #正向取 str1 = 'hello tank!' print(str1[0]) print(str1[9]) #反向取 print(str1[-2])
2、切片(顾头不顾尾,步长)
str1 = 'hello tank!' #0-(5-1) print(str1[0:5]) #步长 print(str1[0:11]) print(str1[0:11:2])
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())
6、切分split
str1 = 'hello tank!'
print(str1.split(''))
7、循环
for line in str1: print(line)
需要掌握的:
1、strip,lstrip,rstrip
# strip,lstrip,rstrip str1 = ' hello wuyuefeng ' print(str1) # 去掉两边空格 print(str1.strip()) # 去掉左边空格 print(str1.lstrip()) # 去掉右边空格 print(str1.rstrip())
2、lower,upper
# 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的三种玩法
# 方式一: 根据位置顺序格式化 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())
课后作业:
写代码,有如下变量,请按照要求实现每个功能:
1) 移除 name 变量对应的值两边的空格,并输出处理结果
name = " aleX"
name = " aleX" print(name) print(name.strip())
输出结果为:aleX
2) 判断 name 变量对应的值是否以 "al" 开头,并输出结果
name = " aleX" print(name) print(name .startswith('al'))
结果为:False
3) 判断 name 变量对应的值是否以 "X" 结尾,并输出结果
name = " aleX" print(name) print(name .endswith('X'))
结果为:True
4) 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
name = " aleX" print(name) name1 = name.replace('l','p') print(name1)
结果是: apeX
5) 将 name 变量对应的值根据 “l” 分割,并输出结果。
name = " aleX" print(name) print(name.split('l'))
结果是:[' a', 'eX']
6) 将 name 变量对应的值变大写,并输出结果
name = " aleX" print(name) print(name.upper())
结果是: ALEX
7) 将 name 变量对应的值变小写,并输出结果
name = " aleX" print(name) print(name.lower())
结果是: alex
8) 请输出 name 变量对应的值的第 2 个字符?
name = " aleX" print(name) print(name[1])
结果是:a
9) 请输出 name 变量对应的值的前 3 个字符?
name = " aleX" print(name) print(name[0:3])
结果是: al
10)请输出 name 变量对应的值的后 2 个字符?
name = " aleX" print(name) print(name[3:5])
结果是:eX
11)请输出 name 变量对应的值中 “e” 所在索引位置?
12)获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo。