Pyhton 基础

初识Python

Python是一种解释型语言
Python使用缩进对齐组织代码执行,所以没有缩进的代码,都会在载入时自动执行
数据类型:         整形          int               无限大 
                  浮点型        float             小数
                  复数          complex           由实数和虚数组成

Python中有6个标准的数据类型:
        Number(数字)
        String(字符串)
        List(列表)
        Tuple(元组)
        Sets(集合)
        Dictionart(字典)
其中不可变得数据:
                Number(数字)            String(字符串)            Tuple(元组)     Sets(集合)
         可变得:
                List(列表)         Dictionart(字典)    


​​​​​​​print('hello world')
终端运行代码


hello world

标识符

用于给变量/常量/语句块等命名,用来标识某个实体的一个符号

标识符命名规则

由数字/字母/下划线组成,不能以数字开头,

以下划线开头的标识符有一定的特殊意义
ABC  abc 标识符字母区分大小写
标识符不可以是python中的保留字
查看python中的保留字

import keyword
print(keyword.kwlist)
print(keyword.iskeyword('and'))
终端运行代码

 
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

True


变量名

命名规则

(大驼峰MyName  小驼峰myName  下划线分隔my_Name)

数值型

整型、浮点型、布尔型、复数

#整形转浮点型时 在整数后面加 .0

print(float(2))
终端运行代码

2.0



#浮点型、整形转布尔型时、  非0数值结果为Ture 其余为False

print(bool(1.0))
终端运行代码

True


#浮点型转整型    将小数点剔除,保留整数位

print(int(5.3))
print(int(5.6))

终端运行代码

5
5


运算符

​​​​​​​常见的操作运算符:算数、比较、赋值、按位、逻辑、成员、身份

+ -  * /   %(取模)  //(取整) **(幂)

比较运算符

> < == >= <= !=

print(12>13)
print('a'>'b')
终端运行代码

False
False


赋值运算符

= +=  -= *= /=

使用特殊的赋值运算时需要先定义变量 f+=4

按位运算符

&(与) |(或) ^(异或) ~(按位取反)

#ord函数将ASCII转化为十进制

print(ord('a'))
print(ord('b'))
终端运行代码

97
98

逻辑运算符

逻辑运算用于对布尔型变量进行运算,其结果也是布尔型

true 和 false 就是 布尔值。


运算顺序

先运算左右两边的表达式得出布尔值,再进行逻辑运算。

and(与)

and 布尔与 and 前面值为false,则输出and前面的值,反之亦然

print(12 and 13)
终端运行代码

13

or(或)

#or   或      or前面的值为true,则输出or前面的数,反之亦然

m=12;n=13
print(12 or 13)
终端运行代码

12

not(非)

#not 布尔非

print(not(12))
终端运行代码

False


成员运算符

in  not in

print('m' in ['m',12,34])
print('l' in ['m',12,34])
print('l'  not in ['m',12,34])
终端运行代码

False
True
False
True

  身份运算符

is  is not 


x=90;y=12
print(id(x))
print(id(y))
print(x is y)
print(3.14*5.0*2.0)
终端运行代码

140722735803976
140722735801480
False
31.400000000000002

字典

字典属于映射类型的数据结构,可以包含任意数据类型的元素

创建字典 {} dict函数

mydict={'name':'tom','age':19,'国籍':'china'}
print(mydict)

终端输出
{'name': 'tom', 'age': 19, '国籍': 'china'}

字典中的元素、键和值

字典中的元素以键值对的形式存在,字典中个元素都有与之对应的值

字典中键是唯一的,且是不可变的(字符串、数字、元组)

不是唯一的,且可以是可变的数据类型,也可以是不可变的
字典中个元素都有与之对应的且唯一的键

双指子序列

dict函数:实际上将包含双值子序列的序列对象转换成字典   dict[]

包含两个元素的序列(‘专业’,‘大数据’)['sex','man']'ab'

1.将双值子序列组成员数组[]/列表()

dict1=dict([('专业','大数据'),['sex','man'],'ab'])
print(dict1)

终端输出
{'专业': '大数据', 'sex': 'man', 'a': 'b'}

2、通过等于=将键隔开,键不允许重复的

dict2=dict(name='zhangsan',age=22)
print(dict2)
mydict1={'name':'tom','age':19,'国籍':'china','age':22,'age':10000}
print(mydict1)

终端输出
{'name': 'zhangsan', 'age': 22}
{'name': 'tom', 'age': 10000, '国籍': 'china'}

提取元素

无索引 无切片 通过键值对的方式提取

mydict2={'name':'tom','age':19,'国籍':'china'}

已知键为name求其对应的值,注意:键要存在于字典中

print(mydict2['name'])

print('判断键是否存在于字典中')
print('name'in mydict2)

print(mydict2.get('name'))

终端输出
tom

判断键是否存在于字典中
True

tom

弱碱不存在字典中输出none

print(mydict2.get('summer')

终端输出

None

弱碱不存在于字典中输出“改内容不存在”

print(mydict2.get('summer','改内容不存在'))

终端输出

该内容不存在

已知值为china求对应的键

jian=mydict2.keys()
zhi=mydict2.values()
print(jian)
print(zhi)

终端输出
dict_keys(['name', 'age', '国籍'])
dict_values(['tom', 19, 'china'])

j=list(jian)
z=list(zhi)
print(j)
print(z)

终端输出


['name', 'age', '国籍']
['tom', 19, 'china']

z1=z.index('china')
print(z1)
print(j[2])

终端输出

2
国籍

增添元素

mydict3={'name':'tom','age':19,'国籍':'china'}
mydict3['sex']='man'        
print(mydict3)

终端输出

{'name': 'tom', 'age': 19, '国籍': 'china', 'sex': 'man'}

​

update

other={'专业':'大数据','身高':'180'}
mydict3.update(other)
print(mydict3)

终端输出

{'name': 'tom', 'age': 19, '国籍': 'china', 'sex': 'man', '专业': '大数据', '身高': '180'}

​

删除元素   pop del

del mydict3['sex']
print(mydict3)
mydict3.pop('age')
print(mydict3)

终端输出

{'name': 'tom', 'age': 19, '国籍': 'china', '专业': '大数据', '身高': '180'}
{'name': 'tom', '国籍': 'china', '专业': '大数据', '身高': '180'}

修改元素

​​​​​mydict3['身高']=185
print(mydict3)

终端输出

{'name': 'tom', '国籍': 'china', '专业': '大数据', '身高': 185}

集合 

集合就是将值抽离,只存在键的字典
zidian={'name':'tom'}
jihe={'name'}
集合是不可变的数据类型


根据数据结构对象划分,分为可变集合和不可变集合
 

可变集合

​​​

#创建可变集合     {}      set函数
set1={'name',2,(23)}
myset=set(('name',2,5))
print(myset)

终端输出
{'name', 2, 5}


不可变集合


#创建不可变集合    frozenset
myset1=frozenset(('name',2,5))
print(myset1)

终端输出
frozenset({'name', 2, 5})

运算方法(交集        并集       差集     异或集)

set1={'java','c','c++','python','c#'}
set2={'web','html','css','js','python'}

交集     &   intersection

print(set1&set2)
set1.intersection(set2)
s=set1.intersection(set2)
print(s)
终端输出

{'python'}
{'python'}

并集 | union

print(set1|set2)
print(set1.union(set2))
终端输出
{'c', 'java', 'js', 'c#', 'css', 'web', 'c++', 'html', 'python'}
{'c', 'java', 'js', 'c#', 'css', 'web', 'c++', 'html', 'python'}

差集     -       difference

print(set1-set2)
print(set2-set1)
s1=set1.difference(set2)
print(s1)
s2=set2.difference(set1)
print(s2)
终端输出
{'c++', 'c', 'c#', 'java'}
{'html', 'js', 'css', 'web'}
{'c++', 'c', 'c#', 'java'}
{'html', 'js', 'css', 'web'}

异或集    ^   symmetric_difference    求两集合的不同部分

print(set1^set2)
s3=set2.symmetric_difference(set1)
print(s3)
终端输出
{'c', 'html', 'web', 'java', 'c++', 'js', 'c#', 'css'}
{'java', 'c#', 'c', 'js', 'css', 'web', 'c++', 'html'}

运算符 >   <=   >   >=

子集{1,2}{1,3}{2,3}{1}{2}{3}{1,2,3}空集    真子集{1}{2}{3}{1,2}{1,3}{2,3}空集
set5={1,2,3,} 
set4={1,3}
<  用来判断某集合是否为另一集合的真子集
print(set5<set4)    #set5是否为set4的真子集
print(set4<set5)
终端输出
False
True
 <=或 issubset 用来判断某集合是否为另一集合的子集
print(set4<=set5)
s4=set5.issubset(set4)
print(s4)
终端输出
True
False

# > 用来判断某集合是否为另一集合的真超集  集合A中包含了集合B中的所有元素,也包含了集合B中没有的元素

print(set5>set4)

终端输出

True

>= 或 issuperset 用来判断某集合是否为另一集合的超集   集合A中包含集合B中所有元素

print(set5>=set4)
s5=set4.issuperset(set5)
print(s5)

终端输出

True
False

可变集合常用的函数和方法

增添 add(添加单个元素) update(增添多个元素)

set3={'web','html','css','js','python'}
set3.add('jquery')
print(set3)
other={'mysql','linux'}
set3.update(other)
print(set3)

终端输出
{'css', 'html', 'web', 'python', 'jquery', 'js'}
{'css', 'html', 'web', 'python', 'jquery', 'linux', 'mysql', 'js'}

删除 pop

随机进行删除

set3.pop() 
print(set3)

固定删除

set3.remove('css')
print(set3)

{'html', 'web', 'python', 'jquery', 'linux', 'mysql', 'js'}

clear 清除内容

set3.clear()
print(set3)

set()

len 查看长度

print(len(set3))

0

列表

总结

1.数据结构类型:数字、字符串、列表、元组、字典
2.序列(列表、元组):数据结构元素的有序排列

3.列表:可变数据类型      元组:不可变数据类型

创建列表 [] list函数

mylist1=[1,2,3,4,5]
print(mylist1)
mylist2=list((1,2,3,4))
print(mylist2)
[1, 2, 3, 4, 5]
[1, 2, 3, 4]

列表索引提取 1.索引提取 2.切片提取

mylist3=[1,2,[3,4],4,5,'one']
print(mylist3[5])
print(mylist3[5:6])
print(mylist3[1:5:2])    #步长为2,步长不能为0,步长为一的时候可以省略
print(mylist3[-1:-5:-2])
one
['one']
[2, 4]
['one', 4]

列表元素的增加

1.append 2.extend 3.insert

append 只能添加一个元素

list1=['one','two','three']
list1.append('six')
print(list1)
['one', 'two', 'three', 'six']

extend添加多个元素

other=['three','five']
['one', 'two', 'three', 'six', 'three', 'five']

insert指定位置添加元素

list6=['12','2','3']
list6.insert(1,'five')
print(list6)

['12', 'five', '2', '3']

列表元素的删除   

del pop remove

list2=['one','two','three','four']

del删除是要先写del 然后写列表名称   中括号里面

del list2[2]
print(list2)

['one', 'two', 'four']


pop语句中无任何参数时,默认删除的是索引为-1的参数

list2.pop(2)
print(list2)
list2.pop()
print(list2)


['one', 'two']
['one']

remove删除指定元素

list3=['one','two','three','four']
list3.remove ('three')
print(list3)


['one', 'two', 'four']

列表元素的修改

list4=['one','two','three','four']
list4[2]='six'
print(list4)
['one', 'two', 'six', 'four']

列表元素的查询

in 判断某元素是否存在于列表中    index查询该元素在列表中

list5=['one','two','three','four']
print('one' in list5)
print(list5.index('one'))
True
0

列表中常见函数

num=[2,4,6,3,7,10,6]

count 用来查看列表中某元素出现的次数

print(num.count(6))
2

sort对列表中的元素进行排序,默认为升序

num.sort()
print(num)
num.sort(reverse=True)
print(num)

[2, 3, 4, 6, 6, 7, 10]
[10, 7, 6, 6, 4, 3, 2]

元组

​​​​​​​元组和列表的异同

相同:有序元素的集合,并且都可以包含任意类型元素
不同:列表是可变数据类型   元组是不可变数据类型


创建元组   ()tulpe函数

t1=(1,5,0)
print(t1)
t2=tuple((1,5,0))
print(t2)

(1, 5, 0)
(1, 5, 0)

list1=[4,6,8]
tl=tuple(list1)
print(tl)
print(type(tl))

(4, 6, 8)
<class 'tuple'>

元组中元素的提取  

1、索引提取 2、切片提取
mytuple=('计算机','大数据','人工智能','电子商务')
print(mytuple[1])
print(mytuple[1:3])

大数据
('大数据', '人工智能')

#元组解包;将元素各个元素分别赋值给多个不同的变量

mytuple=('计算机','大数据','人工智能','电子商务')
a,b,c,d=mytuple
print(a)

计算机

常见的函数

count 

查看元组中某元素出现的次数
t3=(3,4,5,6,4,3)
print(t3.count(4))

2


sorted

对元素进行排序
print(sorted(t3))

[3, 3, 4, 4, 5, 6]

index

查看元素第一次出现的位置对应的索引
print(t3.index(5))

2


len   

查看元组中元素的长度
print(len(t3))

6

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值