文章目录
1.基本概念
1.1表达式
- 表达式,是由数字、算符、数字分组符号(括号)、⾃由变量和约束变量等以能求得数值的有意义排列⽅法所得的组合
- 表达式特点
- 表达式⼀般仅仅⽤于计算⼀些结果,不会对程序产⽣实质性的影响
- 如果在交互模式中输⼊⼀个表达式,解释器会⾃动将表达式的结果输出
1.2语句
- ⼀个语法上⾃成体系的单位,它由⼀个词或句法上有关连的⼀组词构成
- 语句的执⾏⼀般会对程序产⽣⼀定的影响,在交互模式中不⼀定会输出语句的执⾏结果
1.3程序
程序就是由⼀条⼀条的语句和⼀条⼀条的表达式构成的。
1.4函数
- 函数就是⼀种语句,函数专⻔⽤来完成特定的功能
- 函数⻓的形如:xxx()
- 函数的分类:
- 内置函数:又称内建函数,就是由语法规定存在的函数,这些函数,包含在编译器的运⾏时库中,程序员不必单独书写代码实现它,只需要调⽤既可。
- ⾃定义函数 : 由程序员⾃主的创建的函数 当我们需要完成某个功能时,就可以去调⽤内置函数,或者⾃定义函数
- 函数的两个要素
- 参数
- 返回值
2.标识符
2.1关键字
python⼀些具有特殊功能的标识符,这就是所谓的关键字,是python已经使⽤的了,所以不允许开发者⾃⼰定义和关键字相同的名字的标识符
2.2标识符概念
- 开发⼈员在程序中⾃定义的⼀些符号和名称。标识符是⾃⼰定义的,如变量名、函数名等
- 组成:由26个英⽂字⺟⼤⼩写,数字 0-9 符号 _$
- 标识符的规则:
- 1.标识符中可以包含字⺟、数字、_,但是不能使⽤数字开头 例如:name1 name_1 _name1 1name(不⾏)
- 2.Python中不能使⽤关键字和保留字来作为标识符
- 命名方式
- 驼峰命名法
- ⼩驼峰式命名法: 第⼀个单词以⼩写字⺟开始;第⼆个单词的⾸字⺟⼤写,例如:myName、aDog
- ⼤驼峰式命名法: 每⼀个单字的⾸字⺟都采⽤⼤写字⺟,例如:FirstName、LastName
- 下划线命名法
- ⽤下划线“_”来连接所有的单词,⽐如 get_url_buffer_size
- 驼峰命名法
3.基本数据类型
数据类型指的就是变量的值的类型,也就是可以为变量赋哪些值
3.1 整数和小数
- 整数 : 所有整数 例如 : a = 1 b = 100 c =999 都是int类型
- ⼩数 : 所有⼩数 例如 a = 1.2 b=6.66 ⽤float类型表示
3.2布尔值和空值
- 布尔: 只有2个值⼀个是True ⼀个是False
- None常量:只有⼀个数值就是None 也就是空值
4.变量
4.1变量的概念
- 变量是计算机内存中的⼀块区域,存储规定范围内的值,值 可以改变,通俗的说变量就是给数据起个名字。
- 变量命名规则
- 变量名由字⺟、数字、下划线组成,要符合标识符的命名规范
- 不能用数字开头
- 不能使⽤关键字
- 注意 : 是两个对象相等和两个对象是同⼀个对象是两个概念
s1 = {'Jerry':'Python'}
import copy
s2 = copy.deepcopy(s1)
print(s2) # {'Jerry': 'Python'}
print(id(s1),id(s2))
print(s1==s2)
4.2变量的运算
变量的运算就是正常的四则运算 ,需要注意的是在运算过程中含有浮点数,那么它返回的就是⼀个浮点数类型
5.字符串
5.1什么是字符串
- 字符串是由数字、字⺟、下划线组成的⼀串字符
- 注意
- 单引号或者双引号不能混合使⽤
- Python中⽤⼀对双引号或者⼀对单引号包裹的内容就是字符串
5.2转义字符
转义字符是⼀种特殊的字符常量。转义字符以反斜线""开头,后跟⼀个或⼏个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符
\t 表示制表符
\n 表示换⾏符
\\ 表示反斜杠
\' 表示 '
\" 表示 "
5.3长字符串
- ⻓字符串 ⼜叫做⽂档字符串 我们使⽤三重引号来表示⼀个⻓字符串’’’ ‘’’
- 三重引号内部可以换⾏,并且会保留字符串中的格式
5.4 格式化字符串
- 拼接两个字符串
- 参数传递
- 占位符
- %s 字符串占位
- %f 浮点数占位
- %d 整数占位
- f’{变量}’ 或者 str.format
5.5字符串的其他操作
- len() 字符串的⻓度
- max() 最⼤值
- min() 最⼩值
- split()分割字符串
- join()拼接字符串
- 去空格
- s.strip() 左右两边去空格
- s.lstrip() 去左边空格
- s.rstrip() 去右边空格
- 字符串⼤⼩写
- s.upper() 全部⼤写
- s.lower() 全部⼩写
- s.isupper() 判断是不是⼤写
- s.islower() 判断是不是⼩写
1.a,b = 6, 8 怎样让a=8 b=6?用2种方式实现
2. 完成字符串的逆序以及统计
- 设计一个程序,要求只能输入长度低于31的字符串,否则提示用户重新输入
- 打印出字符串长度
- 使用切片逆序打印出字符串
def print_hi():
s = input('输入长度小于31的字符串')
while len(s) >= 31:
s = input('输入长度小于31的字符串')
print(len(s))
s = s[::-1]
print('逆序字符串:'+s)
print_hi()
3.要求从键盘输入用户名和密码,校验格式是否符合规则,如果不符合,打印出不符合的原因,并提示重新输入
- 用户名长度6-20,用户名必须以字母开头
- 密码长度至少6位,不能为纯数字,不能有空格
import re
def user_and_key():
name = input('输入用户名(长度6-20,必须以字母开头):')
while re.match(r'^[A-z](.){5,19}$', name) is None:
if re.match(r'^[^A-z](.)*$', name):
print('用户名不能以非字母开头。')
if re.match(r'^[A-z](.){,4}$', name) or re.match(r'^[A-z](.){20,}$', name):
print('用户名的长度不能小于6或大于20.')
name = input('输入用户名(长度6-20,必须以字母开头):')
key = input('输入密码(至少6位,不能为纯数字,不能有空格):')
while re.match(r'^(\d)*$', key) or re.match(r'^(\w){6,}$', key) is None:
if re.match(r'^(\d)*$', key):
print('密码不能为纯数字。')
if re.match(r'^(\w){,5}$', key):
print('密码长度要大于5.')
if re.match(r'^(\w|\s){6,}$', key):
print('密码不能有空格。')
key = input('输入密码(至少6位,不能为纯数字,不能有空格):')
print('用户名:' + re.match(r'^[A-z](.){5,19}$', name).group())
print('密码:' + re.match(r'^(\w){6,}$', key).group())
user_and_key()