Python基础语法

Posted 小缘喵~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python基础语法相关的知识,希望对你有一定的参考价值。

目录

前言       

print 输出

变量中的数据类型

转义字符

input输入

注释符

格式化输出

运算符

条件判断

循环

random模块


前言       

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python 由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年。官方宣布,2020 年 1 月 1 日, 停止 Python 2 的更新。Python 2.7 被确定为最后一个 Python 2.x 版本。

所以接下来的都是基于python3.x进行的学习,最近公司不是很忙,所以想把之前学习的python好好整理一下发布到csdn来。特别提醒:python是世界上最好的语言 😁

python

  • Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于php和Perl语言。

  • Python 是交互式语言: 这意味着,您可以在一个 Python 提示符 >>> 后直接执行代码。

  • Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。

print 输出

  • python中单引号和双引号使用完全相同
  • python中有着严格的语法格式,注意该缩进的一定要缩进
  • print输出后默认会进行换行

1. 简单输出

print (“hello python”)       	 将数据输出到屏幕,输出字符串要加引号(单引号和双引号都可以)
print('xzc','df')	           	 ,起空格的作用
print  ('xzc'+'df')	           	 +起字符串拼接的作用

2. .center居中输出

print('欢迎来到商店管理系统' .center(20,'—'))   #字居中显示总共占20个字符,不够用-代替

变量中的数据类型

变量用来存储数据,那么大家有没有想过,我们应该让变量占用多大空间,保存什么样的数据呢?例如,我们要运送一台电脑,大卡车和小轿车都可以完成,但是,如果使用大卡车运送一台电脑,显然有点小题大做,浪费了大卡车的空间。

同理,如果使用变量存储数据时,为了更充分利用内存空间,我们可以为变量指定不同的数据类型。python中常见的数据类型如下

(1)布尔类型是特殊的整型,它的值只有两个,分别是True和False。如果将布尔值进行数值运算,True会被当作整型1,False会被当作整型0。

(2)字符串被定义为一个字符集合,它被引号所包含,引号可以是单引号、双引号或者三引号(三个连续的单引号或者双引号)。字符串具有索引规则,第1个字符的索引是0,第2个字符的索引是1,以此类推。下面是字符串的示例代码:

string_one = 'Python'
string_two = "Python"
string_three = '''Python'''

其他的列表、元组、字典以后会说到。

我们可以使用 type(变量名称) 来查看变量的数据类型

数据类型转换

有时候数据类型之间需要进行转换,转换方式如下

int()         转换为整数
float()       浮点数
str()         字符串

转义字符

python中使用 "\\" 作为转义字符,使得字符失去原来的意义。如下对双引号进行转义

print("23\\"")    #输出 23"

其他的转义字符如下

  • \\n  :回车,相当于换行
  • r"xx\\xx":在字符串前面添加一个r,表示原始字符串不会发生转义
print("hello\\nnihao")
print(r"hello\\"nihao")
print(r"hello\\nnihao")

 

b函数:b就是bytes,二进制的意思。bytes主要是给计算机看的,string主要是给人看的

a = b"df"
b = b"xcc"
print(a + b)
print(type(b))   #打印数据类型

input输入

有时候程序在运行中的时候需要我们手动输入数据传进去,这是就需要用到input方法。

name1 = input("请输入你的名字:")        #读取准备输入的数据(输入)
name2 = input("请输入她的名字:")
print('你们是:' + name1,name2)

输入的数据类型默认为字符串,即此时name1和name2的数据类型默认为字符串类型,如果需要转换为别的数据类型则需要进行类型转换

注释符

  • #    单行注释符
  • python 中多行注释使用三个单引号(''')或三个双引号(""")

格式化输出

有时候需要在一个很长的字符串中添加一个变量。则需要用到格式化输出法。介绍三种常用的格式化输出方法

  • %s
  • format
  • f"xxx{变量}xx"

1. %s

%s,s代表string字符串的意思,就是说待会这里要放一个字符串类型的变量。如果要放数字类型的变量的话就%d,以此类推。如下,用了float类型转换保留了两位小数

name = input("请输入用户名:")
age = 23
print("欢迎%s用户登录,他今年%d岁了"  %(name,age))        #这里%d也可以直接用%s

#%0.2f 为浮点型并保留两位小数,input输入的数据为字符串,所以需要先转类型
weight = float(input('请输入您的体重:'))
height = float(input('请输入您的身高:'))
print('您的身高为了%0.2f, 体重为%0.2f' %(height,weight))

 2. format

此方法的使用格式为

"xxxxxxxx{}xxx"  .foramt(变量名)

name = 'xcc'
age =23
weight = 105
print('我的名字是{}我的年龄是{}我的体重是{}' .format(name,age,weight))

#保留两位小数
print('我总共花了{:.2f}元钱!!' .format(3.1343434343443))  

3. f"xxx{变量}x"

name = "帅哥"
age = 12
print(f"my name is {name},age is {age}")

运算符

举个简单的例子 4 +5 = 9 。 例子中,4 和 5 被称为操作数,"+" 称为运算符。

python支持以下类型的运算符

  • 算术运算符
  • 比较((关系)运算符
  • 赋值运算符
  • 逻辑运算符
  • 位运算符
  • 成员运算符
  • 身份运算符
  • 运算符优先级

1. 算术运算符

这比较简单,如 +  -  *  /  %(取余)

2. 比较运算符

以下假设变量a为10,变量b为20:

运算符描述实例
==等于 - 比较对象是否相等(a == b) 返回 False。
!=不等于 - 比较两个对象是否不相等(a != b) 返回 true.
>大于 - 返回x是否大于y(a > b) 返回 False。
<小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。(a < b) 返回 true。
>=大于等于 - 返回x是否大于等于y。(a >= b) 返回 False。
<=小于等于 - 返回x是否小于等于y。(a <= b) 返回 true。

3. 赋值运算符

以下假设变量a为10,变量b为20:

运算符描述实例
=简单的赋值运算符c = a + b 将 a + b 的运算结果赋值为 c
+=加法赋值运算符c += a 等效于 c = c + a
-=减法赋值运算符c -= a 等效于 c = c - a
*=乘法赋值运算符c *= a 等效于 c = c * a
/=除法赋值运算符c /= a 等效于 c = c / a
%=取模赋值运算符c %= a 等效于 c = c % a

4. 逻辑运算符

以下假设变量 a 为 10, b为 20:

运算符逻辑表达式描述实例
andx and y布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。(a and b) 返回 20。
orx or y布尔"或" - 如果 x 是非 0,它返回 x 的计算值,否则它返回 y 的计算值。(a or b) 返回 10。
notnot x布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。not(a and b) 返回 False
#所有非0的数字都为true
a = 10
b = 20
c = (a and b)
print(c)      #因为a为true所以输出b的值,输出 20
if a and b:   
	print('ok')  #输出ok

c = (a or b) 
print(c)      #如果a非0那么输出a的值,输出10
print(not(c))  #输出false

c = (not(a and b))
print(c)     #因为a and b值为20即为true,not(true)即为false输出false

5. 成员运算符

除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组

运算符描述实例
in如果在指定的序列中找到值返回 True,否则返回 False。x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in如果在指定的序列中没有找到值返回 True,否则返回 False。x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。
a = 10
list = [10, 2, 3, 4, 5 ]
#判断数字是否在列表中
if a in list:
	print('ok')   #输出ok

#判断字符i是否存在于字符串中
a = "china"
if 'i' in a:
	print('ok')   #输出ok

if 'k' not in a:
	print('ok')   #输出ok

条件判断

if语句

  • 条件判断的内容,如果有值即为真,空值即为假
  • 数字类型,如果为0表示假
  • 条件判断的几种链接条件 and , or , not
  • if True
  • if False
if  条件:
    成立
else:
    不成立

if  条件:
    成立
elif 条件:
    成立
...
else:
    不成立

循环

Python 提供了 for 循环和 while 循环(在 Python 中没有 do..while 循环)

1. while语句

while  条件:
    循环语句

如,输出10个xcc

i = 0
while i<10:
    print("xcc")   #括号中输出的内容为什么要加引号?
                      #因为不加引号系统会识别为变量
    i += 1            #python 中没有 i++
                        - 号表示负号

结果如下

 2. for语句

for循环经常会用到

for i in range(a,b,步长值):        #步长值默认为1可以不写
        表达式
  • 区间是 【a,b),步长值默认为1可以不写
  • a和b没有大小之分,步长值可以为负数

如下对字符串“hello”输出2次,并同时输出i的值

for i in range(1,3):
	print(i)
	print("hello")

 for循环中不加range可以遍历带有索引值的数据。如下

  • #字符串
  • for a in "python":
  •        print(a)
  • 输出:p y t h o n
  • #列表
  • for i in ['abc','cde']:
  •        print(i)
  • 输出:abc cde
  • #数字
  • for i in 10:
  •      print (i)
  • 输出:报错 因为整数类型不包含索引值,不能一个一个输出,将10加上引号变成字符型就可以

例子:输出九九乘法表

for i in range(1,10):
    for x in range(1,i+1):
        print("{}*{}={}" .format(x,i,x*i),end='  ') #print默认输出带换行符,加上end=''则不进行换行
        #print(f"{j}*{i}={i*j}",end=' ')
    print(' ') 

循环控制语句

循环控制语句可以更改语句执行的顺序。Python支持以下循环控制语句:

控制语句描述
break 语句在语句块执行过程中终止循环,并且跳出整个循环
continue 语句在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环。
pass 语句pass是空语句,是为了保持程序结构的完整性。

例子,如果输入的用户名不是tom的话,程序会一直循环,直到输入的名字为tom的话程序就会跳出(终止)整个循环

while True:
    name = input("请输入用户名:")
    if name == "tom":
        print("欢迎")
        break
    else:
        continue

random模块

random模块,可以在范围内生成一个随机数

  • random.randint(start,end)                       范围内生成随机数(包含头尾)
  • random.choice([x,x,x,x,....])                    指定数中随机选取(可以是字符串或者数字)
  • import random                                         调用一个功能模块
  • print(dir(random))                                    查看功能模块中有哪些功能属性
  • print(help(random.randint))                    查看该功能的帮助信息

石头剪刀布例子:

#电脑随机出石头剪刀布,你出石头剪刀布,三局两胜

import random
list = ['石头','剪刀','布']
i = 0
c = 0
p = 0
pingju = 0
while True:
    computer = random.choice(list)
    #判断person输入的是否正确不正确重新输入
    while True:
        person = input('请输入石头剪刀布:')
        if person not in list:
            print("您输入的不正确请重新输入!")
            continue
        else:
            break
    if (computer == '石头' and person == '剪刀') or (computer == '剪刀' and person == '布') or \\
        (computer == '布' and person == '石头'):
        print('电脑出的{},您出的{},您输了' .format(computer,person))
        c += 1
    elif (computer == person):
        print('你们都是出的{}' .format(computer))
        pingju == 0
    else:
        print('电脑出的{},您出的{},您赢了了' .format(computer,person))
        p += 1
    i += 1
  
    if i == 3:
        if c >= 2:
            print(f"三局两胜计算机赢了,计算机赢了{j}次,你赢了{p}次,平局{h}次")
        elif p >= 2:
            print(f"三局两胜你赢了,你赢了{p}次,计算机赢了{j}次,平局{h}次")
        else:
            print(f"平局,平局{h}次,你赢了{p}次,计算机赢了{j}次")
        break

以上是关于Python基础语法的主要内容,如果未能解决你的问题,请参考以下文章

使用 Python 代码片段编写 LaTeX 文档

python 学习python语法的片段

《Python学习之路 -- Python基础之切片》

[Python]常用代码块

Python基础语法

Python-11:Python语法基础-控制流