Python学习超简单第一弹:基础语法
Python快乐学习、快乐成长
基础语法
1、变量的定义
指在程序运行过程中值可以发生改变的量。
1.1 字符串型变量
test='hello world'
print(test)
hello world
1.2 整型变量
Test=123
print(Test)
123
1.3 浮点型变量
test=10.5
print(test)
10.5
同时定义多个变量 变量1,变量2,…,变量n=值1,值2,…,值n 例如:name,age=‘张三’,18
🤔🤔修改多个变量的值 x,y=5,10 x,y=y,x x,y分别为多少?
x,y=5,10
x,y=y,x
print(x,y)
10 5
2、数据类型
2.1 Number(数字)
int(整型):整型数字包括正整数、0和负整数,不带小数点,无大小限制
float(浮点型):浮点型数字使用C语言中的double类型实现,可以用来表示实数
complex(复数类型):复数由实部和虚部组成,每一部分都是一个浮点数。如:a+bj或a+bJ 其中,a和b是两个数字,j或J是虚部的后缀,即a是实部、b是虚部
在生成复数时,使用complex([real[,imag]]
complex(3)
(3+0j)
complex(4,-3.1)
(4-3.1j)
2.2 String(字符串)
Python语言中只有用于保存字符串的String类型,而没有用于保存单个字符的数据类型。
Python中的字符串可以写在一对单引号中,也可以写在一对双引号或一对三双引号中。
s1,s2='Hello World!',"你好,世界!",
print(s1,s2)
Hello World! 你好,世界!
字符串转整数:int函数
第一个参数是要转换为整数的字符串(要求必须是一个整数字符串,否则会报错)
第二个参数是字符串中整数的数制(不指定则默认为10)
int('10',2)
2
int('10')
10
int('10',2) //把10转成二进制
2
int('10+1') //报错
字符串转成浮点数:float函数
只有一个参数,即要转换为浮点数的字符串(要求必须是一个整数或浮点数字符串)
float('10')
10.0
float('10.1')
10.1
float('10.1+1') //报错
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
float('10.1+1')
ValueError: could not convert string to float: '10.1+1'
子串截取
利用下标“[]”可以从字符串中截取一个子串,其语法格式为:s[beg:end]
其中,s为原始字符串,beg是要截取子串在s中的起始下标,end是要截取子串在s中的结束下标。
s='hello,world'
print(s[1:5])
ello
下标索引方式
1、从前往后索引:第1个字符的下标为0,其他字符的下标是前一字符的下标增1
2、从后往前索引:从后向前索引方式中,最后一个字符的下标为-1,其他字符的下标是后一字符的下标减1
s='helloworld'
print(s[1:5])
ello
print(s[-5:-1])
worl
截取单一字符 语法格式:s[idx]
s='你好学习课程很快乐'
print(s[2])
学
使用下标“[]”可以访问字符串中的元素,但不能修改。
2.3 List(列表)
列表元素索引
列表中元素的索引方式与字符串中元素的索引方式完全相同,也支持从前向后索引和从后向前索引两种方式,语法格式:ls[beg:end]
ls=[1, 2.5, 'test', 3+4j, True, [3,1.63], 5.3]
print(ls[1:3])
[2.5, 'test']
print(ls[-5:-1])
['test', (3+4j), True, [3, 1.63]]
访问单个元素 语法格式:ls[idx]
ls[2]
'test'
ls[-1]
5.3
元素修改
将列表ls中第3个元素的值改为111
ls[2]=111
ls[2]
111
将列表ls中第2至4个元素替换为[‘python’,55]中的元素
ls[1:4]=['python',55]
ls[1:4]
['python', 55, True]
将列表ls中前两个元素替换为空列表[],即将前两个元素删除
ls[0:2]=[]
ls
[55, True, [3, 1.63], 5.3]
2.4 Tupe(元组)
Tuple(元组)与列表类似,可以包含多个元素,且元素类型可以不相同,书写时每两个元素之间也是用逗号分隔;
与列表的不同之处在于:元组的所有元素都写在一对小括号“()”中,且元组中的元素不能修改;
元组元素索引
s=(1, 2.5, 'test', 3+4j, True, [3,1.63], 5.3)
s[1:3]
(2.5, 'test')
s[-3:-1]
(True, [3, 1.63])
单一元素访问 语法格式:s[idx]
s[1]
2.5
s[-1]
5.3
2.5 Set(集合)
与元组和列表类似,Set(集合)中同样可以包含多个不同类型的元素,但集合中的各元素无序、不允许有相同元素且元素必须是可哈希(hashable)的对象。
可哈希对象是指拥有__hash__(self)内置函数的对象。列表、集合和字典类型的数据不是可哈希对象,所以它们不能作为集合中的元素。
创建集合
集合中的所有元素都写在一对大括号“{}”中,各元素之间用逗号分隔。创建集合时,既可以使用{},也可以使用set函数。set函数的语法格式如下:set([iterable]);其中,iterable是一个可选参数,表示一个可迭代对象。
a={1, 2.5, 'test', 3+4j, True, 5.3, 2.5}
print(a)
{1, 2.5, 5.3, 'test', (3+4j)}
b=set('hello')
print(b)
{'l', 'h', 'e', 'o'}
2.6 Dictionary(字典)
Dictionary(字典)是另一种无序的对象集合。
但与集合不同,字典是一种映射类型,每一个元素是一个键(key):值(value)对。
键必须是唯一的,即不同元素的键不能相同;另外,键必须是可哈希数据,即键不能是列表、集合、字典等类型;值可以是任意类型。
创建字典
既可以使用{},也可以使用dict函数。
zip函数的参数是多个可迭代的对象(列表等),其功能是将不同对象中对应的元素分别打包成元组,然后返回由这些元组组成的列表。以下三种结果一样:
a={'z':1,'f':2}
b=dict(z=1,f=2)
c=dict(zip(['z','f'],[1,2]))
print(a)
{'z': 1, 'f': 2}
print(b)
{'z': 1, 'f': 2}
print(c)
{'z': 1, 'f': 2}
访问字典元素
与列表等序列对象不同,在访问字典中的元素时不能通过下标方式访问,而是通过键访问
print(a['z'])
1
3、运算符
3.1占位运算符和算术运算符
占位运算符
%d 有符号整型十进制数
%s 字符串
%f或%F 有符号浮点型十进制数
s1='%s去了%s,本次%s,开心指数%d' %('张','郑州','很开心',99)
print(s1)
张去了郑州,本次很开心,开心指数99
算术运算符
| 运算符 | 功能描述 |
|---|---|
| + | 相加 |
| - | 相减 |
| * | 相乘 |
| / | 相除 |
| // | 整除 |
| % | 整除的余数 模 |
| - | 负数 |
| + | 正数 |
| ** | 次幂 |
i1,i2=10,3
print(i1**i2)
1000
3.2赋值运算符、比较运算符和逻辑运算符
赋值运算符
| 运算符 | 功能描述 |
|---|---|
| = | y=x x的值赋给变量y |
| += | y+=x 等价于y=y+x |
| -= | y-=x 等价于y=y-x |
| *= | y*=x 等价于y=y*x |
| /= | y/=x 等价于y=y/x |
| //= | y//=x 等价于y=y//x |
| %= | y%=x 等价于y=y%x |
| **= | y**=x 等价于y=y**x |
比较运算符
| 运算符 | 功能描述 |
|---|---|
| == | y==x 如果y和x相等,返回True,反之返回False |
| != | y!=x 同理 |
| > | y>x 同理 |
| < | y<x 同理 |
| >= | y>=x 同理 |
| <= | y<=x 同理 |
逻辑运算符
| 运算符 | 功能描述 |
|---|---|
| and | x and y 如果x和y都是True,返回True,反之返回False |
| or | x or y 如果x和y都为False,返回False,反之返回True |
| not | not x 如果x为True,返回False;如果x为False,返回True |
3.3位运算符
十进制转二进制
除基取余法:用2去除十进制整数,得到商和余数;
如果商不为0,则继续用2除,再得到商和余数,重复该步骤直至商为0;
最后将余数按照从后至前的顺序排列,即得到转换后的二进制数。#### 3.4身份运算符和成员运算符
二进制转十进制
二进制数转十进制数的规则是“按权展开求和”,即将二进制数的每一位写成数码乘以位权的形式,再对乘积求和。
11010B=1*24+1*23+0*22+1*21+0*20
=1*16+1*8+0*4+1*2+0*1
=16+8+0+2+0
=26
| 运算符 | 功能描述 |
|---|---|
| & 按位与 | y&x 如果y和x对应位都为1,则结果中该位为1;否则,该位为0 |
| | 按位或 | y|x 如果y和x对应位都为0,则结果中该位为0;否则,该位为1 |
| ^ 按位异或 | y^x 如果y和x对应位不同,则结果中该位为1;否则,该位为0 |
| << 左移位 | y<<x 将y左移x位(右侧补0) |
| >> 右移位 | y>>x 将y右移x位(左侧补0) |
| ~ 按位取反 | ~x 如果x的某位为1,则结果中该位为0;否则,该位为1 |
位运算是指对二进制数进行逐位运算。
i1,i2=3,6
print(i1^i2)
5
计算方法:011B^110B=101B=5
3.4身份运算符和成员员运算符
身份运算符
身份运算用于比较两个对象是否对应同样的存储单元。
| 运算符 | 功能描述 |
|---|---|
| is | x is y 如果x和y对应同样的存储单元,则返回True;否则,返回False |
| is not | x is not y 如果x和y不对应同样的存储单元,则返回True;否则,返回False |
x,y=5,5
print(x is y)
True
成员运算符
成员运算用于判断一个可迭代对象(序列、集合或字典)中是否包含某个元素。
| 运算符 | 功能描述 |
|---|---|
| in | x in y 如果x是可迭代对象y的一个元素,则返回True;否则,返回False |
| not in | x not in y 如果x不是可迭代对象y的一个元素,则返回True;否则,返回False |
x,y=10,['zhang',True,10]
print(x in y)
True
3.5序列运算符和运算符优先级
序列运算符
| 运算符 | 功能描述 |
|---|---|
| + 拼接 | x+y 将序列x和序列y中的元素连接,生成一个新的序列 |
| * 重复 | x*y 将序列x中的元素重复y次,生成一个新的序列 |
x,y=[666,True],['x',999]
z=x+y
print(z)
[666, True, 'x', 999]
运算符优先级
在一个表达式中,通常会包含多个运算,这就涉及到了运算的顺序,其由两个因素确定:运算符的优先级和运算符的结合性。
4、条件语句
4.1条件语句概述
通过设置条件,可以使得某些语句在条件满足时才会执行。
1输入成绩并保存到变量score中
2 如果score小于60
3 输出“不及格”
4 否则,如果score小于70
5 输出“及格”
6 否则,如果score小于80
7 输出“中等”
8 否则,如果score小于90
9 输出“良好”
10 否则,如果score小于等于100 #显然,可以将条件去掉,直接改为“否则”
11 输出“优秀
4.2条件语句实现和pass
if、elif、else
if 条件1:
语句序列1
[elif 条件2:
语句序列2
……
elif 条件K:
语句序列K]
[else:
语句序列K+1]
score=eval(input('请输入成绩(0~100之间的整数):'))
if score<60:
print('不及格')
elif score<70:
print('及格')
elif score<80:
print('中等')
elif score<90:
print('良好')
elif score<=100: #也可以改为“else:”
print('优秀')
pass表示一个空操作,只起到一个占位作用,执行时什么都不做
4.3循环语句
While循环
如果使用 while 循环,只要条件为真,我们就可以执行一组语句。
例子:只要i<10就会打印i:
i = 1
while i < 10:
print(i)
i += 1
For 循环
用于遍历可迭代对象中的每一个元素,并根据当前访问的元素做数据处理,其语法格式为:
for 变量名 in 可迭代对象:
语句序列
list=['z',True,100]
for i in list:
print(i)
z
True
100
使用for循环时,如果需要遍历一个数列中的所有数字,则通常利用range函数生成一个可迭代对象。
range函数的语法格式如下:
range([beg, ]end[, step])
print(list(range(1,5,2)))
range函数返回的是一个可迭代对象,通过list函数可将该对象转换为列表。
4.4 break、continue和else
break
用于跳出for循环或while循环。对于多重循环情况,跳出最近的那重循环。
i = 1
while i < 10:
print(i)
if i == 3:
break
i += 1
continue
用于结束本次循环并开始下一次循环。对于多重循环情况,作用于最近的那重循环。
i = 0
while i < 10:
i += 1
if i == 3:
continue
print(i)
else
在for循环和while循环后面可以跟着else分支,当for循环已经遍历完列表中所有元素或while循环的条件为False时,就会执行else分支。
i = 1
while i < 6:
print(i)
i += 1
else:
print("i is no longer less than 6")
结尾
记录自己的快乐学习日志,也祝贺观看到这的小伙伴早日学有所成,财富自由💰💰。
记得点赞👍、收藏👋呀!!!
更多推荐



所有评论(0)