第一章 入门
1.1 变量-输出
a = 1 # 声明变量
a # 变量的名字
= # 赋值
1 # 值
变量定义的规则:
1.变量由数字,字母,下划线组成
2.不能以数字开头
3.不能使用python中关键字
4.不能使用中文和拼音
5.区分大小写
6.变量名要具有描述性
7.推荐写法
7.1驼峰体
7.2下划线
什么是变量?
变量就是将一个临时的值存储在内容中(存储中间值/起别名)
1.2 常量
常量:ID = 11012013014066 常量就是不变的量
1.3 注释
单行注释 #
多行注释 """ """ ''' '''
被注释的内容是不是会执行的
1.4 基础类型
数字: 用于计算和比较(int)
字符串:在python中只要是用引号引起来的就是字符串(str)
加法 -- 同是字符串才能相加
乘法 -- 只能和数字进行相乘
'''my name's "meet"''' 引号配合使用
布尔值:返回真假值 用于判断(bool)
True 真
False 假
print(bool(0))
数字中非零的都是True
1.5 输入
注意:input获取到的内容全都是字符串
int() -- 将字符串中的数字转换成整型
type() -- 查看数据类型
1.6 if流程判断
单if
if else 二选一
if elif elif 多个选择一个或者零个
if elif elif else 多个选一个
if if if 多选多或零
if 嵌套 进行多层判断 一般if嵌套写三层就可以了
例题:请输入用户名密码,并且判断正确
# and # 和 and前边的内容为真并且and 后边的内容为真才是真
if user == "zbb" and pwd == "123":
print("密码正确")
else:
print("密码或账户错误!")
1.7 while循环
#基本语法
while 条件:
循环体
常用
falg = True
while falg:
print(1)
print(2)
示例
#打印1到5
count = 1
while count <= 5:
print(count)
count = count + 1
# 倒序打印从 57 - 25
count = 57
while count >= 25:
print(count)
count = count - 1
break 终止当前循环,break下方的代码不会进行执行
continue 跳出当前循环继续下次循环
while else的用法
while False: #条件不成立时走else只执行一次
print(111)
break
else:
print(2212)
打断循环的方式:
1.自己修改条件
2.break
1.8 字符串格式化
%s 是占的字符串类型的位置
%d 是占的数字类型的位置
%% 转换成普通的%号
按照位置顺序传递,占位和补位必须要一一对应
s='''
=============================
name %s
age: %s
job: %s
============================
'''
name =input("name")
age=input("age")
job=input("job")
print(s%(name,age,job))
s = f"今天下雨了{input('>>>')}"
print(s)
1.9 运算符
假设a=10,b=20
1.算数运算符
2.比较运算
3.赋值运算
4.逻辑运算
and 详解
and 都为真的时候取and后边的值
and 都为假的时候取and前面的值
and 一真一假取假的
or详解
or 都为真的时候取or前边的值
or 都为假的时候取or后面的值
or 一真一假取真的
() > not > and > or
从左向右执行
成员运算符
in 存在
not in 不存在
2.0 初始编码
ascii (老美)不支持中文
gbk (国标) 英文 8位 中文16位
unicode (万国码)英文16 位 中文 32位
utf-8 (可变长的编码) 英文8位 欧洲文 16位 亚洲24位
linux -- utf-8
mac -- utf-8
windows -- gbk
单位转换
1字节 = 8位
1Bytes = 8bit ***
1024Bytes = 1KB
1024KB = 1MB
1024MB = 1GB
1024GB = 1TB *** TB就够用了
1024TB = 1PB
1024PB = 1EB
2.1整型
1.数字(int)
用于比较和运算的
32位 -2 ** 31 ~ 2 ** 31 -1
64位 -2 ** 63 ~ 2 ** 63 -1
十进制转二进制的算法
除2 取余,获取的所有余数从下往上进行计算
二进制转十进制的算法
从右向左,依次乘以2的次方
1101 1* 2**0 + 0 * 2**1 + 1*2**2 + 1* 2**3
python2 整型 int -- long(长整型) /获取的是整数
python3 整型 int / 获取的是浮点数(小数)
print(int("10101",2)) # 将二进制转换成十进制
print(bin(21)) # 将十进制转换成二进制
2.bool布尔值
print(bool(1)) # 数字非零的就是True 零就是False
print(bool("")) # 字符串不为空就是True ,字符串中没有任何内容就是False
第二章 字符串
1.定义
name = "zxcv"
z x c v 每一个字母叫做一个元素
0 1 2 3 从左向右
-4-3-2-1 从右向左 索引通过索引可以精确的定位到某个元素
2.切片
print(name[0:2]) # 顾头不顾尾 name[起始位置:终止位置]
print(name[:]) # 某个位置不指定的时候默认取最后或最前
print(name[-2:-5:-1]) # [起始位置:终止位置:步长] 步长默认为1
print(name[100:105]) #切片的时候起始位置和终止位置都超出的时候不会进行报错
print(name[100]) # 索引的时候索引值超出范围的时候回报错
3.全部变大写,或者小写
s="zbb"s1 = s.upper() #全部大写print(s1)
s1 = s.lower() # 全部小写print(s1)
应用场景
应用场景
s = input("验证码(AbC5)")
if s.upper() == "AbC5".upper():
print("验证码正确")
else:
print("验证码错误!")
4.开头,结尾
a="zbbb"
s1=a.startswith("b",3) #正数
print(s1) #True
s1 =a.endswith("b",3) #数字是倒数的
print(s1) #True
5.统计
s="qwertyuz"
s1=s.count("q")
print(s1) #1
6.移除
默认除去字符串头尾两端的空格和换行符以及制表符
n = input("请输入密码:")
if n.strip() == "123":
print(1)
else:
print(2)
指定内容除去
name = '****egon88888**'
print(name.strip('*'))
# lstrip 除去左边的 rstrip除去右边的
7.分割
默认以空格和换行符以及制表符进行分割
s = "qwlewlqelw"
# s1 = s.split("l",maxsplit=1)
s1 = s.split("l",1) #分割几次
print(s1)
8.替换
s = "qwlewlqelqw"
# s1 = s.replace("qw","www")
s1 = s.replace("qw","www",1)#替换次数
print(s1)
9.is 判断系列
print(s.isalnum()) # 判断是不是字母,数字,中文
print(s.isalpha()) # 判断是不是字母,中文
print(s.isdigit()) # 判断字符串是不是全都是阿拉伯数字
print(s.isdecimal()) # 判断是否是十进制
10.长度判断
print(len(name))
2.3for循环
语法
name = "你好啊"
for i in name: # for循环
print(i)
# for 关键字
# i 是变量名
# in 关键字
# name 可迭代对象
name = "zbb"
for i in name: # for循环
pass
print(i) #啊
错误的示范
name = True
for i in name:
print(i)
# 数据类型中只有整型和布尔值不能够进行for循环
#else在循环结构中,只有循环正常结束后才执行else,如果使用break跳出了循环,不会执行else
for i in range(0,10):
print(i)
else:
print("else")
当循环结束后执行else #else只执行一次
for i in range(0,10):
print(i)
if(i==9):
break
else:
print("else")
使用break跳出了循环,不会执行else