Python – Python基础:注释;基本数据类型;变量;基本运算符;判断循环流程(二)

Python – 初识Python;Python解释器下载安装;Python IDE(一)

针对Python语言以及其发展历程,特点以及开发工具安装等参考上文,本文不再赘述! 

Python工程项目命名规则主要包括以下几个方面‌:

  1. 项目工程名‌:项目工程名应使用首字母大写加驼峰命名法,例如ProjectName‌。

  2. 包名和模块名‌:包名和模块名应全部使用小写字母,并且使用下划线分隔。例如,mypackagemodule_name‌。

  3. 文件名‌:文件名也应全部使用小写字母,并且使用下划线分隔。例如,module_name.py‌。

  4. 类名‌:类名应使用首字母大写的驼峰命名法(Pascal命名法)。例如,ClassName‌。私有类名称需要在类名前加一个下划线,例如_ClassName‌。

  5. 函数名‌:函数名应全部使用小写字母,并且使用下划线分隔。例如,function_name‌。私有函数名称需要在函数名前加一个下划线,例如_function_name‌。

  6. 全局变量、常量‌:全局变量和常量应全部使用大写字母,并且使用下划线分隔。例如,GLOBAL_VAR_NAMECONSTANT_NAME‌。

  7. 方法名、函数参数、实例变量‌:这些命名也应全部使用小写字母,并且使用下划线分隔。例如,method_namefunction_parameter_nameinstance_var_name‌。

  8. 私有变量和方法‌:私有变量和方法名称需要在名称前加一个下划线。例如,_variable_name_method_name

  9. 变量‌:(1)变量名只能包含字母(a – z,A – Z)、数字和下划线(_)(2)变量名不能以数字开头(3)区分大小写(4)不能使用Python的保留字作为变量名。

    Python中关键字如下:

    ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

     以下是一些变量名的命名方法:【1】小写加下划线(常用于内部或私有变量):age_of_user【2】大驼峰体(常用于类名):UserNameFirstName【3】小驼峰体(常用于函数名和实例变量):ageOfUserfirstName

一、注释

注释:注释是编写程序时,写程序的人给一个语句、程序段、函数等的解释或提示。

注释作用:注释可以起到一个备注的作用,某个方法函数,变量到底是做什么用,如果没有注释时间长了即使是写代码本人可能都不知道某段代码到底是做什么用的。 所以注释起到的作用就是方便自己查看写过的代码 ,别人来接手他人代码能看懂。简单来将就是能提高程序代码的可读性。

1、python中单行注释用#号(Ctrl+/),#号右边的就是注释的内容,python解析器遇到#号就会当做注释,不会去解析#号后面的内容

2、多行注释使用三个单引号'''内容''' 也可以使用三个双引号"""内容"""

注:多行注释开头三个引号需要新起一行,不能跟在代码后面

3、Python中有两句特殊的注释,在py文件首行

#!/usr/bin/python3; 
# -- coding=utf-8 --

这两句注释分别指的是指定python解析器的路径,指定编码格式,只能写在py文件最前面。 指定编码格式,一般用于Python2版本,由于Python2版本解析器默认Python默认采取的ASCII编码,不支持中文。 为了能在Python2版本的代码上写中文,一般在指定解析器后指定编码方式为utf-8。

:Python3采用utf-8的 编码方式支持中文,如果需要兼容Python2版本,一般都加上指定编码格式这一行代码

#单行注释
#print('Hello,Python!')  

#多行注释
'''
print('Python程序!') 
print('Python是最好的程序语言!') 
'''

二、变量;基本数据类型

Python程序中用变量来存储数据,Python是一门强类型的语言,赋值变量时不需要指定数据类型 给这个变量赋值什么数据类型,这个变量就是什么类型

变量‌命名规则:

(1)变量名只能包含字母(a – z,A – Z)、数字和下划线(_)

(2)变量名不能以数字开头

(3)区分大小写

(4)不能使用Python的保留字作为变量名;

import keyword; keyword.kwlist 查看Python中关键字

Python中关键字如下:

['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

以下是一些变量名的命名方法:

【1】小写加下划线(常用于内部或私有变量):age_of_user

【2】大驼峰体(常用于类名):UserNameFirstName

【3】小驼峰体(常用于函数名和实例变量):ageOfUserfirstName

Python中基本数据类型 

Python中的基本数据类型主要包括以下几种‌:‌

  1. 整数类型(int)‌:整数类型表示不带小数点的数字,可以是正数、负数或零。整数类型可以参与各种数学运算。 (Python3中不区分长整型)

  2. 浮点数类型(float)‌:浮点数类型表示带有小数点的数字,用于表示实数。浮点数可以用科学计数法表示,例如3.14可以表示为3.14e2。

  3. 复数类型(complex)‌:复数类型用于表示包含实部和虚部的数字,例如a+bj,其中a是实部,b是虚部。

  4. 布尔类型(bool)‌:布尔类型只有两个值,True和False,用于表示逻辑条件。

  5. 字符串类型(str)‌:字符串类型由零个或多个字符组成的有序字符序列,可以用单引号、双引号或三引号表示。

  6. 列表类型(list)‌:列表是有序的集合,可以随时添加和删除元素,元素可以是不同类型。

  7. 元组类型(tuple)‌:元组与列表类似,但元组中的元素不能修改,通常用于存储不变数据。

  8. 集合类型(set)‌:集合是无序且不重复的元素集合,常用于去重和成员测试。

  9. 字典类型(dict)‌:字典是无序的键值对集合,用于存储键值对数据。

在Python中,长整型通常是无限制大小的整数,当整数超过系统位长(32位系统中是4字节,64位系统中是8字节)时,它们会自动转换为长整型。

长整型在Python中通常以L结尾表示,但实际上Python会根据整数值自动处理长度,不一定必须显式添加L。

# 在32位系统中,显示添加L可以确保数字被当作长整型处理

long_int = 123456789123456789L print(long_int)

# 在64位系统中,不加L也会自动将数字视为长整型

long_int_no_l = 123456789123456789 print(long_int_no_l)

在Python 3中,长整型和普通整型已经合并,统一称为整型,但是为了保证向后兼容性,L后缀仍然可以使用。在Python 2中,长整型是必须使用L后缀的

'''
变量如何定义和使用
定义 规则 变量名=数据
a就是变量的名字 对应一个盒子 里面装的数据就是10
变量是可以多次赋值的【在程序执行的过程中 值可以改变的量】
变量就是用来存储数据的
type()方法查看变量的类型
'''

a=10  #整形
print(type(a))
b=6.68 #浮点型
print(type(b))

'''
在Python中,长整型通常是无限制大小的整数,当整数超过系统位长(32位系统中是4字节,64位系统中是8字节)时,它们会自动转换为长整型。长整型在Python中通常以L结尾表示,但实际上Python会根据整数值自动处理长度,不一定必须显式添加L。
# 在32位系统中,显示添加L可以确保数字被当作长整型处理
long_int = 123456789123456789L
print(long_int)
# 在64位系统中,不加L也会自动将数字视为长整型
long_int_no_l = 123456789123456789
print(long_int_no_l)
在Python 3中,长整型和普通整型已经合并,统一称为整型,但是为了保证向后兼容性,L后缀仍然可以使用。在Python 2中,长整型是必须使用L后缀的。
'''
c=10000000000000000000
print(type(c))

# 复数
complex_var = 3 + 4j
print(complex_var,type(complex_var))
another_complex = 9.22j  # 只有虚部的复数
print(another_complex,type(another_complex))

d='字符串'  #字符串
print(type(d))
e=True  #布尔型
print(type(e))

# 高级类型
f=()  #元组类型
print(type(f))
g=[]  #列表类型
print(type(g))
h={}  #字典类型
print(type(h))


'''
变量的命名规则
变量必须以字母(a - z,A - Z)或下划线(_)开头
其他字符可以是字母,数字或 _
变量区分大小写
Python关键字不能用作变量名。
变量的命名不能以数字来开头
'''
Name='刘德华'
name='李子柒'
_age=18
# True=6.8 #不能这样定义  因为True是关键字
print(name,Name)
print(Name,_age)
userName='admin'
userAge=18
user_name='admin'
user_age=18

控制台输出:

<class 'int'>
<class 'float'>
<class 'int'>
(3+4j) <class 'complex'>
9.22j <class 'complex'>
<class 'str'>
<class 'bool'>
<class 'tuple'>
<class 'list'>
<class 'dict'>
李子柒 刘德华
刘德华 18

Process finished with exit code 0

1、type()方法查看变量的类型

2、import keyword; keyword.kwlist查看Python中关键字

import keyword

print(keyword.kwlist)

['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

 

三、基本运算符

(一)算数运算符

# + - * / % **  // 算符运算符
# 定义如下两个变量
a=7
b=3
c=10
print(a+b*c)
print(a-b)
print(a*b)
print(a/b)
print(a%b)
print(a//b)


输出:
37
4
21
2.3333333333333335
1
2

(二)比较运算符

# == !=  > <  >=  <= 比较运算符 结果是bool【True/False】
a,b=10,5
print(a==b)
print(a!=b)
print(a>=b)
print(a<=b)
print(a>b)
print(a<b)

输出:
False
True
True
False
True
False

(三)逻辑运算符

 注优先级:()->not–>and–>or

# 逻辑运算符  and or not
# and 规则 x and y , x 和y 同为真【True】 结果才为真,否则结果就为假
# 定义四个变量

a,b,c,d=20,13,2,14
# 操作是bool类型的表达式
print(a+b>c*d and c+d<a) #True
print(a+b>c*d and c+d>a) #False
# 操作数字和其他类型表达式
# x and y:如果x非零或者True, 运算的结果是:y 如果x为零,则结果为0
print(a and b)
print(1 and 20)
print(12 and 23)
print(0 and 34)
print(0 and 12)
# or 逻辑或  x or y ,x 或者y 只要有其中一个条件为真,结果就为True
print('----------------or-----------------------------')
print(a-b>d or c>a) #全部为False  结果是false
print(a-b<d or c>a)
# or 操作数字和其他类型表达式
# 如果x非零或者True 则结果为x,如果x为零 则结果为y
print(a or b) #b
print(1 or 3) #3
print(3 or 12) #12
print(0 or 6) #6
# not 取反 真假切换
print(not 2>3)
print(not True)
# 优先级
# ()->not-->and-->or
# 例子
print(2>1 and 1<4 or 2<3 and 9>6 or 2<4 and not 3<2)


输出:
True
False
13
20
23
0
0
----------------or-----------------------------
False
True
20
1
3
6
True
False
True

短路运算

1、表达式从左至右运算,若 or 的左侧逻辑值为 True ,则短路 or 后所有的表达式(不管是 and 还是 or),直接输出 or 左侧表达式

2、表达式从左至右运算,若 and 的左侧逻辑值为 False ,则短路其后所有 and 表达式,直到有 or 出现,输出 and 左侧表达式到 or 的左侧,参与接下来的逻辑运算

3、若 or 的左侧为 False ,或者 and 的左侧为 True 则不会出现短路

简单的说要实现短路, 表达式用and的则将容易为False的条件放到前面, 表达式有or的则将容易为True的条件放到前面

a = 1
b = 2
c = 3
# and 逻辑运算,代码执行从左到右,先运算a==2,为False
# and 逻辑与需要两个条件都为True,整个条件才为True
# 所以当条件判断执行第一个条件时为False,整个条件为False,
#不再执行后面的条件判断
# 这就是短路运算
if a == 2 and b == 2:    
    print('haha') 

(四)赋值运算符

四、输入输出

Python 有一个简单的字符串格式化方法,使用%做占位符。%后面跟的是变量的类型

\n:换行符

常用的格式化符号,其中最常用的 %s, %d, %f

Python中提供了input()方法来获取键盘输入 

input()中输出的都是字符串str类型;如果接收数字类型需要将str转成int

num = int(input("请输入数字:"))
num = input("请输入数字:")
print(type(num))

输出:
请输入数字:>? 12
<class 'str'>

# 转成int类型
num = int(input("请输入数字:"))
print(type(num))

输出:
请输入数字:>? 12
<class 'int'>

Python 2版本中的input 接收的是一个表达式。

如果Python2版本中需要接收用户输入使用 raw_input函数。由于input在Python2中认为是不安全的,所以 在Python3 版本中修改了input 接收表达式的功能,直接修改成接收字符串。并且在Python3中删除了raw_input 函数

# 输出 %占位符
my='我的'
classPro='上海交大附一中一年1班'
age=8
print('%s名字是小明: 来自【%s】 今年%d岁了'%(my,classPro,age))
print('%s名字是小李: 来自【%s】 今年%d岁了'%(my,classPro,age))
print('来个\n换行') #\n换行效果

print('------------format形式的-------------------')
name='张小明'
QQ='66668888'
phone='13656788765'
addr='上海市黄浦区'
print('姓名:{} 年龄是:{} 岁'.format(name,18))
print('QQ:{}'.format(QQ))
print('手机号:{}'.format(phone))
print('地址:{}'.format(addr))

print('------------格式化占位符-------------------')
print("姓名:%s"%name)
print("QQ:%s"%QQ)
print("手机号:%s"%phone)
print("地址:%s"%addr)
#格式输出的其他方式 .format()

print('------------input-------------------')
# input,获取键盘输入的内容
name=input("请输入您的姓名:")
age=int(input("请输入您的年龄:"))
print(type(name))
QQ=input('请输入您的qq:')
phone=input("请输入您的电话:")
addr=input("请输入您的地址:")

print('姓名:%s 年龄是:%d 岁'%(name,age))
# print('姓名:{} 年龄是:{} 岁'.format(name,age))
print('QQ:{}'.format(QQ))
print('手机号:{}'.format(phone))
print('地址:{}'.format(addr))

输出:
我的名字是小明: 来自【上海交大附一中一年1班】 今年8岁了
我的名字是小李: 来自【上海交大附一中一年1班】 今年8岁了
来个
换行
------------format形式的-------------------
姓名:张小明 年龄是:18 岁
QQ:66668888
手机号:13656788765
地址:上海市黄浦区
------------格式化占位符-------------------
姓名:张小明
QQ:66668888
手机号:13656788765
地址:上海市黄浦区
------------input-------------------
请输入您的姓名:张晓明
请输入您的年龄:18
<class 'str'>
请输入您的qq:45645645
请输入您的电话:135436546
请输入您的地址:上海市黄浦区
姓名:张晓明 年龄是:18 岁
QQ:45645645
手机号:135436546
地址:上海市黄浦区

五、判断循环流程 

流程:计算机执行代码的顺序

流程控制:对计算机代码执行的顺序进行有效的管理,只有流程控制才能实现在开发当中的业务逻辑

流程控制分类

1、顺序流程:就是代码一种自上而下的执行结构,也是python默认的流程

2、选择流程/分支流程:根据在某一步的判断,有选择的去执行相应的逻辑的一种结构

2.1 单分支 
                if 条件表达式:
                   一条条的python代码
                   一条条的python代码                   
                   .......
2.2 双分支
               if 条件表达式:
                   一条条的python代码
                   一条条的python代码
                   .......
               else:
                   一条条的python代码
                   一条条的python代码
                   .......
2.3 多分支
               if 条件表达式:
                   一条条的python代码
                   一条条的python代码
                   .......
               elif 条件表达式:
                   一条条的python代码
                   一条条的python代码
                   ......
               elif  条件表达式:
                   一条条的python代码
                   一条条的python代码
                   ......
               else:
                   一条条的python代码
                   一条条的python代码
                   ......
条件表达式:比较运算符/逻辑运算符/复合的运算符

3、循环流程:在满足一定的条件下,一直重复的去执行某段代码的逻辑【事情】

while 条件表达式:
   一条条的python代码
   一条条的python代码
   .......
           
for ... in  可迭代集合对象:
    一条条的python代码
    一条条的python代码
    .......

while使用:适用于对未知的循环次数,用于判断

for使用:适用于已知的循环次数【可迭代对象遍历】

(一)判断流程

Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块

 内外多层

if 条件1:
    if 条件2:        
        print('满足条件1',同时满足条件2)
    else:        
        print('满足条件1',但是不满足条件2)
elif 条件3:    
    if 条件4:        
        print('满足条件3',同时满足条件2) 
'''单分支'''
# if  条件表达式: 比较运算符 逻辑运算符 /复合的条件表达式
#     代码指令
#     .......

score=int(input("请输入您的分数:"))
if score<=60: #满足条件就会输出打印的提示
    print("成绩不是太理想,要继续加油哦")
    pass #空语句
print("语句运行结束")
# 双分支
# if  条件表达式: 比较运算符 逻辑运算符 /复合的条件表达式
#     代码指令
#  else:
#     代码指令
# 必定会执行其中一个分支

if score>60: #True
    print("你的成绩及格了...")
    pass
else: #false时候才会执行
    print('成绩不合格,请继续努力')
    pass

'''多分支的选择【多个条件】
 if  条件表达式: 比较运算符 逻辑运算符 /复合的条件表达式
    代码指令
 elif 条件表达式:
    代码指令
 ......
   else:
特征:
1.只要满足其中一个分支,就会退出本层if语句结构【必定会执行其中一个分支】
2.至少有2中情况可以选择
elif 后面必须的写上条件和语句
else 是选配,根据实际的情况来填写
'''
score=int(input('请输入您的成绩:'))
print(type(score))
if score>90:
    print('您的成绩是A等级')
    pass
elif score>=80:
    print('您的成绩是B等级')
    pass
elif score>=70:
    print('您的成绩是C等级')
    pass
elif score>=60:
    print('您的成绩是D等级')
    pass
else:#选配
    print('可以回家修理地球了....')
print('程序运行结束了.....')

# 多分支 多条件
# 猜拳击的小游戏
# 0:石头 1:剪刀 2:布
import random #直接导入产生随机数的模块
# 计算机  人
count=1
while count<=10:
    person=int(input('请出拳:[0:石头 1:剪刀 2:布]'))
    computer=random.randint(0,2)
    if person==0 and computer==1: #多条件
        print("厉害了..你赢了")
        pass
    elif person==1 and computer==2:
        print("厉害了..你赢了")
    elif person==2 and computer==0:
        print("厉害了..你赢了")
        pass
    elif person==computer:
        print('不错 居然是平手')
        pass
    else:
        print('哈哈...你输了吧')
        pass
    count+=1

(二)循环流程

1、while循环

while 条件:
    满足条件时,执行语句1    
    满足条件时,执行语句2    
    满足条件时,执行语句3 

while循环格式:
i = 0
while i < 5:#满足i小于5进入循环   
    print(‘第%d次循环’ %i)    
    print(‘i=%d’%i) #循环时一直打印上述两句
    i += 1 #每次循环i值加1

while循环嵌套格式:
while 条件1:    
    条件1成立时执行语句    
    条件1成立时执行语句    
    条件1成立时执行语句    
    while 条件2:        
        条件2成立时执行语句        
        条件2成立时执行语句

2、for循环

for 临时变量 in 字符串,列表等:
    执行代码块    
    执行代码块 

for循环
a = 'python'
for i in a:
    print(i)

for循环遍历列表
li = ['a', 'b', 'c', 'd'] 
for i in li:
    print(i)
'''循环的分类:1、while;2、for
while 语法结构
while 条件表达式:
    代码指令
语法特点
1.有初始值
2.条件表达式
3.变量【循环体内计数变量】的自增自减, 否则会造成死循环
使用条件:循环的次数不确定,是依靠循环条件来 结束
目的: 为了将相似或者相同的代码操作变得更加简洁,使得代码可以重复利用
'''

# 输出1-100之间的数据
index=1 #定义一个变量
while index<=100:
    print(index)
    index+=1
    pass

# 打印九九乘法表  循环的嵌套
row=9
while row>=1:
    col=1
    while col<=row:
        print("%d*%d=%d"%(row,col,row*col),end=" ")
        col+=1
        pass
    print()
    # row+=1
    row -= 1
    pass
while False:
    if 3==3:
        print('恒等')
        continue
    pass
else:
    print('继续执行吗')

'''for 循环
语法特点:遍历操作,依次的取集合容器中的每个值
for 临时变量 in 容器:
    执行代码块
'''
tags='我是一个中国人' #字符串类型本身就是一个字符类型的集合
for item in tags:
    print(item)
    pass

# range 此函数可以生成一个数据集合列表
# range(起始:结束:步长)  步长不能为0
sum=0
for data in range(1,101): #左边包含右边不包含
    sum+=data #求累加和
    # print(data,end=' ')
    pass

print("sum=%d"%sum)

print('-------------for的使用--------------------------')
for data in range(1,101):
    if data%2==0:
        print("%d是偶数" %data)
        pass
    else:
        print("%d是奇数"%data)
pass

(三)break;continue

break:代表中断结束   满足条件直接的结束本层循环
continue:结束本次循环,继续的进行下次循环(当continue的条件满足的时候,本次循环剩下的语句将不在执行后面的循环继续)
注:这两个关键字只能用在循环中
'''break和continue
break:代表中断结束   满足条件直接的结束本层循环
continue:结束本次循环,继续的进行下次循环(当continue的条件满足的时候,本次循环剩下的语句将不在执行后面的循环继续)
注:这两个关键字只能用在循环中
'''
sum=0
for item in range(1,51):
    if sum>100:
        print('循环执行到%d就退出来了'%item)
        break #退出循环体
        pass
    sum+=item
    pass

print("sum=%d"%sum)
print('continue的使用')
for item in range(1,100): #求出来奇数
    if item%2==0:
        continue
        print('在continue的后面会继续执行')
        pass
    print(item)
    pass

for item in 'I Love Python':
    # if item=='e':
    #     break #彻底中断循环
    if item=='o':
        continue
    print(item,end=' ')

index=1
while index<=100:
    if index>20:
        break
        pass
    print(index)
    index+=1

# 99乘法表用for来实现
for i in range(1,10):
    for j in range(1,i+1):
        print("%d*%d=%d"%(i,j,i*j),end=' ')
        pass
    print() #控制换行
    pass
for item in range(1,11):
    print(item,end=' ')
    if item>=5:
        break
    pass
else:
    print('就是在上面循环当中 只要是出现了break 那么else的代码将不在执行')

account='admin'
pwd='123456'
for i in range(3):
    zh=input('请输入账号:')
    pd=input('请输入密码:')
    if account==zh and pwd==pd:
        print('恭喜您登录成功...')
        break #退出本层循环了
        pass

    pass
else:
    print('您的账号已经被系统锁定...')


# while----else
index=1
while index<=10:
    print(index)
    if index==6:
        break
    index+=1
    pass
else:
    print('else执行了吗.....')

作者:MinggeQingchun

物联沃分享整理
物联沃-IOTWORD物联网 » Python – Python基础:注释;基本数据类型;变量;基本运算符;判断循环流程(二)

发表回复