python编程语法基础知识

目录

一:变量定义

二:type函数

三:注释

四:数据类型

五:列表 

六:复数

七:常量

八:运算符

九:字符串拼接 & 强制类型转换

十:成员运算符

十一:for循环

十二:浅拷贝 & 深拷贝

十三:身份运算符

十四:输出 & 输入

十五:基础语法使用

十六:while循环

十七:python基础语法 训练


一:变量定义

python在定义变量时,不需要写数据类型

python字符串格式化%

python支持格式化字符串的输出,在输出时需要自己设置控制输出格式,

如下示例  name输出格式%s 、age输出格式%d

age = 22
name = "chenruhan"
money = 100
print("my name is %s ,i am %d years old" % (name,age))

  

python智能化输出 format 

如下示例 控制输出格式都设置为{ },输出方式为:str.format()

age = 22
name = "chenruhan"
money = 100
print("my name is {} ,i am {} years old".format(name,age))

.format 参数列表,可以 顺序设置,在{ }中写入变量的顺序即可

下面给出示例

age = 22
name = "chenruhan"
money = 100
print("my name is {1} ,i am {0} years old".format(name,age))

  

二:type函数

通过使用type函数,可以检验定义变量的类型,下面给出示例

age = "20"
print(age,type(age))

检验 age变量的类型为 str 字符串

三:注释

单行注释 #

boolvalue = True # False 单行注释

多行注释

三个双引号 或 三个单引号 

"""
1.Number 整数 + 小数
2.string 字符串 '' ""
3.Boolean True False
"""

四:数据类型

python3中有六个标准的数据类型

Number(数字)、String(字符串)、Boolean(布尔)、List(列表)、Tuple(元组)、Sets(集合)、

Dictionary(字典)

不可变数据(4个):Number(数字)、String(字符串)、Tuple(元组)、Boolean(布尔)

可变数据(3个):List(列表)、Dictionary(字典)、Sets(集合)

python3支持三种不同的数值类型

整型(int)、浮点型(float)、复数(complex)

五:列表 

import keyword # 引用python 内置模块
# list 列表 []
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 = 4.7+0.666j #定义一个复数
print(a)       #输出这个复数
print(a.real)  #输出实部
print(a.imag)  #输出虚部

 

python 与、或、非   可以和C/C++作个对比

C/C++   :      &&        ||           !

python   :    and       or       not

七:常量

常量表示“不能变”的变量

python中是没有常量的关键字的,只是我们常常约定使用大写字符组合的变量名表示常量,也有“不要对其进行赋值”的提醒操作 

下面给出示例

CLASSNAME = "omo2112"
print(CLASSNAME)
CLASSNAME = "omo2203"
print(CLASSNAME)

打印输出

omo2112
omo2203

python语法 看到全大写的字符组合 如上示例中CLASSNAME 就默认其为常量,意味其不能改变

八:运算符

python支持以下8种运算符

1.算术运算符(+ - * /   //地板除、%取余)

2.比较(关系运算符)

3.赋值运算符

4.逻辑运算符

5.位运算符

6.成员运算符   in   not in

7.身份运算符   is   not is

8.运算符优先级

算术运算符,下面以 除法和地板除 作为示例

除法 有保留小数部分

num = 10/3
print(num)

输出结果:3.3333333333333335

地板除 不保留小数部分

num = 10//3
print(num)

输出结果:3

九:字符串拼接 & 强制类型转换

字符串拼接,示例 

str1 = "abc"
str2 = "qwe"
print(str1+str2)

输出结果为:abcqwe

空格也是字符串,需要注意 

强制类型转换,示例

age = "20"
print(age,type(age))
res = int(age) #强制转换
print(res,type(res))

强制类型转换,示例

age = "20"
print(age,type(age))
res = float(age) #强制转换
print(res,type(res))

十:成员运算符

列表的定义 :元素之间逗号隔开,索引是从0开始

下面给出列表、成员运算符in的使用示例

# 列表的定义
stuList = ['张三','李四','王五']
#成员运算符 in 的使用
print('李四' in stuList) #李四是否在列表中
print('赵六' in stuList) #赵六是否在列表中

 成员运算符in的使用,字符串查找 

# 字符串 可迭代性
# 可迭代性即可以遍历的数据类型 可以使用成员运算符in
code = "apple"
print('a' in code)

输出结果:True

十一:for循环

# 列表的定义
stuList = ['张三','李四','王五']
# for 元素 in list
for item in stuList:
    print(item)  #for循环遍历打印所有项

输出结果:

张三
李四
王五

for if 嵌套,示例

# 列表的定义
stuList = ['张三','李四','王五']
# for 元素 in list
for item in stuList:
    if '张三' == item:
        print("找到了",item)
        break

输出结果:找到了 张三

True、False设置标志位,成员运算符in使用,for if嵌套,示例 

# 列表的定义
stuList = ['张三','李四','王五']
# for 元素 in list
flag = False  #True、False设置标志位
for item in stuList:
    if '涵' == item:
        print("找到了",item)
        flag = True
        break
if flag is not True:
    print("没找到")

输出结果:没找到

for else结构 ,示例

# 列表的定义
stuList = ['张三','李四','王五']
# for 元素 in list
for item in stuList:
    if '涵' == item:
        print("找到了",item)
        flag = True
        break
else:  #如果循环自然终结,那么就会执行
    print("没找到")

输出结果:没找到

for else结构,示例

# 列表的定义
stuList = ['张三','李四','王五']
# for 元素 in list
for item in stuList:
    if '李四' == item:
        print("找到了",item)
        flag = True
        break
else:  #如果循环自然终结,那么就会执行
    print("没找到")

输出结果:找到了 李四

十二:浅拷贝 & 深拷贝

列表索引,示例

# 列表的定义
stuList = ['张三','李四','王五']
print(stuList[0]) #列表索引,打印输出

输出结果:张三

浅拷贝,共用一片内存空间 ,示例

# 列表的定义
stuList = ['张三','李四','王五']
stuList1 = stuList #浅拷贝 共用一片内存空间
print(stuList1,type(stuList1))

输出结果:['张三', '李四', '王五'] <class 'list'>

这边看不出共用一片内存空间,下面给出示例

# 列表的定义
stuList = ['张三','李四','王五']
stuList1 = stuList  #浅拷贝
stuList1[0] = "chenruhan" #列表1 索引0的元素赋值
#分析列表之间的差别 -- 浅拷贝
print(stuList,type(stuList))
print(stuList1,type(stuList1))

 深拷贝,开辟内存空间,示例

# 列表的定义
stuList = ['张三','李四','王五']

#深拷贝 示例
stuList2 = stuList[:]  #进行元素的全部赋值
stuList2[0] = "linximeng" #列表2 索引0处元素赋值
#分析列表之间差别 -- 深拷贝
print(stuList , type(stuList))
print(stuList2 , type(stuList2))

十三:身份运算符

身份运算符is的使用,示例 

# 列表的定义
stuList = ['张三','李四','王五']
stuList1 = stuList          #浅拷贝
print(stuList1 is stuList)  #身份运算符 is

输出结果:True

# 列表的定义
stuList = ['张三','李四','王五']
stuList2 = stuList[:]       # 拷贝一个 原版不变 即深拷贝
print(stuList2 is stuList)  #身份运算符 is

输出结果:False

十四:输出 & 输入

查看print输出,内置参数设置

不难看出,输出自带换行,当然也可以设置参数end不换行

print设置end 制表输出 示例 

# 列表的定义
stuList = ['张三','李四','王五']
stuList1 = stuList     # 浅拷贝
stuList2 = stuList[:]  # 拷贝一个 原版不变 -- 深拷贝

#浅拷贝
print(stuList1 is stuList,end = '\t')  #print设置end 制表输出
#深拷贝
print(stuList2 is stuList)             #身份运算符is的使用 输出是制表形式

print设置end参数/t,制表输出 

input输入的所有内容,类型都是字符串

下面给出input输入任意内容,类型都是字符串,示例

name = input("请输入用户名")
print(name , type(name))

如下图,无论输入123数字,还是True(布尔型),类型都会是字符串 

十五:基础语法使用

# 列表的定义
stuList = ['张三','李四','王五'] #用户
pwdList = ['123','345','567']   #密码

name = input("请输入用户名")#输入
print(name , type(name))   #input输入 都是字符串
pwd = input("请输入密码")   #输入
#for循环
for item in stuList:
    if name == item:
        print("用户名存在,该用户是",item)
        break
else:
    print("用户名不存在")

根据下标获取元素,range使用,示例

# 列表的定义
stuList = ['张三','李四','王五'] #用户
pwdList = ['123','345','567']   #密码

name = input("请输入用户名")   #输入
print(name , type(name))      #无论input输入什么 类型都是字符串
pwd = input("请输入密码")      #输入

#for循环
#range使用: 1个参数(有区间)、2个参数(起、始/区间)
for i in range(3):   #区间 [0,n-1]
    if stuList[i] == name:
        if pwd in pwdList:
            print("登录成功")
        else:
            print("登录失败")
        break
else:
    print("没找到")

十六:while循环

while 1:

无限循环,示例 

def demo1():
    print(123)

def demo2():
    print(456)

def demo3():
    print(789)

while 1:
    print("1.登录\n2.注册\n3.退出")
    option = int(input("请输入功能号:")) #input输入进来的是字符串
    if option == 1:
        demo1()
        print("登录")
    elif option == 2:
        demo2()
        print("注册")
    elif option == 3:
        # demo3()
        # print("退出")
        break
    else:
        print("无此选项")

输入功能号1,执行demo1

输入功能号2,执行demo2 

输入功能号3,退出循环 

十七:python基础语法 训练

练习1

输入五门学科的成绩(整数),定义一个函数计算出总分和平均分,平均保留一位小数

%.1f   %0.1f  %1f

def test1():
    str1 = input("输入五门学科的成绩(整数)")  # input输入都是字符串
#   print(str1, type(str1))                # input输入数据类型都是字符串
    numList = str1.split(" ")              # 字符串分割(空格)
#   print(numList, type(numList))          # 得到字符串列表

    list1 = []
    for item in numList:                   # 每一个元素str类型强制转换为 int数据类型
        list1.append(int(item))            # append[列表添加元素]
    print(list1, type(list1))              # int数据类型 列表

    print("总分是:%d" % sum(list1))        # sum求和
    print("学科数量是:%d" % len(list1))     # len获取长度
    print("平均分是:%.1f" % (sum(list1) / len(list1)))


test1()

   

练习2

定义一个函数,传入一个数字n(不要大于10),求1+2!+3!+…+n!的和

def test2():
    num = input("请输入一个数")         # input输入都是str字符串
    score = 1                          # 阶乘
    num2 = 0                           # 求和
    for i in range(1, int(num) + 1):   # str强制转换int
        score *= i                     # 阶乘
        num2 += score                  # 求和
    print("输入数的阶乘和为:", num2)    # 阶乘求和


test2()

  

练习3

输入一个字符,如它是小写字母,则把它循环转换成自身的后4个字母的大写形式,如是大写字母,则把它循环转换成自身的后4个字母的小写形式;其他形式的不转换;并且把结果输出

如:a字母结果输出E,W输出结果a 

def test3():
    ch = input("输入一个要转换的字符")  # input输入数据类型 都是str
    # 一共分为四类 1.a-v 2.w-z 3.A-V 4.W-Z
    if 'a' <= ch <= 'v':
        # 字符转ASCII   使用ord
        num = ord(ch)
        # ASCII转回字符 使用chr
        ch = chr(num - 32 + 4)  # 97 65大小写相差32
        print("转换结果为:{}".format(ch))
    elif 'w' <= ch <= 'z':  # w -- W -- A  [97 65大小写相差32]
        num = ord(ch)       # 字符转ASCII   使用ord
        ch = chr(num - 32 - 22)  # ASCII转回字符 使用chr
        print("转换结果为:{}".format(ch))
    elif 'A' <= ch <= 'V':
        num = ord(ch)       # 字符转ASCII   使用ord
        ch = chr(num + 32 + 4)   # ASCII转回字符 使用chr
        print("转换结果为:{}".format(ch))
    elif 'W' <= ch <= 'Z':
        num = ord(ch)       # 字符转ASCII   使用ord
        ch = chr(num + 32 - 22)  # ASCII转回字符 使用chr
        print("转换结果为:{}".format(ch))
    else:
        print("请输入英文字符:")


test3()

    

练习4

输出1~100之间的偶数,5个数字一行输出

方法一:

def test4():
    num = 0
    for i in range(1, 101):
        if i % 2 == 0:
            print(i, end='\t')  # print默认end换行,这里设置水平制表
            num += 1
            if num % 5 == 0:
                print()


test4()

 方法二:(优化)

def test4():
    for i in range(1, 101):
        if i % 2 == 0:
            print(i, end='\t')  # print水平制表输出
            if i % 10 == 0:
                print()


test4()

练习5

判断(1,n]中所有质数的和是否是质数  n=5      2,3,5   10 

def isZhiShu(num):          # 求质数 函数封装
    if num == 1:            # 1不是质数
        return False
    if num == 2:            # 2是质数
        return True
    for i in range(2, num):  # 遍历 从2开始 1不是质数
        if num % i == 0:     # 除了1和本身 无法整除 称为质数
            return False     # 可以整除,不是质数
    else:
        return True


def test5():
    num2 = 0                          # 质数和
    num = int(input("请输入一个数字"))  # input输入str 需要转换int数据类型
    for i in range(2, num + 1):       # 遍历
        if isZhiShu(i):               # 调用函数 传参(遍历的数)
            num2 += i                 # 质数求和
    print("质数的和是:", num2)
    if isZhiShu(num2):                # 调用函数 传参(质数和)
        print("同时判断出质数的和 是质数")
    else:
        print("同时判断出质数的和 不是质数")


test5()

练习6

数字炸弹:数字范围[0,100].用户输入一个100以内的数,系统生成随机数,用户有3次机会,每猜一次,系统会给出猜大了或是猜小了在区间[min,max]的提示,如果与系统随机数相同,则用户赢了,否则就是电脑赢了

import random    # 随机数


def test6():
    result = random.randint(1, 100)  # [1,100]
    i = 1  # 次数
    minNum = 1                       # 最小数 初始化
    maxNum = 100                     # 最大数 初始化
    while i < 4:                     # 数字炸弹 一共设置有三次机会
        num = int(input("输入猜测数字:"))  # input输入str 需要转换为int
        if minNum <= num <= maxNum:       # 猜测数字需要在范围内
            i = i + 1
            if num < result:              # 猜测小了
                minNum = num + 1
                print("猜小了,炸弹范围现在是{}~{}".format(minNum, maxNum))
            elif num == result:           # 猜测到了
                print("猜中了,数字炸弹是{}".format(result))
                break
            else:                         # 猜测大了
                maxNum = num - 1
                print("猜大了,炸弹范围现在是{}~{}".format(minNum, maxNum))
        else:                             # 猜测数字若不在范围内
            print("输入范围有误,请重新输入{}~{}之间的数字".format(minNum, maxNum))
    else:                                  # 三次机会猜测不到,游戏结束,给出数字炸弹答案
        print("三次机会使用完,很遗憾并没有猜中,数字炸弹为{}".format(result))


test6()

  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Python语法.pdf是一份包含Python编程语言的语法规则和示例的PDF文件。它提供了Python编程语言的基本概念、语法结构和常用函数的说明,可以帮助初学者快速了解和学习Python编程。 首先,Python语法.pdf从基本的数据类型、变量和运算符开始介绍。它解释了整数、浮点数、字符串、布尔值等数据类型的特点和用法,以及如何使用运算符进行数值计算和字符拼接。 其次,Python语法.pdf详细介绍了Python的控制流结构。它包括条件语句(如if语句和ternary条件表达式)、循环语句(如for循环和while循环)和跳转语句(如break语句和continue语句),并提供了相应的语法和示例,帮助读者理解和运用这些控制流结构。 此外,Python语法.pdf还介绍了Python函数的定义和调用。它解释了如何使用def关键字定义函数,如何传递参数和返回值,以及函数作用域和局部变量的特点。同时,它还展示了一些常用的内置函数和标准库函数的使用方法,如print()函数、len()函数和math库的数学函数。 最后,Python语法.pdf还包括了面向对象编程方面的内容。它介绍了如何定义类和创建对象,如何使用构造函数和实例方法,以及如何继承和重写父类方法。此外,它还提供了一些常用的内置类和模块(如字符串、列表和时间模块)的说明和示例。 综上所述,Python语法.pdf是一份帮助初学者快速入门Python编程的指南。它覆盖了Python语法的各个方面,并提供了大量的示例和练习,读者可以通过阅读和实践来掌握Python编程的基本技能。无论是初学者还是有一定编程经验的人士,都可以通过Python语法.pdf来提高自己的编程能力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

chenruhan_QAQ_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值