Python基本语法

print()

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
  • sep:print中各个部分之间的分割符,类型为字符串,默认为NONE
print("part1","part2","part3".seq="|")
# part1|part2|part3
  • end:print输出完后的结束符,默认为"\n"
print("part1",end="|")
print("part2",end="|")
# part1|part2|

字面量

代码中固定的值,有不同的数据类型。

注释

# 单行注释

"""
这是多行注释
用三个双引号 
"""

变量

a=10
b=a+10
print("a=",a,"b=",b)

数据类型

使用 type()可以查看数据的类型。变量本身没有类型,存储的数据有类型。

print(type("name")) # 字符串
name=1
print(type(name)) # 查看变量储存的类型
name_type=type(1.2)# type会返回数据的类型
print(name_type)

数据类型转换

常用的有三种

  • int(x):将x变为整数,若x为字符串,要确保字符串的内容是整数。若x为浮点数,则会丢弃小数。
  • float(x):将x变为浮点数。若x为字符串,要确保字符串的内容是浮点数
  • str(x):将x变为字符串,任意都可以转换为浮点数
# 都会返回结果值
int(1.5) # 1
int("123") # 123
int("1.2") # error
int("你好")# error
float(11)# 11.0

标识符

用于给变量、类、方法等进行命名。
使用英文、数字与下划线(_)来编辑。
对大小写敏感

运算符

算术运行符:

  • +,-,*,/,%
  • // :取整除
  • ** :指数,a**b= a b a^b ab

赋值运算符:

  • a-=b:a=a-b
  • a+=b:a=a+b
  • a**=b:a=a**b
  • a//=b:a=a//b

字符串

字符串的定义

三种方法:

  • 单引号定义:可以包含双引号,若要包含单引号,则要使用转义字符 \
  • 双引号定义:可以包含单引号,若要包含双引号,则要使用转义字符 \
  • 三引号定义:与多行注释的方法一样,只是使用了变量接收。
str1='str1'
str2="str2"
str3="""
str3
"""
str1='"str1"'# 包含双引号
str2="'str2"# 包含单引号
str1='\'str1\''# 使用转义字符

字符串拼接

字符串之间直接用“+”链接起来,但要注意必须都是字符串才行,若其中存在为其他数据类型的,则会出错。

str1="hello"+"world"
str2="a="+1 # error
str3=str1+"!"# ok
str4=str1+str(1)# ok

字符串格式化1

规定好字符串中各个位置的数据类型,类似C语音中的printf()中设置各个位置。
字符串中用 % 来标示这个位置被占用,而占用的值由后面的变量确定。
有多个变量时,要用括号括起来,变量的顺序要与字符串中的一致。

语法:
" %s/f/d " % 变量或返回值或表达式

其中:

  • %d:将变量的内容转为整型
  • %f:将变量的内容转为浮点型
  • %s:将变量的内容转为字符串
test="a and b:"
a=1
b=2.0
"%s a= %d, b= %f 1+1=" % (test,a,b,1+1)# 多个变量时要用括号,括号里的顺序不能随意
输出:
a and b: a= 1, b= 2.0

可以控制数字的宽度与精度,m.n

  • m:控制宽度,会补充空格到满足请求。若设置的宽度小于数字自身则无效
  • n:控制小数点的精度,会进行四舍五入。
a=11
b=11.145
print("%5d %1d %.2f %7.2f" % (a,a,b,b))
输出:
   11 11 11.15  11.15

字符串格式2

语法:
f"内容{变量或返回值或表达式}"

直接把值放入,不关心数据类型与精度。

test="a and b:"
a=1
b=2.0
f"{test} a={a}, b={b} 1+1={1+1}"# 会显示原有的样子,不会控制精度

数据输入

使用input(“提示信息”)函数,用变量接收键盘输入的数据。
注意,input默认接收到的数据类型是字符串str。

x=input("get x:")
print(type(x))
x=int(x)
print(type(x))

判断语句

布尔类型与比较运算符

布尔类型:bool。True或Flase
比较运算符:==、<、>、>=、<=、!=
注意,若比较的是字符串之间,则比较的是

if-elif-else语句

在python中是依靠缩进来判断语句的范围,类似于在同一缩减的语句属于同一个大括号中。

if 条件:
	语句
elif 条件:
	语句
else:
	语句

可以在条件中直接使用input语句。

判断语句嵌套

不同的缩减代表属于不同的层次。因此要通过缩减来实现判断语句的嵌套

# 不同的语句属于不同的层次,通过缩减区分
if 条件:# (1)
	if 条件:# (2)
		语句# (3)
	else:# (2)
		语句# (3)
	语句# (2)
elif 条件:# (1)
	if 条件:# (2)
		语句# (3)
	语句# (2)
else:# (1)
	if 条件:# (2)
		语句# (3)
	语句# (2)

循环语句

while语句

直到条件不满足才会跳出循环体。

while 条件:
	语句

而若要实现while循环的嵌套,则也是利用缩减来确定层次关系。

while 条件:# 1
	语句# 2
	while 条件:# 2
		语句# 3
	while 条件:# 2
		while 条件: # 3
			语句 # 4
		语句# 3
	语句# 2
语句# 1

for循环

for循环是一种轮询机制,对一批内容进行逐个处理。
这个与C++的一般的for循环有些差别,类似于使用了迭代器的for循环,逐个访问里面的对象。
序列包括字符串、列表、元组等
与while不同的时,for循环无法规定循环的条件。理论上是不能无限循环的。

for 临时变量 in 序列
	语句

会将数据集中的数据逐个取出存到临时变量中

name="hello"
for x in name:
	print(x)# 逐个输出name中的字符

而若要实现for循环的嵌套,与while循环一样,控制好缩减即可。

for 临时变量 in 序列:# 1
	语句# 2
	for 临时变量 in 序列:# 2
		语句# 3
	for 临时变量 in 序列:# 2
		for 临时变量 in 序列: # 3
			语句 # 4
		语句# 3
	语句# 2
语句# 1

range语句

  • range(n):得到一个从0到n-1的数字序列,如range(5)=[0,1,2,3,4]
  • range(n1,n2):得到一个从n1到n2-1的数字序列,如range(5,10)=[5,6,7,8,9]
  • range(n1,n2,step):得到一个从n1到n2-1的数字序列,数字之间的步长为step,默认为step=1,如range(5,10,2)=[5,7,9]

注意,n可以为变量或字面量。
与for循环配合,可以实现C++的常用for循环的功能。

for i in range(10):# for(int i=0;i<10;i++)
	print(i)
num=10
for i in range(num):
	print(i)

练习:九九乘法表

# 九九乘法表
for i in range(1,10):
    for j in range(1,i+1):
        print(f"{j}*{i}={i*j}",end=" ")# 修改字符串的结尾符
    print()# 换行

临时变量的作用域

代码规范中,临时变量的作用域只在for内部,不应该(不是不可能)在外部访问。
但在实际运行中,是可以在for循环的外部访问到临时变量的。

for i in range(10)
	print(i)
print(i)# 在外部是可以使用临时变量的,只是不规范

while与for

  • while可以定义循环条件,而for不行
  • while可以无限循环,for理论上不行
  • while适用于所有需要循环的场景,而for适用于要遍历数据容器或固定次数

循环控制:break与continue

continue:跳过本次循环,continue之间的语句都不会执行,注意所处的循环层次。

for i in range(5)
	print("part1")# 被执行5次
	for j in range(5)
		print("part2")# 被执行5次
		continue
		print("part3")# 被跳过
	continue
	print("part4")# 被跳过

break:结束整个循环,注意所处的循环层次。

for i in range(5)
	print("part1")# 被执行1次
	for j in range(5)
		print("part2")# 被执行1次
		break
		print("part3")# 被跳过
	break
	print("part4")# 被跳过
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值