python测试开发预习课5/21

一、执行代码的2种方式

1、**交互模式:**所见即所得,输入一行代码可以一行代码的执行结果
2、**文件模式:*把代码保存在文件中,然后使用绝对路径执行后得到结果
绝对路径:python d:\a.py
例如:C:\Users\sunqianli>python d:/a.py
hello world!
相对路径:cmd先进入到e盘下,python a.py

在这里插入图片描述
注意:一般来说:调试代码,在交互模式,代码缩进比较多,建议使用文件模式。
在这里插入图片描述
在这里插入图片描述

二、各种变量类型
1、整型、小数、字符串、bytes类型
>>> a=1
>>> b=1.22
>>> c="好孩子"
>>> d="好孩子".encode("utf-8")
>>> type(d)
<class 'bytes'>
>>> type(c)
<class 'str'>
>>> type(b)
<class 'float'>
>>> type(a)
<class 'int'>

在这里插入图片描述
知识点:
str类型:在python的编程中可以直接使用,进行各种运算。不可以用在网络传输。python的内置变量类型,仅在python里面有效。
bytes类型:用于网络传输中使用。网络传输公共数据的一种类型。在python环境中是不能进行字符串直接操作的,必须转换为str类型,才可以进行字符串的各种操作。

2、bytes类型的转换
>>> f=b"abc"#字母和数字这样写没有问题
>>> type(f)
<class 'bytes'>
>>> g=b"但是"
  File "<stdin>", line 1
SyntaxError: bytes can only contain ASCII literal characters.
>>> g="新年好呀".encode("utf-8")
>>> type(g)
<class 'bytes'>

在这里插入图片描述

3、ord()函数和chr()函数
>>> ord("A")
65
>>> ord("a")
97
>>> ord("Z")
90
>>> ord("z")
122
>>> chr(65)
'A'
>>> chr(97)
'a'
>>> chr(122)
'z'

在这里插入图片描述

>>> ord("光")
20809
>>> ord("孙千丽")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: ord() expected a character, but string of length 3 found
>>> ord("孙")
23385
>>> ord("千")#是unicode码
21315

在这里插入图片描述

4、encode和decode

知识点:
ascii:0-127 纯英文
unicode:和ascii类似,它包含全世界目前官方认可的所有字符(只能用于内存);不是用于存储到磁盘的。对应的是str类型。
简体:
GBK:数字的key---->汉字 (字符集的字数要比gb2312多)
GB2312: 数字的key---->汉字 (没有生僻字)
繁体
Big5:台湾和香港
utf-8
utf-16
utf-32

以上几种都是用于存储到磁盘的。如果是计算内存中的字符,想存储到本地磁盘encode(“xxx编码”)

>>> s="孙千丽"
>>> type(s)
<class 'str'>

在这里插入图片描述

5、列表

知识点:
**列表:**可以存储多个对象,里面存储的内容,均可以做增删改查

>>> l=[]
>>> l.append(1)
>>> l.append("2")
>>> l.append([1,2])
>>> l
[1, '2', [1, 2]]
>>> type(l)
<class 'list'>

在这里插入图片描述
所有python的对象存储,均是用class(类)来进行实例化存储的。

6、元组
>>> t=(1)
>>> t
1
>>> type(t)
<class 'int'>
>>> t=(1,)
>>> type(t)
<class 'tuple'>
>>> l
[1, 2, [1, 2]]
>>> l[0]=100
>>> l
[100, 2, [1, 2]]
>>> t[0]=100
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment

在这里插入图片描述
**知识点:**列表与元组的区别:列表的元素可以修改,元组的元素不可以修改。

7、字典
>>> d={"1":"abc"}
>>> type(d)
<class 'dict'>
>>> d={[1]:"abc"}#不能用可变类型作为key
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
>>> d={1:"abc",1:"def"}#key不能重复,重复后面的会将前面的覆盖了
>>> d
{1: 'def'}

在这里插入图片描述
知识点:
可变类型:list dict set
不可变的类型:整数、小数、字符串和元组-------------可以作为字典的key

8、set()函数去重
>>> s=set("abc")#集合,一般用来排重,没有顺序之说
>>> s
{'a', 'c', 'b'}
>>> type(s)
<class 'set'>
>>> s=set("abcabcabc")
>>> s
{'a', 'c', 'b'}
>>> s=set([1,2,3,4,2,1])
>>> s
{1, 2, 3, 4}
>>>

在这里插入图片描述

>>> s=set({1:2,3:4,5:6}.values())
>>> s
{2, 4, 6}

在这里插入图片描述

9、Python文本保存的编码

s=“光荣之路” #类型:str–unicode类型
s=s.encode(“utf-8”) #bytes类型,可以用于网络传输
在这里插入图片描述
其他机器收到了内容,怎么变成str类型?
s.decode(“utf-8”) #从bytes 变为了str类型。
在这里插入图片描述
encode:编码 str—>bytes
decode:解码 bytes----->str

为了网络传输,为了将str类型转化为其他的类型进行网络传输。

>>> s="孙千丽"
>>> type(s)
<class 'str'>
>>> s=s.encode("utf-8")
>>> s
b'\xe5\xad\x99\xe5\x8d\x83\xe4\xb8\xbd'
>>> type(s)
<class 'bytes'>
>>> s.decode("utf-8")
'孙千丽'
>>> s.decode("gbk")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'gbk' codec can't decode byte 0xbd in position 8: incomplete

在这里插入图片描述
注意:
1、你的程序使用文件模式执行,建议:不管里面有没有中文,都存储成utf-8编码格式。
2、你的程序如果使用gbk编码保存,则文件的第一行写上#encoding=gbk,就可以了。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10、%s占位符
>>> s="孙千丽"
>>> print("%s新年好呀"%s)
孙千丽新年好呀
>>> print("%s美好的一天,%s"%(s,"要开心呀"))#格式化输出
孙千丽美好的一天,要开心呀

在这里插入图片描述

11、input()从键盘输入–注意类型是字符串类型要记得转化(经常容易出错)
>>> s=input("你是谁:")
你是谁:小可爱
>>> s=int(input("请输入数字:"))
请输入数字:1
>>> s=s+1
>>> s
2

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值