变量有字母、数字、下划线任意组合
不能以数字开头
不能是python的关键字
要具有描述性
不能使用中文、不能过长,推荐驼峰型、下划线
变量只能指向数据,不能指向变量,变量在内存中是唯一命名的
一直不变的量
python中没有真正的常量,全部大写的变量称之为常量,约定俗成
放在文件的最上面
单行注释: #
多行注释:'''被注释内容'''
或"""被注释内容"""
难以理解的代码后面加注释
函数、类、文件都需要加注释,解释说明
int
+ - * / 运算
str
凡是用引号引起来的数据称为字符串
'hello' "I'm fine" '''用于换行的字符串'''
三引号内容赋值给变量就是字符串,没有赋值就是注释
str + str ,str * int,切片,其他操作方法
bool
Ture False,判断真假
list
tuple
dict
set
判断数据类型type(obj)
name = input('提示信息: ')
input出来的全部是字符串类型
单独 if
if 条件: 结果
if else 二选一
if 条件: 结果else: 结果
if elif elif... 多选一 (只要条件成立,后面都不执行)
if 条件1: 结果1elif 条件2: 结果2elif 条件3: 结果3
if elif elif...else 多选一 (上述所有条件都不满足,必须执行else)
if 条件1: 结果1elif 条件2: 结果2elif 条件3: 结果3...else: 结果4
嵌套的 if
usename = input('Name: ')password = input('Passwd: ')code = 'qwer'your_code = input('Code: ')if your_code == code: if username == 'Jerry' and password == '123': print('Login Successful') else: print('Incorrect username or password')else: print('Verification code error')
基本结构:
while 条件: 循环体
基本原理:
先判断条件是否是Ture
如果是Ture进入循环体
执行到循环体的底部
继续判断条件,条件成立,进入循环体
循环控制(如何终止循环?)
while 循环如果break打断,则不执行else语句
count = 1while count <5: print(count) if count == 2: break count += 1else: print('asd')
退出本次循环,继续下一次循环,相当于到了循环底部,返回while继续判断条件
flag = Truewhile flag: print(111) print(222) flag = False continue print(333)
循环中遇到break直接退出循环
count = 2while True: print(count) count += 2 if count == 102: break
flag #标志位flag = Truewhile flag: print('123') print('abc') print('haha') flag = False print('890')
num = 0flag = True while flag: num += 1 print(num) if num == 100: flag = False
s = 0count = 1while count < 101: s += count count += 1print(s)
改变条件
break
continue
while else
系统命令
format % values
占位符使用%和格式字符组成,如%s、%d等
格式字符串和被格式值之间用%分隔,values只能是一个对象,或一个和格式字符串占位符数目相等的元组或一个字典
format()函数
#位置参数"{}:{}".format('192.168.1.1',888)
#关键字参数或命名参数"{server}{1}:{0}".format(888,'192.168.1.1,server = node1:')
#访问元素"{0[0]}.{0[1]}".format(('google','com'))
args是位置参数,是一个元组
kwargs是关键字参数,是一个字典
花括号表示占位符
{}表示按顺序匹配位置参数,{n}表示位置参数索引为n的值
{xxx}表示在关键字参数中搜索名称一致的
{{}}表示打印花括号
把字符串当成一个模板,通过传入的参数进行格式化,使用{}作为特殊字符代替‘%
语法:"{}{xxx}".format(*args,**kwargs)
举例:
算术运算
运算符 | 描述 | 实例 |
---|---|---|
+ | ||
- | ||
* | ||
/ | ||
% | 取余 | |
** | 幂 | |
// | 整除 |
比较运算
运算符 | 描述 | 实例 |
---|---|---|
== | ||
!= | 不等于,返回bool值 | |
<> | 不等于 | |
> | ||
< | ||
>= | ||
<= |
赋值运算
运算符 | 描述 | 实例 |
---|---|---|
= | ||
+= | b += a等效于b = b + 1 | |
-= | ||
*= | ||
/= | ||
%= | ||
**= | ||
//= |
逻辑运算
运算符 | 描述 | 实例 |
---|---|---|
and | ||
or | ||
not |
优先级关系为()>not>and>or,同一优先级从左往右计算
x or y,x为真,值就是x,x为假,值是y
x and y,x为真,值是y,x为假,值是x
成员运算
运算符 | 描述 | 实例 |
---|---|---|
in | 元素在指定序列(字符串、列表、集合、字典)中找到返回True,否则返回False | |
not in |
运算符优先级
运算符 | 描述 |
---|---|
** | 指数 (最高优先级) |
~ + - | 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) |
* / % // | 乘,除,取模和取整除 |
+ - | 加法减法 |
>> << | 右移,左移运算符 |
& | 位 'AND' |
^ | | 位运算符 |
<= < > >= | 比较运算符 |
<> == != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not and or | 逻辑运算符 |
ASCII码:
只包含英文字母、数字、特殊字符,28
8bit = 1byte
GBK:
包含英文字母、数字、特殊字符和中文,国家标准,216
一个英文字母1byte
一个中文2byte
Unicode:
包含全世界所有文字,232
一个字母、中文字符4byte,浪费资源,后升级为UTF-8
UTF-8:
对Unicode编码的压缩和优化,不再使用最少2个byte,将所有的字符和符号进行分类
ASCII码中的内容用1byte保存、欧洲的字符用2byte保存,东亚的字符用3byte保存
联系客服