Python语法基础(一)

本文介绍了Python编程的基础知识,包括输入输出、变量和操作符、数据类型及其转换、基本的判断和循环结构,以及列表、元组、字典和集合等组合数据类型及其操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

语法基础

1.输入输出

输出

print(输出内容)

print函数完整语法格式:print(value,...,sep=' ',end='\n',file=None)

输入

变量名=input("这里是提示文字,提醒用户应该输入什么")

num=input('请输入您的幸运数字')
print('您的幸运数字是'+num)#连接成功,num是字符串类型
num=int(num)#用int将其转换为整型
print('您的幸运数字是'+num)#不能正常连接,类型不一样
print('您的幸运数字是',num)#可以运行

2.基本变量及操作符

保留字

标识符

可以是字符,数字,下划线,并且第一个字符不能是数字,不能使用python中的保留字,要严格区分大小写,以下划线开头的标识符具有特殊含义,应该避免使用类似的。

变量

变量名=value

luck_number=8
print('luck_number的数据类型是',type(luck_number))
luck_number='我爱说实话'
print('luck_number的数据类型是',type(luck_number))
#上述例子说明python可以通过给变量赋不同类型的值来改变数据类型

id操作符是取变量的地址的

常量一般都用全大写字母和下划线来表示

整数类型

浮点数类型和复数类型

x=123+456j
print('x的整数部分是',x.real)
print('x的虚数部分是',x.imag)

字符串类型

三引号可以用来输入多行字符串

字符串又被称为有序的字符序列,对字符串中某个字符的检索称为索引

比如下面这个例子中s[2]和s[-8]代表的东西是一样的

字符串的切片(截取一段字符串)

切片语法格式:字符串或字符串变量[N:M] 代表从N开始到M,不包括M

常用的字符串操作

布尔类型

数据类型之间的转换

注意:float转换为int类型,只保留整数部分,不会四舍五入

           在两个整数做除法时,会自动变成浮点数的结果,不会像C/C++一样只保留整数

eval( )函数

#eval函数经常与input函数一起使用,用来获取用户的数据
age=eval(input('请输入您的年龄'))#相当于int(age)的操作
print(age,type(age))

例子2:第一个可以运行,第二个不能运行 

hello='我爱说实话'
print(eval('hello'))
#可以运行,去掉引号的hello代表的是一个字符串变量
print(eval('我爱说实话'))
#不能运行,去掉引号的变量是我爱说实话,未被定义

算数运算符

赋值运算符

支持链式赋值,a=b=c=100这种格式的

Python还支持系列解包赋值  a,b=10,20 即把a的值赋值为10,b的值赋值为20

Python还支持10<=x<20这种写法,这在C/C++中是不成立的

逻辑运算符

3.程序结构

判断结构(单分支,双分支,多分支)

注:使用if语句时,如果要执行的只有一个语句,那么可以将其放在冒号后面

if语句也可以相互嵌套来使用

多个条件可以用and或者or来连接作为判断依据

Python中的match语句(模式匹配,类似于switch-case语句)

score=input("输入成绩等级")
match score:
    case 'A':
        print('优秀')
    case 'B':
        print('良好')

循环结构(for,while)

for-else语句中的else后面的部分只有在循环正常结束时才会执行,如果循环遇到非正常情况跳出了,else语句就不会执行

遍历对象可以用range函数,Python中的range()函数可以产生一个[n,m)的整数序列,包含n但是不包含m

循环中也可以使用break和continue

pass是Python中的保留字,相当于空语句,目的是使程序不报错

4.组合数据类型

序列类型

切片操作的语法结构

s = 'helloworld'
s1 = s[0:5:2]
print(s1)
#输出的结果是hlo,从0开始,不包含5,间隔为2

 如果省略开始位置,省略结束位置,只有步长,那么会获取合法范围内的按步长的所有元素

如果步长是负数,那么相当于是把字符串进行逆置

由序列引出列表类型,与C/C++中的数组比较类似,指按一定的特定序列排列的元素组成,是Python中内置的可变序列,用[ ]定义,元素和元素之间用逗号分隔。

列表中的元素可以是任意的数据类型

 

使用enumerate函数要注意,index是序号,不是索引,是可以人为手动修改的 

列表的遍历:

lst = ['hello' , 'world' , 'python' , 'php']
#第一种遍历方式
for item in lst:
    print(item)
#第二种遍历方式
for i in range(0,len(lst)):
    print(i,lst[i])
#第三种遍历方式 enunerate函数
for index,item in enumerate(lst):
    print(index,item)
#手动设置序号的值
for index,item in enumerate(lst,start=1):
    print(index,item)

列表的相关操作

 sort排序是在原列表的基础上产生的,不会产生新的列表对象

而内置函数sorted()则会产生新的列表对象

列表生成式以及二维列表

列表生成式举例 

import random
#从1-10
lst=[item for item in range(1 , 11)]
print(lst)
#可以改变item,item*item的值作为列表中的值
lst=[item*item for item in range(1,11)]
print(lst)
#代表从1到100生成10个随机数
lst=[random.randint(1,100) for _ in range(1,10)]
print(lst)
#有选择的将元素放入列表当中
lst=[i for i in range(0,10) if i % 2 == 0]
print(lst)

 生成一个二维列表

#生成一个四行五列的列表
#首先遍历行,然后每一行的元素都是列表,因此还要有一个[],列表的每一个元素是j
lst=[[j for j in range(1,6)]for i in range(4)]
print(lst)

 元组类型

要特别注意,如果元组中只有一个元素,逗号不能省,这样的类型才会是元组类型

#使用小括号创建元组
t=('hello',[10,20,30],'python','world')
print(t)
#输出结果 hello [10,20,30] python world
#使用内置函数tuple创建元组
t=tuple('helloworld')
print(t)
#输出结果 h,e,l,l,o,w,o,r,l,d
t=tuple([10,20,30,40])
print(t)
#输出结果 10,20,30,40
t=(10,)
print(type(t))
#输出结果 <class 'tuple'>

 元组的访问以及遍历与序列类似,直接看序列的部分即可

元组生成式

元组生成式生成的是一个生成器对象,需要先将其转化成元组或者用__next__()来看到里面的元素,但是要注意用__next__()后,相当于元组里面的元素已经被提取出来了,因此如果再想遍历的话,里面是没有元素的。

t=(i for i in range(1,4))
t=tuple(t)
print(t)
t=(i for i in range(1,4))
print(t.__next__())
print(t.__next__())
print(t.__next__())
#也能达到取1,2,3的效果

元组和序列的区别

字典类型

字典类型是根据一个信息查找另一个信息的方式构成了键值对,它表示索引用的键和对应的值构成的成对关系

d={10:'cat',20:'dog',30:'pet',20:'zoo'};
print(d)
#输出结果为{10: 'cat', 20: 'zoo', 30: 'pet'},
# 因为有键值相同的情况出现,会出现覆盖的情况
lst1=[10,20,30,40];
lst2=['cat','dog','pet','zoo','var']
zipobj=zip(lst1,lst2)
print(list(zipobj))
#zip函数生成后的是一个生成器对象,还需要转换才能看到结果
#如果转成列表类型,里面的元素都是元组类型
#[(10, 'cat'), (20, 'dog'), (30, 'pet'), (40, 'zoo')]
d=dict(zipobj)
print(d)
#如果转成字典类型,需要用dict函数
#{10: 'cat', 20: 'dog', 30: 'pet', 40: 'zoo'}

 元组同样也可以作为键值!列表不可以作为键值,因为列表是可变数据类型

d[key]如果遇到不存在的元素会直接报错,而d.get(key)会输出一个默认值,或者可以自己设定一个 默认值

d={10:'cat',20:'dog',30:'pet',20:'zoo'};
for item in d.items():#这个输出结果以元组形式
    print(item)
for key,value in d.items():#这个输出结果将其拆开来看
    print(key,value)

 字典的相关操作

d={10:'cat',20:'dog',30:'pet',20:'zoo'};
print(list(d.keys()))
print(tuple(d.values()))
#可以用d.keys()和d.values()来取出元素,但要注意的是
#取出的是dict型,需要转换成列表或元组才能看里面的值
lst=list(d.items())
print(lst)
#将字典中的数据转成key-value的形式,以元组的方式进行展现
d=dict(lst)#再转换会字典
print(d)

字典生成式

集合类型

 

 

 集合的相关操作

列表,元组,字典,集合的区别

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值