Python基础总结(一)

Python基础总结(一)

1、注释

单行注释:‘#’ + 注释内容

多行注释:’’’ + 注释内容 + ‘’’,也可以为双引号

特殊注释:
(linux下)#!+ python路径 + /env + 空格 + python
(python2)# encoding=utf-8
(python2)# coding:utf-8

2、中文乱码

产生原因:编码和解码的规范不同

ASCII规范:
1)、字符转数字的规范
2)、怎样存储的规范

3、变量

定义:不是用来存储数据的,而是引用某个数据

作用:复用、维护、节省空间(磁盘存储和内存)

规则:

1)变量名 = 值
2)变量名1,变量名2 = 值1,值2
3)变量名1 = 变量名2 = 值

注意:

1)一个变量只能引用一个数值
2)变量名使用之前一定要赋值
3)命名规范:非关键字、区分大小写、驼峰标识、字母数字下划线组成

4、数据类型

查看数据类型:type(数据)

含义:
1)区分存储空间
2)根据不同数据类型的特征,做不同的数据处理

常用数据类型:

Numbers(数值类型):int,long,float,complex
Bool(布尔类型):True,False
String(字符串): ‘,",’’’,"""
List(列表)
Set(集合)
Tuple(元组)
Dictory(字典)
NoneType(空类型)

5、类型转换

整型:int(x)
浮点型:float(x)
字符型:str(x)
表达式字符串:repr(x)
字符:chr(x)
uniclde字符:unichr(x)
整数:ord(x)
16进制字符串:hex(x)
8进制字符串:oct(x)
计算字符串中有效表达式,返回对象:tuple(str)
列表:list(s)
元组:tuple(s)

静态类型:类型是编译的时候确定的,后期无法修改,例如C语言:int i = 5
动态类型:类型是运行时进行判定的,可以动态修改,例如python: i = 5
强类型:例如:python中,(“a” + 4),执行时报错
弱类型:例如:C中,(“a” + 4),执行时自动发生类型转换
python:强类型的动态类型语言

6、运算符:算术运算符

加:+(数值相加,其他拼接相连)
减:-
乘:*
幂运算:**(次方运算)
除:/(数学中运算规则)
整除:// (取商数)
取模:% (取余数)
赋值:=
整除和求余的应用场景:行列问题等

注意:

1)除0问题
2)优先级问题,使用()解决

7、运算符:符合运算符

a x= 值 :a = a x 值

+= : (a = a + 5) == (a += 5)

-= : (a = a - 5) == (a -= 5)

*= : (a = a * 5) == (a *= 5)

**= : (a = a ** 5) == (a **= 5)

%= : (a = a % 5) == (a %= 5)

//= : (a = a // 5) == (a //= 5)

8、运算符:比较运算符

’ > ’ :大于
’ < ’ : 小于
’ != ’ :不等于
’ <> ’ :python2中表示不等于
’ >= ':大于等于
’ <= ’ :小于等于
’ == ’ :等于(比对的是值)
’ is ’ :比对的是唯一标识
’ id(x) ’ : 查看唯一标识
’ print(id(x)) ’ : 打印唯一标识
链式比较运算符:5 < x < 10 不用如C语言般将其拆成两个部分

9、运算符:逻辑运算符

not : 非,取反

and : 与,并且,同真则真,一假全假,若前一个参数假,则不往后走,直接判错,若前一个参数为真,则判断下一个参数

or : 或,或者,一真全真,若前一个参数假,则判断下一个参数,若前一个参数为真,直接判真

注意:

1)非布尔类型真假判定:非零即真,非空即真
2)整个逻辑表达式的结果不一定只是True和False

10、输入

获取数据:

1)程序内部写死的数据
2)从文件里面读取 .txt(文件的读取操作)
3)网络服务器进行获取(网络请求)

4)接收用户的输入:
(1) 、input()函数,class:str
(2) 、eval()函数,class:int

11、输出

输出数据:

1)写回到文件里面保存
2)发送回服务器
3)打印到控制台,通过界面展示给用户看

print()函数:

格式:print(values,sep,end,file,flush)
values:需要输出的值,多个值时,使用‘,’进行分割
sep:分隔符,多个值被输出之后,会添加指定的分隔符
end:输出完毕后,以指定字符结束,默认’\n’
file:表示输出的目标,默认是控制台,还可以是一个可写入的文件句柄
flush:表示立即输出,值为Bool类型(解决缓冲区停留问题,flush=True直接在控制台输出)

使用场景:

输出一个值
输出一个变量
输出多个变量: print(num1,num2)
格式化输出格式 :print("{0},{1}".format(name,age))
输出到文件中:print(“xxxxxx”,file=file)
输出不自动换行
输出的各个数据使用分隔符分割

12、格式符

格式化输出:占位符
print("%s,%d"%(name,age))
%[(name)] [flags] [width] [.precision] typecode
[ ]:可以省略

(name):表示根据制定的名称(key),查找对应的值,格式化到字符串当中
例:
maths = 98
englishs = 99
print("%(ms)d,%(es)d"%({“es”:englishs,“ms”: maths})

width:表示占用的宽度
例:
print("%6d"%maths):占了6位

flags:
空:右对齐
-:左对齐
空格:为一个空格,表示在正数的前面加一个空格,从而与负数对其
0:用0填充

.precision : 表示小数点后精度

typeCode:
数值:i/d,o,x,e,E,f,F,g,G (g:自动调整)
字符串:s(str),r (repr),c(unicode对应的值)
特殊:%(转义)

注:python中百分号格式不存在自动将整数转换成二进制表示的方法

13、python执行顺序

大走向:从上到下
其他:分支、循环

14、python分支

1)单分支判断

例:

age = 17
if age >= 18 :
(Tab) print(“xxxxxxx”)
print(“xxxxxxxxxxxx”)

2)双分支判断

例:

age = 17
if age >= 18 :
(Tab) print(“xxxxxxx”)
else:
(Tab) print(“xxxxxooooo”)

3)if嵌套

if:
(Tab)print()
else:
(Tab)if:
(Tab) (Tab)print()
(Tab)else:
(Tab) (Tab)print()

4)多支判断

if:
(Tab)print()
elif:
(Tab)print()
elif:
(Tab)print()
else:
(Tab)print()

5)注意

强制缩进、嵌套层次不要太深、没有switch…case语法

容错处理:

例:

if not xxxxx:
(Tab)exit()
print(1)
print(2)
print(3)

15、python循环

简介:周而复始,重复性的做某些事情

1)while循环

(1)考虑好循环的结束条件,防止死循环
(2)修改条件
(3)打断循环break
(4)没有类似于do…while循环
(5)与else连用

while 条件:
(Tab)print(条件满足时执行的语句)
else:
(Tab)print(条件不满足时执行的语句)

2)for循环

1)介绍:遍历一个集合,遍历完毕即循环结束

for x in xxxx:
(Tab)print()

2)与else连用,如果for循环顺利的执行完毕,则会执行else,如果被break打断,则不会执行else

for x in xxxx:
(Tab)print(条件满足时执行的语句)
else:
(Tab)print(条件不满足时执行的语句)

3)反转字符串

例:

ntc = “123456789”
rst = “”
for i in ntc:
(Tab)rst = i + rst
print(rst)

3)循环打断

1)break:打断本次循环,跳出整个循环

for i in range(1,7):
(Tab)if i == 4:
(Tab)(Tab)break
(Tab)print(i)
123

2)continue:结束本次循环,继续执行下次循环

for i in range(1,7):
(Tab)if i == 4:
(Tab)(Tab)continue
(Tab)print(i)
12356

4)分支循环及嵌套

(1)循环内嵌套if
(2)循环内嵌套循环
(3)pass语句:空语句,保证结构的完整性
(4)案例练习:

a:水仙花数

num = input(“请输入一个三位数:”)
num = int(num)
if not (100 <= num < 1000):
(Tab)print(“您输入的数据无效”)
(Tab)exit()
bai = num//100
shi = (num % 100) // 10
ge = num % 10
value = bai ** 3 + shi ** 3 +ge ** 3
if value == num:
(Tab)print("%d是水仙花数" % num)
else:
(Tab)print("%d不是水仙花数" % num)

b:猜数字

import random
num = random.randint(1, 100)
while True:
(Tab)cai = input(“请猜这个数字是多少:”)
(Tab)cai = int(cai)
(Tab)if cai == num:
(Tab) (Tab)print(“恭喜您!结果正确!”)
(Tab) (Tab)exit()
(Tab)elif cai > num:
(Tab) (Tab)print(“您猜的数字过大了!请重新猜数字!”)
(Tab)elif cai < num:
(Tab) (Tab)print(“您猜的数字过小了!请重新猜数字!”)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值