Python基础语法

本文详细介绍了Python编程的基础知识,包括变量、输入输出、数据类型、运算符、流程控制等。讲解了格式化输出的三种方法:%操作符、format函数和f-strings,并探讨了字符串连接和切片输出。此外,还阐述了输入函数input的使用,以及条件判断和循环控制语句的运用。
摘要由CSDN通过智能技术生成

目录

注释

变量

输入和输出

普通输出

格式化输出

%操作符(占位符)

 format()函数

f-strings 格式化方式

切片 输出

字符串连接

输入input()

数据类型

基本数据类型

进制转换方法

科学计数法表示

运算符

幂运算

整除//

逻辑运算符和成员运算符

身份运算符

Python整型数缓存问题

流程控制

Python缩进说明

 条件判断语句

循环控制语句

for in循环

while循环

 关键字:break,continue,pass


注释

单行:#

多行:’’’ 注释内容 ’’’    或 “””注释内容”””

变量

Python为动态语言,不需要声明类型。

name = "Tom"
age = 18

typy()方法:返回传入参数数据类型。

输入和输出

普通输出

print("hello,python")

格式化输出

格式化3种操作

  • %操作符
  • format()函数
  • f-Strings

%操作符(占位符)

name = "Tom"
age = 18;
print("我的名字是:%s"%name) #%s字符串
print("我的年龄是:%d"%age) #%d有符号十进制整数
print("我的爱好是%s"%"写代码")
print("我的名字是:%s,我的年龄是:%d"%(name,age))

输出结果:
我的名字是:Tom
我的年龄是:18
我的爱好是写代码
我的名字是:Tom,我的年龄是:18

常见的占位符

 format()函数

name = "Tom"
age = 18;
print("我的名字是:{}".format(name))
print("我的年龄是:{}".format(age))
print("我的爱好是:{}".format("写代码"))

输出结果:
我的名字是:Tom
我的年龄是:18
我的爱好是:写代码

 顺序填充

name = "Tom"
age = 18;
print("我的名字是:{},我的年龄是:{}".format(name,age))

索引填充

name1 = "Tom"
name2 = "Jerry"
age = 18;
print("我的大名是:{0},我的小名是:{1},我的年龄是:{2}".format(name1,name2,age))

输出结果:
我的大名是:Tom,我的小名是:Jerry,我的年龄是:18

关键字填充(无顺序问题)

print("我的名字是{name},我的年龄是{age}".format(name = "Jerry",age = 18))

通过字典设置参数  ** 符号用于展开集合

info = {"name":"Tom","age":"18"}
print("姓名是:{name},年龄是{age}".format(**info))

输出结果:
姓名是:Tom,年龄是18

 通过列表设置参数

list = ["Tom","Jerry",18]
print("大名是{0[0]},小名是{0[1]},年龄是{0[2]},爱好是:{1}".format(list,"打代码"))

输出结果:
大名是Tom,小名是Jerry,年龄是18,爱好是:打代码

对数值的格式化-设置数值小数点位数

pi = math.pi
print("圆周率保留两位小数:{:.2f}".format(pi)) #输出:3.14

格式化为千分位格式

salary = 123456789
print("工资为:{:,}".format(salary)) #输出为:工资为:123,456,789

格式化为百分数

print("百分比为:{:.0%}".format(0.25)) #输出为:百分比为:25%

.0 :保留的小数位数
% :转为百分数

f-strings 格式化方式

#在需要格式化字符串前加一个字符 "f"
name = "Tom"
print(f"姓名:{name},年龄{18}") #输出为:姓名:Tom,年龄18

切片 输出

将内容截断出某个区间,将其输出。

s = "abcdefg" #截取的区间为左闭右开
print(s[2:4]) #cd
print(s[:2]) #ab
print(s[2:]) #cdefg
print(s[:]) #abcdefg
print(s[7:10]) #输出为 ""(空)

切片后输出为某格式

str1 = "hello,python"
print("{:$<20}".format(str1))#左对齐
print("{:$>20}".format(str1))#右对齐
print("{:$^20}".format(str1))#居中对齐

输出为:
hello,python$$$$$$$$
$$$$$$$$hello,python
$$$$hello,python$$$$

字符串连接

指定连接符

print("我","是","码","农")
print("我","是","码","农",sep="$")

输出:
我 是 码 农
我$是$码$农

控制字符串末尾

print("hello",end="$$")
print("hello",end="\n") #换行
print("hello",end="\t") #缩进
print("aa")

输出:
hello$$hello
hello	aa

输入input()

name = input("请输入姓名:")
print(name)

控制台:
请输入姓名:Tom
Tom
  • input()的参数存放的是“提示信息”
  • 获返回的值得类型为string类型 

数据类型

基本数据类型

  • 整型
  • 浮点型
  • 布尔型
  • 复数类型

进制转换方法

转为二进制(binary),八进制(octonary),十六进制(hexadecimal)

print(bin(20))  #二进制  0b10100
print(oct(20))  #八进制  0o24
print(hex(20))  #十六进制  0x14

科学计数法表示

num = 6.6e2  #10的2次方
num1 = 6.6e-2   #10的-2次方
print(num) # 660.0
print(num1) # 0.066

运算符

幂运算

num = 10**2 #2的10次方
print(num) #100

整除//

"向下取整"

a = 5 / 2
b = 5 // 2
c = 5 / -2
d = 5 // -2

print(a) #2.5
print(b) #2
print(c) #-2.5
print(d) #-3   #//整除结果输出为 "向下取整"

divmod()方法--同时获得商和余数

a,b =divmod(5,2)
print(a) #2
print(b) #1

逻辑运算符和成员运算符

逻辑运算符:and (与)or(或)not(非)

成员运算符:in(存在)notin(不存在)

逻辑运算符优先级:no-->and-->or

str = "my name is Tom"
print("Tom" in str ) #ture
print("Jerry" in str ) #false

身份运算符

is:判断两个标识符是不是引用自同一个对象。

is not :判断两个标识符是不是引用自不同对象。

id(x)方法:获取对象内存地址。

Python整型数缓存问题

整型数缓存:不同环境对整型的缓存范围。

Python的整型数缓存规则在不同环境下,各有不同。例如:

在Pycharm中

a = 257
b = 257

print(id(a)) #2806792905488
print(id(b)) #2806792905488

print(a == b) #true :表示值相同
print(a is b) #true : 表示指向同一地址

在IDLE中 (交互模式下)

缓存范围

IDLE整型缓存范围:[-5,256]

PyCharm中范围:[-∞,+∞]

我们会发现:

针对于上方的id( )方法,在IDLE中,只有在一定数字范围下才进行缓存,也就是说,如果a = 100 , b = 100 , 100处于范围内,则 a is b 为真,如果 a = 257 , b = 257,257并不在当前环境的范围内[-5,256],则返回为false。

但是在PyCharm中则没有范围限制,都可以缓存。则对于上述案例的话,c is d输出为true。

流程控制

Python缩进说明

缩进必要: 1tab  or  4空格

环境不同 1个tab有可能等于的空格数不一样

官方建议:缩进一次4个空格

必要的缩进:

因为Python不像Java这样语言,语句结束有;(分号),用来表示语句的结束,

而Python则用缩进来表示一个代码块的作用域,缩进结束则表示语句结束。

python用缩进来表达程序的范围:

例如:

if 表达式 :# :(冒号)表示程序的开始

        程序体

print()   #新的程序开始

 Pycharm设置tab等于的空格数方式:

 

 条件判断语句

 单分支

weather = ""
if weather == "阴天":
    print("出去玩")

双分支

weather = ""
if weather == "阴天":
    print("出去玩")
else:
    print("在家打代码")

多分支

weather = ""
if weather == "阴天":
    print("出去玩")
elif weather == "下雨":
    print("在家睡觉")
else:
    print("在家打代码")

if嵌套

if weather == "阴天":
    if money > 2:
        print("出去玩")
    else:
        print("敲代码赚钱")
elif weather == "下雨":
    print("在家睡觉")
else:
    print("在家打代码")

循环控制语句

for in循环

for i in range(5): #相当于range(0,5)
    print(i) # 0 1 2 3 4

内置对象range():返回一个可迭代对象

range(start,stop,[step])

step:步长,默认为1。例如range(0,5,2) 可取到0,2,4

range区间:左闭右开,例如range(0,5)可取到0,1,2,3,4     

 

字符串作为迭代对象

str = "Python"
for i in str:
    print(i) # P y t h o n

循环过程:取迭代对象"str"的一个字符,赋予i,操作i,在取值...............

内置对象还可以是:

元组 a = (10,20,30)

列表 a = [10,20,30]

遍历内置对象元素

arr = [10,20,30,50]
for i in range(len(arr)): #len(x)输出x长度
    print(arr[i]) #10 20 30 50

while循环

无限循环写法

while True:
    control = input("请输出操作:o:开灯 c:关灯")
    print("正在操作...")

输出:
请输出操作:o:开灯 c:关灯o
正在操作...
请输出操作:o:开灯 c:关灯c
正在操作...
请输出操作:o:开灯 c:关灯
....

常规语法:

i = 0;  #初始化变量
while i < 5: #循环条件
    print(i)  #循环体
    i = i + 1 #迭代条件

输出: 0 1 2 3 4 

 关键字:break,continue,pass

break:跳出(结束)当个for循环或者while循环。

continue:跳出(结束)当次循环。

pass:空语句,一般用作占位语句,不做任何事情。

break处理死循环

while True:
    control = input("你想要要做些什么? o:开灯 c:关灯 e 退出程序")
    if control == "o" or control =="c"or control =="O"or control =="C":
        print("正在操作...")
    elif control == "e":
        print("Bye")
        break   #此表示退出循环
    else:
        print("不能识别的输入")

continue的使用

for i in range(5):
    if(i == 3):
        continue
    print(i) # 0 1 2 4

#i=3 结束当次循环,继续下一次循环

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mao.O

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值