Python学习(基础知识1)

记录Python学习,踏实走好每一步。

文章目录

  • 前言
  • 一、Python保留关键字
  • 二、常用函数
    • 1.print()
    • 2.读入数据
    • 4.列表
    • 5.元组
    • 6.字典
    • 7.集合set
    • 8.格式化输出
  • 总结


前言

至于Python的安装,CSDN上面有很多资料,按照资料安装即可


提示:以下是本篇文章正文内容,下面案例可供参考

一、Python保留关键字

初识Python,要知道哪些是python保留的关键字,这些字有特殊的含义,我们在自定义变量的时候不能用这些字。

>>> import keyword
>>> keyword.kwlist
['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']

二、常用函数

1.print()

打印变量,可以同时输出多个变量。
print() 函数的详细语法格式如下:
print (value,…,sep=’’,end=’\n’,file=sys.stdout,flush=False)
print()默认有换行符存在,如果要改变输出方式采用print(XX,end='X ')
下面的30和40会在同一行输出,用空格隔开

print ("hello.word,this is my first python program")
print (30,end='  ')
print(40)

可以将打印信息存在某个文件中。

f=open("demo.txt","w")
print("helloword",file=f)
print('good luck',file=f)
f.close()

可以将多个变量自定义格式输出,用sep参数

name="susan"
age=20
print(name,age,sep="-----")

2.读入数据

input()函数可以从控制台获取用户输入的信息:
str=input(提示信息),注意:input()函数输出的默认为字符串类型。

name=input("please input your name:")
print("my name is :"+name)

## 3.运算符

在Python中,每个对象(object)包括三个要素:id(),type(),value()
运算符包括数学运算符和逻辑运算符。
举例:==和is

==比较的对象的内容是否相等
is比较的是对象的id值是否相等,即对象是否为同一个对象。

>>> a=257
>>> b=257
>>> print(a is b)
False
>>> print(a == b)
True

但是在pycharm里面:

c=257
d=257
print(c is d)
print(id(c) is id(d))

ture

false
为什么在pycharm和Console里的运行结果不一样呢? 存储好的脚本文件(Script file)和在Console中的交互式(interactive)命令,执行方式不同。对于脚本文件,解释器将其当作整个代码块执行,而对于交互性命令行中的每一条命令,解释器将其当作单独的代码块执行。而Python在执行同一个代码块的初始化对象的命令时,会检查是否其值是否已经存在,如果存在,会将其重用。 可以参考 [https://blog.csdn.net/sparkbye/article/details/79038862] 另外,对应可变类型(列表,集合,字典),is的返回值为False.

4.列表

创建列表的方法有两种:
listname=[ele0,ele1,ele2…]

listname=["zhangsan","lisi","wangwu"]

使用list()函数进行创建

name=list("xiaohong")
print(name)

访问列表的元素,方法一:listname[index]

print(name[0])

方法二:采用切片的方式listname[start: end: step]

print(name[2:6:2])

注意:listname[:]可以取出列表中所有的元素

print(name[:])

列表的元素添加,listname.append(obj),在列表的尾部添加单个元素,添加的对象作为一个整体。

name.append("fiona")
print(name)

['x', 'i', 'a', 'o', 'h', 'o', 'n', 'g', 'fiona']

listname.extend(seq)可以多个元素。seq指列表。

name2=['maomao','dongdong']
name.extend(name2)

listname.insert(index,obj)在指定位置添加元素。

ame.insert(1,'haha')
print(name)

listname.pop()从列表尾部移除列表,加参数index可以删除指定位置的元素

ame.pop()
print(name)
name.pop(2)
print(name)

del.listname【index】删除指定位置的元素,del.listname【start:end】删除指定位置断的元素

del name[1]
print(name)
del name[2:5]
print (name)

listname.remove(obj)删除某个元素值,注意:obj必须存在于列表中,否则程序会报错。

name.remove('fiona')
print(name)

clear(listname)清除列表中所有元素。

clear(name)

listname.index(obj)查看obj在列表中对应的索引位置。

name=['x', 'a', 'n', 'g', 'maomao']
print(name)
print(name.index('g'))

3

查找某个元素是否在某个范围里,用listname.index(obj,startindex,endindex),当不在指定的区间中,程序会报错。

print(name.index('g',0,9))

查找某个元素在列表中出现的次数,listname.count(obj)

print(name.count('a'))

5.元组

元组(tuple)也是序列结构,与列表一样,也是有特定顺序的元素排列组成。
不同之处:
1.列表可以增,删,改元素,从而改变列表的序列;
2.元组一旦被创建,便无法更改。
创建元组的方法:
用tuplename=(ele0,ele1,ele2…),注意为(),列表为【】

tuple1=('xiaohua','xiaoming','xiaozhao','xiaoli')
print(tuple1)

用tuple函数进行创建。tuple(obj)

tuplel2=tuple('fiona')
print(tuplel2)

tuple无增删改,可以进行元素查找,tuple.index(obj)和tuple.count(obj)

6.字典

字典(dict)是Python里的唯一映射类型。它是无序的,可变序列的序列,以key-value形式存在。索引成为key,数值为value.
特征:
1.通过key进行元素的查找
2.字典是任意数据类型的无序集合
3.字典是可变的,并且可以任意嵌套
4.key必须唯一并且不可以改变

字典的创建,dictname={key1:value1,key2:value2…}

dict1={
     'name':'zhangsan','age':22,'address':'hebei'}
print(dict1)

利用自带函数dictname.fromkeys()进行创建

knowledge=["数学","语文","英语"]
dict2=dict.fromkeys(knowledge)
print(dict2)
dict2=dict.fromkeys(knowledge,100)
print(dict2)


{
     '数学': None, '语文': None, '英语': None}
{
     '数学': 100, '语文': 100, '英语': 100}

将二维数值转化为字典,注意元素长度,不可以超过2.

dict3=[("one",2) ,("o",2)]
print(dict3)
dict3=dict(dict3)
print(dict3)

通过zip()函数

a=[1,2,3]
b=['a','b','c']
c=dict(zip(a,b))
print(c)

{
     1: 'a', 2: 'b', 3: 'c'}

访问字典里的元素,dictname[key]来访问字典中的value。(使用该方法必须保证key存在于字典中,如果不存在会报错)

print(c[1])

利用dictname.get(key)进行访问,不会出现上述情况,推荐使用。

print(c.get(4))



None

打印字典里的元素用dictname.items();打印字典里的key用dictname.keys(),打印字典里的value用dictname.values().

for m in c.items():
    print(m)
for n in c.keys():
    print(n)
for l in c.values():
    print(l)


(1, 'a')
(2, 'b')
(3, 'c')
1
2
3
a
b
c

向字典中添加元素。

c[4]='d'
print(c)


{
     1: 'a', 2: 'b', 3: 'c', 4: 'd'}

删除字典的元素,用dictname.pop(key)和dictname.popitem()

c.pop(3)
print(c)

{
     1: 'a', 2: 'b', 4: 'd'}

c.popitem()
print(c)

{
     1: 'a', 2: 'b'}

字典的拷贝,dict.copy(obj)

score1={
     "数学":90, "英语":89, "语文":98}
score2=dict.copy(score1)
print(score2)


{
     '数学': 90, '英语': 89, '语文': 98}

移动字典里的元素,比如删除

score1.pop("英语")
print(score1)
print(score2)


{
     '数学': 90, '语文': 98}
{
     '数学': 90, '英语': 89, '语文': 98}

添加元素

score1["政治"]=99
print(score1)
print(score2)

{
     '数学': 90, '语文': 98, '政治': 99}
{
     '数学': 90, '英语': 89, '语文': 98}

注意字典的拷贝属于浅拷贝,注意:区分浅拷贝和深拷贝的区别。
后续会补充到。

setdefault(key,value),注意:当key不存在时,会增加key和value的值到字典中,如果key值存在,则不会更新value值。

score1.setdefault("物理",88)
print(score1)

{
     '数学': 90, '语文': 98, '政治': 99, '物理': 88}

score1.setdefault("物理",100)
print(score1)

7.集合set

集合是无序不重复的元素集合。集合用{}表示,用“,”进行分割。集合的创建方式,setname={ele0,ele1,ele2…}

set1={
     'mon','tue','wen','tur','fri','sta','sun'}
print(set1)

用set函数进行创建
int(set1)

set2=set((1,2,3))
print(set2)
int(set1)

元素的添加,setname.add(obj)

set2.add(4)
print(set2)

另一种方法用setname.update(obj)

top=(5,6,7,8)
set2.update(top)
print(set2)

集合删除元素

set2.remove(7)
print(set2)

集合的用法:
1.元素去重

 print(set2)
list0=[1,2,3,4,5,2,3,4,1,4,5]
set0=set(list0)
print(set0)

{
     1, 2, 3, 4, 5}

2.求元素的差集。

list1=[1,2,3,4,5]
list2=[2,3,4,5,6]
set1=set(list1).difference(set(list2))
print(set1)


{
     1}

3.求元素的交集,沿用上述例子。

set2=set(list1).intersection(set(list2))
print(set2)


{
     2, 3, 4, 5}

4.求元素的并集,同样沿用上述例子。

set3=set(list1).union(set(list2))
print(set3)


{
     1, 2, 3, 4, 5, 6}

8.格式化输出

%输出。

name='zhangsan'
age=22
print('%s %s '%(name,age))  #%s占位符
print('%o'%(20)) # %o 8进制
print('%d'%(20))  # % 10进制
print('%x'%(20)) # % 16进制

format()进行格式化输出,位置匹配

name='zhangsan'
age=22
print('{} {}'.format(name,age)) # {
     }是占位符
print('{0} {1}'.format(name,age)) # 01代表位置
print('{1} {0}'.format(name,age)) 

在占位符处定义变量位置,变量匹配

print('{name} {age} {name} {age}'.format(name='李四',age=23)) # 在占位符处定义变量的位置

利用f-string的方式进行格式化输出

name='wangwu'
age=20
print(f'{name},{age}')  # f-string的格式

总结

主要整理了Python常见的数据类型的基本用法。

你可能感兴趣的:(学习笔记,python)