1.Python语法
1.1几个概念
1.1.1表达式
- 表达式是由数字、算符、数字分组符号(括号)、自由变量、约束变量等,以能求得数值的有意义排列方法所得的组合。
- 表达式特点:
一般仅仅用于计算一些结果,对程序不会产生实质性影响**;
如果在交互模式中输入一个表达式,解释器会自动将表达式的结果输出。
1.1.2语句
- 它由一个词或有关联的一组词构成
- 语句的执行会对程序产生一定的影响,在交互模式中不一定会输出语句的执行结果
1.1.3程序(program)
- 它是由一条一条语句和一条一条表达式构成
1.1.4函数(function)
- 函数就是一种语句,专门完成特定的功能
- 形如:XXX()
- 分类:内置函数、自定义函数
内置函数:或称“内建函数”,也就是语法规定存在的函数,这些函数包含在编译器的运行时库中,程序员直接调用即可。
自定义函数:由程序员自主创建的函数,当我们需要完成某个功能时,就可以去调用内置函数或者自定义函数。 - 函数的两个要素:参数和返回值
1.2.标识符
1.2.1关键字
- 一些具有特殊功能的标识符,即关键字。它是Python已经使用了的,不允许开发者自主定义与关键字名字相同的标识符。
1.2.2标识符概念
- 开发人员在程序中自定义的一些符号和名称,如,变量名、函数名等。
- 组成:26个英文字母大小写、数字0~9、符号_$
- 规则: 标识符中可以包含字母、数字、下划线_。但是不能以数字开头。
python中不得以关键字、保留字作为标识符。 - 命名方式:驼峰命名法、下划线命名法
驼峰命名法:包含小驼峰式命名法和大驼峰式命名法两种。小驼峰式命名法即第一个单词以小写字母开始,第二个单词以大写字母开始,如myName、theStudent。大驼峰式命名法即每个单词的首字母都大写,如YourClassroom。
下划线命名法:以下划线‘_’来连接所有的单词,如 kind_woman。
2.变量
2.1变量
2.1.1 变量的概念
- 变量是计算机内存中的一块区域,存储规定范围内的值(id,type,value)。通俗地讲就是给数据起个名字。
- 变量命名规则
变量名由字母、数字、下划线组成,其要符合标识符的命名规范;
数字不能开头;
不能使用关键字 - 注意:两个对象相等和两个对象是同一个对象是两个概念。
s1 = {'Jim : 'dce'}
import copy
s2 = copy.deepcopy(s1)
print(s2) #{'Jim : 'dce'}
print(id(s1),id(s2))
print(s1==s2)
2.1.2变量的运算
- 变量的运算就是四则运算,需要注意的是若运算过程含有浮点数,则返回值为浮点类型
2.1.3变量在内存中的原理
- 引用变量
- 两个引用同时指向同一个int数据
a = 20
b = 20
print(id(a),id(b))
#结果地址一样
- 两个引用指向同一个str数据
str0= 'abcd'
str1='abcd'
print(id(str0),id(str1))
#结果地址一样
-两个引用指向同一个list数据
list1=[1,2,3]
list2=[1,2,3]
print(id(list1),id(list2))
#结果地址不一样
- 拷贝
list3=[4,5,6]
list4=list3.copy()
print(id(list3),id(list4))
#结果地址不一样
3.字符串
3.1字符串
3.1.1什么是字符串
- 字符串是由字母、数字、下划线组成的一串字符
- 注意:单引号和双引号不能混合使用
- Python中用一对单引号或一对双引号包裹的内容就是字符串
3.1.2转义字符
- 转义字符以’ / ’ 开头,后跟一个或几个字符。
- 转义字符具有特定的含义,不同于字符原有的意义,故称转义字符。
3.1.3长字符串
- 又称 ’文档字符串‘,用三重引号来表示一个长字符串’’’ ‘’’
- 三重引号会换行,并且会保留字符串中的格式。
3.1.4格式化字符串
-
第一种格式化字符串 :拼串
-
第二种格式化字符串 :参数传递
-
第三种格式化字符串 :占位符
- 注:一般情况下,%s可以对字符串占位,也可以对整数、浮点数占位 -
第四种格式化字符串 :f’{变量}’
-
str.format()
3.1.5字符串的其他操作
- len() —>字符串的长度
- max() —>最大值
- min() —>最小值
- str.split() —>分割字符串
- str.join() —>拼接字符串
- str.find() —>查找字符串
- 补充:函数find和index都有查找的功能,但区别和相同点在于:
- 相同点:当查询到时,使用find函数和index函数都会返回0
- 不同点:当没有查询到时,使用find函数会返回-1,而使用index函数后会出现程序报错的情形。 - str.replace() —>替换字符串
- str.partition() —>把字符串分割为三部分
- 去空格:
s.strip() —>左右两边去空格
s.lstrip() —>左边去空格
s.rstrip() —>右边去空格 - 字符串的大小写:
s.upper() —>全部大写
s.lower() —>全部小写
s.isupper() —>判断是否是大写
s.islower() —>判断是否是小写
作业
- a,b = 6, 8 ,让a=8 b=6,用2种方式实现:
① a=6
b=8
s=['6','8']
a=s[1]
b=s[0]
print(a,b)
②a=6
b=8
b=a
a=8
print(a,b)
- 完成字符串的逆序以及统计
- 设计一个程序,要求只能输入⻓度低于31的字符串,否则提示用户重新输入
- 打印出字符串⻓度
- 使用切片逆序打印出字符串
number=input('请输入字符串:')
s=len(number)
while s<31:
print(s)
letter=list(number)
letter.reverse()
for i in letter:
print(letter,end='')
break
else:
print('请重新输入')