Python的基本操作

系统 1137 0

Python超基础操作

组的表示方式:列表

定义一个列表的基本方式

type([1,2,3,4,5,6])

可以是字符串、布尔类型、数字都是可以在列表中出现的
列表中也可以嵌套列表

[[1,2],[3,4],[True,False]]

(二维数组)嵌套列表

列表的函数和方法:

函数 意义
len() 列表元素的个数
len() 列表元素的个数
cmp() 比较两个列表的元素
max() 列表元素的最大值
min() 列表元素中的最小值
list() 将元组转化为列表
append() 在列表末尾添加新的对象
count() 统计某个元素在列表中出现的次数
extend() 在列表末尾一次性追加另一个序列中的多个值
index() 从列表中找出某个值第一个匹配项的索引位置
insert() 将对象插入列表
pop([index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
remove() 移除列表中某个值的第一个匹配项
reverse() 反向列表中元素
sort(cmp=None, key=None, reverse=False) 对原列表进行排序

访问某一列元素中的某一个元素

[“新月打击”,“苍白之瀑”,“月之降临”,“月神冲刺”][0] ===>“新月打击”
[“新月打击”,“苍白之瀑”,“月之降临”,“月神冲刺”][3] ===>“月神冲刺”
[“新月打击”,“苍白之瀑”,“月之降临”,“月神冲刺”][0:2] ===>[“新月打击”,“苍白之瀑”]
[“新月打击”,“苍白之瀑”,“月之降临”,“月神冲刺”][-1:] ===>[“月神冲刺”]

:的形式返回的是列表
索引的方式返回的是字符串

删除列表元素

list1 = [‘physics’, ‘chemistry’, 1997, 2000] del list1[2] print list1
===>[‘physics’, ‘chemistry’, 2000]

在已有的列表中添加一个列表

[“新月打击”,“苍白之瀑”,“月之降临”,“月神冲刺”]+[“混沌之球”,“安其拉”]
===>[“新月打击”,“苍白之瀑”,“月之降临”,“月神冲刺”,“混沌之球”,“安其拉”]

列表乘数字

[“点燃”,“爆炸”]*3 ===>[“点燃”,“爆炸”,“点燃”,“爆炸”,“点燃”,“爆炸”]

元组

(元组中的元组值是不允许删除的)
定义元组
(1,2,3,4,5,6)
(1,"-1",True)
可以是数字、字符串、布尔类型
删除元组 del 元组名称

查看元组中的内容

(1,2,3,4,5,6)[0] ===> 1
(1,2,3,4,5,6)[0:2] ===>(1,2)
(1,2,3)+(4,5,6) ===>(1,2,3,4,5,6)
(1,2,3)*3 ===>(1,2,3,1,2,3,1,2,3)

int整形 str字符串 list列表 class类 tuple元组

type((1,2,3)) ===>tuple
type(1) ===>int
type([1,2,3]) ===>list
type(“hello”) ===>str
type((1)) ===>int
type((1,) ===>tuple
type([1]) ===>list

元组的内置函数

函数 意义
cmp() 比较两个元组元素
len() 计算元组元素个数
max() 元组元素的最大值
min() 元组元素的最小值
tuple() 将列表转化为元组

序列(组)的概念
str list tuple 都是序列

“hello world”[2] ===>“l”
[1,2,3][2] ===>3

切片操作

[1,2,3,4,5][0:3] ===>[1,2,3]
[1,2,3,4,5][-1:] ===>[5]
“hello world”[0:8:2] ===>“hlow”
in和not in
3 in [1,2,3,4,5,6] ===>True
3 not in [1,2,3,4,5,6] ===>False

列表的长度

len([1,2,3,4,5,6]) ===>6

字符串的长度

len(“hello world”) ===>11
max([1,2,3,4,5,6]) ===>6
man(“hello world”) ===>“w” 根据ascll
min([1,2,3,4,5,6]) ===>1

查看ascll码

ord(“w”) ===>119

set集合(无序,所以不可以用索引;不重复)
定义一个集合

type({1,2,3,4,5,6}) ===>set
{1,2,3,4,1,2,3,4} ===>{1,2,3,4}
len({1,2,3}) ===>3
1 in {1,2,3} ===>True
1 not in {1,2,3} ===>False

集合的特殊操作

(从第一个集合中剔除第二个集合中的元素 ) 求两个集合的差值

{1,2,3,4,5,6}-{3,4} ===>{1,2,5,6}

(在两个集合中找出相同的元素) 求两个集合的交集

{1,2,3,4,5,6}&{3,4} ===>{3,4}

(把两个集合合并到一块) 求两个集合的并集

{1,2,3,4,5,6}|{3,4,7} ===>{1,2,3,4,5,6,7}
type({}) ===>dict type(set()) ===>set
len(set()) ===>0

dict字典(集合类型,无序,不可以有重复的key)
定义一个字典(有很多的value,key)
{key1:value1,key2:value2,key3:value3,…}

type({1:1,2:2,3:3}) ===>dict

{“Q”:“新月打击”,“W”:“苍白之瀑”",E":“月之降临”,“R”:“月神冲刺”}
删除字典元素

dict = {‘Name’: ‘Zara’, ‘Age’: 7, ‘Class’: ‘First’}
del dict[‘Name’] # 删除键是’Name’的条目
dict.clear() # 清空字典所有条目
del dict # 删除字典 ===>字典不存在了

通过key访问/得到value

{“Q”:“新月打击”,“W”:“苍白之瀑”",E":“月之降临”,“R”:“月神冲刺”}[“Q”] ===>“新月打击”

value可以是任意的类型 str int float list set dict
key必须是不可变的类型 str int

type({“Q”:“新月打击”,“W”:“苍白之瀑”",E":{1:1},“R”:“月神冲刺”}) ===>dict

字典内置函数和方法:

函数/方法 意义
cmp() 比较两个字典元素
len() 计算字典元素个数,即键的总数
str() 输出字典可打印的字符串表示
type() 返回输入的变量类型,如果变量是字典就返回字典类型
clear() 删除字典内所有元素
copy() 返回一个字典的浅复制
fromkeys(seq, val) 创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值
get(key, default=None) 返回指定键的值,如果值不在字典中返回default值
has_key() 如果键在字典dict里返回true,否则返回false
items() 以列表返回可遍历的(键, 值) 元组数组
keys() 以列表返回一个字典所有的键
setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
dict.update(dict2) 把字典dict2的键/值对更新到dict里
dict.values() 以列表返回字典中的所有值
pop(key,default) 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值
popitem() 随机返回并删除字典中的一对键和值

变量
变量 名字
定义一个变量(命名可读性要强)

A=[1,2,3,4,5,6]
B=[1,2,3]
A*3+B+A ===>[1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6,1,2,3]
skill=[“新月打击”,“苍白之瀑”]

变量名的规则:
1、只可以使用字母下划线数字
2、首字符不可以是数字
3、系统关键字,不可以用在变量名中 (保留关键字:系统关键字)
4、变量名是区分大小写的
(1)

a=1
b=a
a=3
print(b) ===>1

(2)

a=[1,2,3,4,5]
b=a
a[0]=”1”
print(a) ===>[“1”,2,3,4,5]
print(b) ===>[“1”,2,3,4,5]

int str tuple值类型(数值不可以改变) list set dict引用类型(数值可以改变)

a=”hello”
a=a+” python”
print(a) ===>”hello python”

id()—内存地址

b=”hello”
id(b) ===>55399200
b=b+”python”
id(b) ===>55336696

元组touple和列表list的区别

a=[1,2,3]
id(a) ===>59570576
hex(id(a)) ===>0x38cf99
a[0]=”1”
id(a) ===>59570576

追加元素append()

a=(1,2,3)
b=[1,2,3]
b.append(4)
print(b) ===>[1,2,3,4]

(1)

a=(1,2,3,[1,2,4])
a[2] ===>3
a[3] ===>[1,2,4]
a[3][2] ===>4

(2)
a=(1,2,3,[1,2,[“a”,”b”,”c”]])中“b”的获取

a[3][2][1] ===>”b”

(3)

a=(1,2,3,[1,2,4])
a[3][2]=”4”
print(a) ===>(1,2,3,[1,2,”4”])

元组不可以改变,但是元组中的列表是可以改变的
Python的变量是不需要定义的

运算符

1、算数运算符 + - * / // %

“hello”+” world” ===>”hello world”
加法 [1,2,3]*3 ===>[1,2,3,1,2,3,1,2,3]
乘法 3-1 ===>2
减法 3/2 ===>1.5
除法 3//2 ===>1
整除 5%3 ===>2
余数 2 2 ===>4 2的平方
2
5 ===>32 2的五次方

2、赋值运算符= += -= /= %= *= //=
(1)

c=1
c=c+1
print© ===>2

简化:

c+=1
print© ===>3

(2)

a=3
b=2
b-=a
print(b) ===>1

(3)

b *=a
print(b) ===>3

3、比较(关系)运算符== != > < >= <=

1==1 ===>True
“a”>”b” ===>False
1<1 ===>False
1>=1 ===>True
1<=2 ===>True
1!=2 ===>True

4、逻辑运算符 and or not 且或非(操作布尔类型,返回不二类型结果)0是False,1是True
and 两个都为真的时候才为真,一个假就是假

True and True ===>True
True and False ===>False

or 有一个是真的就是真的,全假为假

True or False ==>True
Flase or False ===>False

not真就是假,假就是真

!True ===>False
!False ===>True

5、成员运算符 in not in

a=1
a not in [1,2,3,4,5] ===>False
b=6
b in [1,2,3,4,5] ===>False
c=”a”
c in {“c”:1} ===>False(是针对key值进行判断的)

6、身份运算符 is is not

a=1
b=2
a is b ===>False
a=”hello”
b=”world”
a not is b ===>True

如果两个变量的取值相等,则is返回True
值是否相等 is 不是比较值相等。is比较的是两个变量的身份时候相等
思考题

a={1,2,3}
b={2,1,3}
c=(1,2,3)
d=(2,1,3)
a==b ===>True 比较的取值是否相同,集合是无序的
a is b ===>False 比较两个变量的id地址
c ==d ===>False 元组是属于序列是有序的
c is d ===>False 比较两个变量的id内存地址

7、位运算符& | ^ ~ << >>

运算符 意义
&按位于 参与运算的两个值,如果两个相应位都为1,则该位结果为1,否则为0
按位或I 只要对应的二个二仅为有一个为1时,结果位就为1
^按位异或 当两对应的二进位相异时,结果为1
~按位取反 对数据的每个二进制位取反,即把1变为0,把0变为1
<<左移动 运算数的各二进位全部左移若干位,由<<右边的数字指定了移动的位数,高位丢弃,低位补0
>>右移动 把>>左边的运算数的各二进位全部右移若干位,>>右边的数字指定了移动的位数

如何判断变量的值、身份和类型?
A==b是对值的判断
A is b 是对身份的判断
类型 type 的判断
对象的三个特征:身份、类型、值(一切都是对象)
如何判断变量的类型?
(1)

a =”hello”
type(a) ==int ===>False

(2)判断变量的类型函数isinstance

isinstance(a,str) ===>True

运算符的优先级

括号的优先级是最高的()
指数(最高)**
~ + - 按位取反、一元加号和减号
/ % // * 乘、除、取余、取整数
加法减法+ -
右移、左移运算符 << >>
& 按位于
^ |位运算符
<= < > >= 比较运算符
< > == != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 是 不是
in not in在 不在
not and or 且或非 not> and>or

表达式:
表达式expression是运算符operator和操作数operand所构成的序列(操作数和运算符是由顺序的)
练习:
(1)

a=1
b=2
c=3
a+b*c ===>7

(2)a or b and c ===>1(先and后or)
练习

a=1
b=2
c=2
(not a) or ((b +2) ==c) ===>False

流程控制语句
条件控制 if else
(1)

mood = True
if mood :
print(“go to left”)
else :
print(“go to right”)

(2)

acctount = “qiyue”
password = “123456”
print(“please input acctount”)
user_acctount = input()
print(“please input password”)
user_password =input()
if acctount user_acctount and password user_password :
print(“success”)
else :
print(“fail”)

练习:输入1时返回apple,输入2时返回orange,输入3时返回banana,别的情况返回supermarket

print(“请输入a的值”)
a=int(input())
if a 1:
print(“apple”)
else:
if a
2:
print(“orange”)
else:
if a==3:
print(“banana”)
else:
print(“supermarket”)

循环控制语句for while
1、while
while condition:
代码
例子:
(1)

CONDITION=True
while CONDITION:
print(“I am while”)

一直进行循环模式,必须手动停止
(2)

counter = 0
while counter<=9 :
counter += 1
print(counter)
else :
print(“最强王者”)

当执行完while时,就会执行else中的代码
如何避免一直循环?
while后不可以为常量
2、for:主要是用来遍历/循环序列或集合、字典
for target_list in expression_list:
pass
例子:
(1)

a=[“apple”,“orange”,“banana”,“grape”]
for x in a:
print(x)

(2)

d=[[“apple”,“orange”,“banana”,“grape”],(1,2,3)]
for x in d:
for y in x:
if y== “orange”:
break
print(y)
else:
print(“fruit is gone”)

range(start,stop,step)函数
start:计数开始
stop:计数结束
step:步长
(1)range(0, -10, -1) # 负数

[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
for x in range(0,10,2):
print(x)

输出0 2 4 6 8
(2)

a=[1,2,3,4,5,6,7,8]
for i in range(0,len(a),2):
print(a[i],end="|")


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论