Python学习之Python基础

变量

变量是以字母数字下划线组成的字符串,不能以数字开头,不能是Python里面的关键字,Python3里面可以使用中文,但不建议这样做
变量的形式:
驼峰命名,例如:InputName
下划线,例如:input_name

变量在内存中的命名是唯一的,变量只能指向数据,不能指向变量,变量和变量的赋值也是将数据的指向地址赋值过去,并不是变量
例1:

num1 = 10
num2 = num1

说明:
将num1赋值给num2也只是将num1指向的存储10的内存地址赋值给num2

常量

常量的值是不能被改变的,一但定义了常量,在后续操作中它的值是不能被改变的,Python中没有真正意义上的常量,我们一般是将常量用全部大写字母表示,并且放在文件的最上面
例1:

APP_CODE=1000001

注释

注释的作用是对代码进行解释说明,我们应该尽可能的对复杂的内容进行注释,方便后期或别人进行理解
单行注释使用井号(#)
多行注释使用三引号(’’’)

字符串的格式化

用+号拼接

注意:
用加号进行拼接,不同类型的数据是不能进行拼接的,比如str和int
例1:

name = "Tom"
age = "18"
job = "IT"
info = '''
name: '''+ name +'''
age: '''+ age +'''
job: '''+ job +'''
'''
print(info)

运行结果是:

name: Tom
age: 18
job: IT

%格式化字符串

使用%进行格式化需要指定格式化的参数类型
常用的类型有:

格式类型说明
%s字符串格式
%d整型格式(也可以用%i他们等价)
%f浮点数格式
%.2f带两个小数的浮点数格式(注意2前面有个点)
%%输出百分号,第一个%相当于转义符
%c单个字符(或者integer类型或者单个字符的字符串)
name = "Tom"
age = "18"
job = "IT"
info = '''
name: %s
age: %s
job: %s
''' % (name, age, job)
print(info)

运行结果是:

name: Tom
age: 18
job: IT

format格式化字符串

用format方式进行格式化在字符串中需要用大括号包含变量的方式进行占位

按变量名方式传入
按变量名方式传入无需按顺序,只要变量名对应即可
例1:

name = "Tom"
age = 18
job = "IT"
info = '''
name: {_name}
age: {_age}
job: {_job}
''' .format(_job=job,_name=name, _age=age)
print(info)

运行结果是:

name: Tom
age: 18
job: IT

按位置方式传入
按位置方式传入,是用大括号包括序号的方式,取值是按在format后面参数的顺序取值
例1:

name = "Tom"
age = 18
job = "IT"
info = '''
name: {1}
age: {2}
job: {0}
''' .format(job, name, age)
print(info)

运行结果是:

name: Tom
age: 18
job: IT

f"{}"的方式格式化
在字符串的开头处,写上格式 f,在字符串中间需要格式化的地方用大括号占位,变量名放在大括号中
注意:
开头的字母 f 和字符串之间不能有空格

语法:
f"{ 变量名 }"

例1:

name = "Tom"
age = 18
job = "IT"
info = f'''
name: {name}
age: {age}
job: {job}
''' 
print(info)

运行结果:

name: Tom
age: 18
job: IT

input用户输入

官方函数说明:

input(prompt=None, /)
    Read a string from standard input.  The trailing newline is stripped.
    The prompt string, if given, is printed to standard output without a
    trailing newline before reading input.
    If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError.
    On *nix systems, readline is used if available.

注意:
input接受的全部是字符串

prompt是提示符号,默认是一个None,我们这里输入什么,在运行的时候就提示什么
例1:

name = input("input your name:")
print("你的名字是:", name)

运行结果是:

input your name:Tom
你的名字是: Tom

if分支语句

if分支语句有几种种形式

if 结构

if结构只能进行一次判断,符合后面的条件执行里面的代码块,不符合,跳过继续执行后面的语句
例1:

name = input("请输入你的名字:")
if name == 'Tom':
    print("你好,{input_name}".format(input_name=name))
print("good bye")

运行结果:
当输入的名字不是"Tom"时:

请输入你的名字:Dave
good bye

当输入的名字是"Tom"时:

请输入你的名字:Tom
你好,Tom
good bye

if…else 结构

if…else当条件符合时,执行if块里面的内容,不符合的时候执行else块里面的内容
例1:

name = input("请输入你的名字:")
if name == 'Tom':
    print("你好,{input_name}".format(input_name=name))
else:
    print("欢迎,{input_name}".format(input_name=name))
print("good bye")

运行结果:
当输入的名字不是"Tom"时:

请输入你的名字:Dave
欢迎,Dave
good bye

当输入的名字是"Tom"时:

请输入你的名字:Tom
你好,Tom
good bye

if…elif…结构

if…elif…可以进行多次判断,是if的扩展,符合某个条件执行某个条件块里面的内容,所有条件判断结束都不符合时,继续执行后面的内容
例1:

name = input("请输入你的名字:")
if name == 'Tom':
    print("你好,{input_name}".format(input_name=name))
elif name == "Jerry":
    print("欢迎,{input_name}".format(input_name=name))
print("good bye")

运行结果:
当输入的名字不是"Tom"也不是"Jerry"时:

请输入你的名字:Dave
good bye

当输入的名字是"Tom":

请输入你的名字:Tom
你好,Tom
good bye

当输入的名字是"Jerry":

请输入你的名字:Jerry
欢迎,Jerry
good bye

if…elif…else结构

if…elif…else跟if…else类似只是多了几个判断而已
例1:

name = input("请输入你的名字:")
if name == 'Tom':
    print("你好,{input_name}".format(input_name=name))
elif name == "Jerry":
    print("欢迎,{input_name}".format(input_name=name))
else:
    print("来啦,老弟")
print("good bye")

运行结果:
当输入的名字不是"Tom"也不是"Jerry"时:

请输入你的名字:Dave
来啦,老弟
good bye

while 循环

while循环常用于没有明确循环次数的场景
语法:

while 条件:
    循环体

break跳出循环

用break跳出循环,直接就结束了循环,不会执行后面的循环了
例1:

num, total = 1, 0       # 定义num初始值和total初始值
while True:
    total += num
    num += 1
    if total == 5050:
        print('num的最终值是:', num)
        break
print('total的值是:', total)

运行结果是:

num的最终值是: 101		# num为101是因为当num是100的时候total=5050,num还要继续+1,所以num是101
total的值是: 5050

continue跳过循环

continue是跳过单次循环,继续后面的循环
例1:找出100以内的所有奇数

num = 0
while num < 100:
    if num % 2 != 0:	# 当num是偶数的时候,先+1然后结束本次循环
        num += 1
        continue		# 结束本次循环,不执行后面的代码,回到num<100处继续执行
    num += 1
    print(num)

结果是:

1
3
5
......后面省略

例2:

flag = True
while flag:
    print(111)
    print(123)
    flag = False
    continue
    print(456)

运行结果:

111
123

说明:
运行结果没有打印出456,也只打印了一次111和123,说明在执行到continue的时候,返回到了while flag处进行了判断,在continue之前赋值了flag=False,while flag 判断为条件不满足,所以退出了循环

while…else用法

while…else在while正常执行完毕,没有break和return跳出循环,才会执行else里面的内容,否则不会执行
注意:
continue不影响else里面语句的输出

例1:

num = 0
while num < 5:
    num += 1
    print(num, end='、 ')		# end是改变结束符,默认是换行符
    if num == 3:
        break
else:
    print("while 正常结束")

运行结果:

1、 2、 3、			# 并没有打印else里面的内容

例2:

num = 0
while num < 5:
    num += 1
    print(num, end='、 ')		# end是改变结束符,默认是换行符
else:
    print("while 正常结束")

运行结果:

1、 2、 3、 4、 5、 while 正常结束			# else里面的内容打印了

修改判断条件结束循环

我们可再程序中修改while的条件,来结束循环
例1:

count = 0
flag = True
while flag:
    uname = input('用户名:')
    upwd = input('密码:')
    ucode = input('验证码:')
    if ucode == 'qwer':
        if uname == 'Tom' and upwd == '1234':
            print('登录成功')
            flag = False		# 正常应该跳到其他页面,这里用更改循环条件
        else:
            print('用户名或密码错误')
    else:
        print('验证码错误')
    count += 1
    if count == 3:				# 当尝试次数等于3时,改变循环条件结束循环
        print('尝试次数太多,程序结束')
        flag = False

运行结果1:第二次输入正确情况

用户名:aa
密码:aa
验证码:bb
验证码错误
用户名:Tom
密码:1234
验证码:qwer
登录成功

运行结果2:三次都不正确

用户名:aaa			# 第一次尝试
密码:aaa
验证码:aaa
验证码错误
用户名:bbb			# 第二次尝试
密码:bbb
验证码:bbb
验证码错误
用户名:ccc			# 第三次尝试
密码:ccc
验证码:ccc
验证码错误
尝试次数太多,程序结束			# 利用改变循环条件退出循环

for循环

for循环用于执行有限次的循环,同样可以使用break和continue来跳出循环,当然也有for…else用法

break 跳出循环

例1:

string1 = '我是一只小小鸟'
for i in string1:
    if i == '一':
        break
    print(i)

运行结果:

我
是

continue 跳过循环

例1:

string1 = '我是一只小小鸟'
for i in string1:
    if i == '一':
        continue
    print(i)

运行结果:

我
是
只
小
小
鸟

for…esle用法

跟上面while…else一样,只有正常结束,没有break和return跳出的时候,才会执行else里面的语句
注意:
continue不影响else里面语句的输出

例1:

string1 = '我是一只小小鸟'
for i in string1:
    if i == '一':
        continue
    print(i)
else:
    print('for循环正常结束')

运行结果:

我
是
只
小
小
鸟
for循环正常结束

实现三元运算

Python是没有三元运算符的,但我们可以实现类似的三元运算,如果 if 的条件成立,将if前面的结果返回,否则将else中的结果返回
例1:

a, b, c = 1, 3, 8
d = a if a > b else c		# 当a大于b,把a的值赋给d,否则把c的值赋给d
print('d的值是:', d)

运行结果是:

d的值是:8

以上代码等价于如下代码:

a, b, c = 1, 3, 8
if a > b:
    d = a
else:
    d = c
print('d的值是:', d)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

爬坡的蜗牛

你的鼓里是我创造最大的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值