表达式特点
#例
a=1
print(a)
#这就是一个语句
def gerrt_user():
print('hello,world')
#def开头,代表定义函数
#def和函数名中间一定要记得敲一个空格
#函数名后面跟括号(),代表定义的是函数,里边可以加参数
#括号后面一定要加冒号:,这个很重要
#代码块部分,是由语句组成,要有缩进
import keyword
keyList = keyword.kwlist
print(keyList)
保留字 | 含义 |
---|---|
and | 用于表达式运算,逻辑与操作 |
as | 用于类型转换 |
assert | 断言,用于判断变量或条件表达式的值是否为真 |
class | 用于定义类 |
continue | 继续执行下一次循环 |
def | 用于定义函数或方法 |
del | 删除变量或者序列的值 |
elif | 条件语句 与if else 结合使用 |
else | 条件语句 条件语句,与if,elif结合使用。也可以用于异常和循环使用 |
except | 包括捕获异常后的操作代码,与try,finally结合使用 |
exec | 用于执行python语句 |
for | 循环语句 |
finally | 用于异常语句,出现异常后,始终要执行finally包含的代码块。与try,except结合使用 |
from | 用于导入模块,与import结合使用 |
global | 定义全局变量 |
if | 条件语句,与else,elif结合使用 |
import | 用于导入模块,与from 结合使用 |
in | 判断变量是否存在序列中 |
is | 判断变量是否为某个类的实例 |
lambda | 定义匿名函数 |
not | 用于表达式运算,逻辑非操作 |
or | 用于表达式运算,逻辑或操作 |
pass | 空的类,函数,方法的占位符 |
打印语句 | |
raise | 异常抛出操作 |
return | 用于从函数返回计算结果 |
try | 包含可能会出现异常的语句,与except,finally结合使用 |
while | 循环语句 |
with | 简化Python的语句 |
yield | 用于从函数依次返回值 |
基本数据类型:数据类型指的就是变量值的类型、也就是可以为变量赋哪些值、不同的数据类型对应的值并不一样
number:数值类型 (就是数字,支持int\float\bool\complex类型)
str:字符串类型 (是有数字、字母、下划线组成的一串字符,用于对应显示当中的数据。创建方法:通过用引号括起来的一串字符用“=”指向一个变量)
list: 列表 (有序、可变的序列集合。创建方法:将所有的元素放在[ ] 并用“=”指向一个变量即创建了一个列表)
Tuple:元组 (不可变的list有序序列,一旦创建无法修改。创建方式:将所有元素放在 ()当中并用“=”指向一个变量)
set : 集合 (是Python基本的数据类型之一,分为可变set()和不可变(frozenset)两种,一般应用比较少)
dict:字典 (基于哈希表存储键值对的一种映射机构数据类型。 创建方式:将键值对元素放入{ }当中并用“=”指向一个变量)
int: 整数(Python可以处理任意大小的整数,当然包括负整数,在Python程序中,整数的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等,计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等)
float:浮点数(浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是相等的。浮点数可以用数学写法,如1.23,3.14,-9.01,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x10^9就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等)
整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差
bool:布尔( 布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来
布尔值可以用and、or和not运算
and运算是与运算,只有所有都为 True,and运算结果才是 True。
or运算是或运算,只要其中有一个为 True,or 运算结果就是 True。
not运算是非运算,它是一个单目运算符,把 True 变成 False,False 变成 True)
用type()函数
变量命名规则:
转义字符 | 描述 |
---|---|
\\ | 续行符 |
\’ | 单引号 |
\" | 双引号 |
\b | 退格(backspace) |
\e | 转义 |
\n | 换行 |
\v | 纵向制表符 |
\t | 横向制表符 |
\r | 回车 |
\f | 换页 |
print('Hello\''
' World!')
print('C:\\Windows\\System32')
print('I\'am woodman')
print("我要学习\"Python\"")
print('linux\b')
print('linux\ngood!') # 会换行输出good
print('Python\vgood!') # good会加上纵向制表符
print('Python\t good!') # good会加上横向制表符,相当于tab键
print('woodman\r good!')
print('woodman\f good!') # 比较少用
# 作用一:注释的作用
"""
懂的都懂
"""
# 作用二:保留格式
c = """
关关雎鸠,
在河之洲,
窈窕淑女,
君子好逑
"""
print(c)
#输出内容
# 关关雎鸠,
# 在河之洲,
# 窈窕淑女,
# 君子好逑
# 占位符 %s
s = 'i love %s'%'you'
print(s)
#输出内容:i love you
# 格式化字符串:将字符串不可改变的属性格式化、然后将它的内容改变
a = "abc" #不可变数据类型
#改变成abcdef
# 拼串
b = "def"
print(a + b)
#输出内容:abcdef
# 参数的传递
print('b = ',b)
# f "
y = '钱'
x = '玩'
str1 = f'i love {y},{x}'
print(str1)
#输出内容:i love 钱,玩
# format
str2 = 'i love {},{}'.format(y,x)
print(str2)
#输出内容:i love 钱,玩
# 占位符 %s
s = 'i love %s'%'you'
print(s)
#输出内容:i love you
d = [1,2,3]
c = [1,2,3]
print(d == c)
print(d is c)
# 二个输出函数的返回值均是布尔值
# 前者为True、后者为Flase
a = 1
b = 1
print(id(a),id(b))
#输出内容:1984785424 1984785424
#地址相等
c = [1,2,3]
d = [1,2,3]
print(id(c),id(d))
#输出内容:2712853120264 2712853120008
#地址不相等
# python console环境里
a = 12345678923456
b = 12345678923456
print(id(a),id(b))
#输出内容:271285312026424 271285312000835
#地址不相等
# a = 6、b = 8、我想让a和b的值交换、二种方法实现
def demo3(a, b):
a = a + b # a = 14
b = a - b # b = 6
a = a - b # a = 8
print(a, b)
方法二:
def demo1(a,b):
temp = a
a = b
b = temp
print(a,b)
要求从键盘输入用户名和密码,校验格式是否符合规则,如果不符合,打印出不符合的原因,并提示重新输入
• 用户名长度6-20,用户名必须以字母开头
• 密码长度至少6位,不能为纯数字,不能有空格
while True:
# 账号检查
Id = input('请输入用户名:')
list_Id = list(Id)
head_num = list_Id[0] # 获取第一个输入字符
if head_num.isalpha() == False: # 判断首字母是否为字符
print('首字母必须为字母,请重新输入。。。。')
if len(Id) < 6 or len(Id) > 20: # 判断字符串长度
print('用户名长度为6-20,请重新输入。。。。')
else:
# 密码检查
pw = input('请输入密码:')
if len(pw) < 6:
print('密码长度不足!!!')
if pw.isdigit() == True: # 判断密码是否为纯数字
print('密码不能为纯数字!!!')
for i in pw:
if i.isspace() == True: # 判断密码中是否存在空格
print('密码不能有空格!!!')
else:
break