a = 1 # 声明变量 a # 变量的名字 = # 赋值 1 # 值
变量定义的规则: 1.变量由数字,字母,下划线组成 2.不能以数字开头 3.不能使用python中关键字 4.不能使用中文和拼音 5.区分大小写 6.变量名要具备描述性 7.推荐写法 7.1驼峰体 7.2下划线
什么是变量? 变量就是将一个临时的值存储在内容中(存储中间值/起别名)
常量:ID = 11012013014066 常量就是不变的量
单行注释 # 多行注释 """ """ ''' ''' 被注释的内容是否是会执行的
数字: 用于计算和比较(int)python
字符串:在python中只要是用引号引发来的就是字符串(str)linux
加法 -- 同是字符串才能相加 乘法 -- 只能和数字进行相乘
'''my name's "meet"''' 引号配合使用
布尔值:返回真假值 用于判断(bool)git
True 真 False 假
print(bool(0)) 数字中非零的都是True
注意:input获取到的内容全都是字符串算法
int() -- 将字符串中的数字转换成整型windows
type() -- 查看数据类型编码
单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("密码或帐户错误!")
#基本语法 while 条件: 循环体
经常使用3d
falg = True while falg: print(1) print(2)
示例code
#打印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 跳出当前循环继续下次循环blog
while else的用法
while False: #条件不成立时走else只执行一次 print(111) break else: print(2212)
打断循环的方式:
1.本身修改条件
2.break
%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)
假设a=10,b=20
and 详解
and 都为真的时候取and后边的值 and 都为假的时候取and前面的值 and 一真一假取假的
or详解
or 都为真的时候取or前边的值 or 都为假的时候取or后面的值 or 一真一假取真的
() > not > and > or
从左向右执行
成员运算符
in 存在
not in 不存在
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
用于比较和运算的
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)) # 将十进制转换成二进制
print(bool(1)) # 数字非零的就是True 零就是False print(bool("")) # 字符串不为空就是True ,字符串中没有任何内容就是False
name = "zxcv" z x c v 每个字母叫作一个元素 0 1 2 3 从左向右 -4-3-2-1 从右向左 索引经过索引能够精确的定位到某个元素
print(name[0:2]) # 顾头不顾尾 name[起始位置:终止位置] print(name[:]) # 某个位置不指定的时候默认取最后或最前 print(name[-2:-5:-1]) # [起始位置:终止位置:步长] 步长默认为1 print(name[100:105]) #切片的时候起始位置和终止位置都超出的时候不会进行报错 print(name[100]) # 索引的时候索引值超出范围的时候回报错
s="zbb"s1 = s.upper() #所有大写print(s1)
s1 = s.lower() # 所有小写print(s1)
应用场景
应用场景 s = input("验证码(AbC5)") if s.upper() == "AbC5".upper(): print("验证码正确") else: print("验证码错误!")
a="zbbb" s1=a.startswith("b",3) #正数 print(s1) #True
s1 =a.endswith("b",3) #数字是倒数的 print(s1) #True
s="qwertyuz" s1=s.count("q") print(s1) #1
默认除去字符串头尾两端的空格和换行符以及制表符
n = input("请输入密码:") if n.strip() == "123": print(1) else: print(2)
指定内容除去
name = '****egon88888**' print(name.strip('*')) # lstrip 除去左边的 rstrip除去右边的
默认以空格和换行符以及制表符进行分割
s = "qwlewlqelw" # s1 = s.split("l",maxsplit=1) s1 = s.split("l",1) #分割几回 print(s1)
s = "qwlewlqelqw" # s1 = s.replace("qw","www") s1 = s.replace("qw","www",1)#替换次数 print(s1)
print(s.isalnum()) # 判断是否是字母,数字,中文 print(s.isalpha()) # 判断是否是字母,中文 print(s.isdigit()) # 判断字符串是否是全都是阿拉伯数字 print(s.isdecimal()) # 判断是不是十进制
print(len(name))
语法
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循环