python从0到精通(持续更新)

本文详细介绍了Python编程中的标识符与关键字规则,变量的定义和数据类型(整数、浮点数、字符串、布尔和空值),以及Python的输入输出机制、类型转换和算术运算符。还涉及了文件操作、字符串转义、路径处理和控制台输出的规范。
摘要由CSDN通过智能技术生成

标识符与关键字

"""
标识符:  标识某个实体的符号,使用这个符号可以代替实体参与相应的运算
    在编程语言中,标识符一般就是给变量、项目名称、文件名称、函数名、类名等等自定义名称,建立起名称和使用的数据之间的关系
    自定义名称是要遵守一定的规则的:
    1. 标识符是由数字、字母、下划线组成的
    2. 标识符名称不能以数字开头
    3. 不能使用关键字与保留字
        关键字:编程语言中具有特殊含义的单词
        保留字: 编程语言中已经使用的名称 不建议再使用 【因为再使用的话 会覆盖掉原本的含义】
"""

# 我想打印一个数据10
print(10)

# 定义一个标识符 给它赋值为10
num = 10
print(num)

# 我想打印 10+20的和
print(10 + 20)
print(num + 20)


# 定义的时候包含了其他的符号 就会报错
# num@ = 10
# SyntaxError: invalid syntax

# 不能以数字开头
# 1_num = 10
# SyntaxError: invalid decimal literal

# python中的关键字有哪些
"""
Python环境中自带了很多工具包,每个工具包都有对应的作用
比如 time --- 包含时间相关的操作
要想使用工具包  需要导包 
语法:import 工具包名
使用工具包下面的内容   工具包名.内容名
"""
import time
# 打印当前时间  获取time工具包 当前时间的操作
print(time.localtime())


# python中的关键字 被放在 keyword的工具包
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'
"""

# 使用关键字定义名称
# False = 10
# SyntaxError: cannot assign to False  不允许给False再次赋值

# 不建议使用保留字
# print 在Python中被使用了  具有输出的含义
# print = 10
# print这个标识符 代表只是10  原本的输出的含义就被覆盖了
# print(10)
# TypeError: 'int' object is not callable

# 怎么辨别是不是保留字: 写单词的时候被提示出来的都是Python中已经使用的了  就不再使用即可

 

变量与数据类型

"""
变量: 变化的数据 这种变化的数据在程序中来使用的时候 一般会给数据做一个标记 方便获取相关的数据信息
    这个标记就成为变量名。

    例如: 记录一天的气温
        在程序中使用这个气温的时候 具体使用哪个数据 就不确定了
        一般会被这个数据值 设置一个变量名 随着时间的推移 设置不同的数据值
        当使用的时候直接使用这个标记名代替数据参与运算即可
"""
# 早晨温度
air_temp = 24
# 中午
air_temp = 30
print(air_temp)

"""
数据类型:把相同特征的数据进行归类,形成一类数据,这个称为数据类型
    Python中的数据类型
        整数类型(整型int)   10  20   30  45 
        小数类型(浮点型float)  4.15  6.78
        文本数据(字符串str)  字符串数据是需要使用引号包含的[不区分单双引号]
            'hello'   'qf'  "Nice"   '' [空字符串]
        逻辑结果(布尔类型bool)  逻辑结果只有两种 成立与不成立,布尔值只有两个 True 和 False
        空类型(NoneType)   空值(None)  代表什么都没有    空字符串和None不是一个东西 【空字符串理解成是空箱子  None连箱子都没有】
    获取数据的类型  type(变量名)
    
    类和对象
        类: 对具有相同属性和特征的数据的一个抽象描述 
            比如整数类型
        对象: 该类下实际存在的实体
            比如 10
        
        生活中举例:
            电脑 --- 类[泛泛的称呼]
                联想小新 --- 类
            谭鑫铜的电脑 --- 对象
            
            学生 -- 类
            谭鑫铜 -- 对象
            
    
"""

# 定义一个 变量 记录人的名称 [起名字尽量见名知意]
name = '小千'
print(name)

# 定义一个变量 记录一个人的年龄
age = 10
print(age)
print(type(age))  # <class 'int'>  class代表的就是类型

# 定义一个变量 记录性别
gender = '女'
print(gender)
print(type(gender))  # <class 'str'>

# 记录一个状态值
flag = True
print(flag)
print(type(flag))  # <class 'bool'>


# 空值
result = None
print(type(result))  # <class 'NoneType'> 

python的输入输出

# 输出  按住ctrl键 点击要查看信息的名称  就可以进入到Python定义的源码文件
"""
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
    value, ..., 代表print可以一次性输出多个数据,书写的时候 数据之间使用逗号分隔
    sep=' '  一次性输出多个数据时 展示的结果中数据之间的分隔符 默认是空格
    end='\n' 输出内容结束符,print输出内容时 会在内容末尾追加一个结束符 默认是换行
         字符串中特殊的符号 \ [转义符]
            可以将某些符号的含义 转变成其他的意思
                n --- \n换行符
                r --- \r 回车  在windows系统下 存储数据的时候 \n 本质上存储的是\r\n
                t --- \t 制表符  就是tab键
                u ---  这个识别成unicode编码符号
    file=sys.stdout
        print数据输出的目的地,默认就是控制台
    flush=False
        是否快速的将通道中的数据输出到文件中
"""
print(10, 20, 30, 40)
​
# 自己设置多个数据之间的分隔符
# 如果直接使用逗号分隔 代表的输出的多个数据 为了区分是数据还是分隔符,给分隔符赋值的时候 sep=指定的分隔符
print(10, 20, 30, 40, sep='+')
​
# 演示转义符
print('and')  # and
print('a\nd')
"""
a
d
"""
​
# 输出内容的时候 此时不需要换行  可以修改end的值
print('hello', end='\t')
print('world')
​
​
# 更新内容的输出目的地
'''
把内容输出到文件中 
1. 需要建立程序和文件之间的联系通道
    有一个操作 open(文件路径, 操作文件的模式, 文件的编码形式)
        以指定模式将文件与程序建立联系
        操作文件的模式
            r -- read  只读  在程序中要读取文件的数据
            w -- write  只写  要将信息从程序中写入到文件中
                    文件如果不存在 会自动创建文件
                    文件存在  会清空文件内容 再把数据写入
            a --- append 只写  要将信息从程序中写入到文件中
                    文件不存在 会创建文件
                    文件存在 进行的是追加写的操作
        文件的编码形式 【不同的编码形式决定了文件中语言的类型】
            编码:人为规定一种编译规则  
                在计算机存储数据的时候,存储格式是 二进制形式的
                十进制数据  逢十进一  数字符号集 0 1 2 3 4 5 6 7 8 9 
                二进制数据  逢二进一  数字符号集 0 1
                
                但是数据存储的时候 并不是只有数字,还有汉字 英文字母等等
                十进制转化成二进制怎么转换的???
                    存储10  在计算机中的是什么样子???
                        除以2取余数  直到商为0  将所有的余数倒序拼接起来
                            10/2 = 5 ---- 0
                            5/2 = 2 ----- 1
                            2/2 = 1 ----- 0
                            1/2 = 0 ----- 1
                            
                            10 ====> 1010
                
                汉字、英文字母等等不能直接转化为二进制,因此就出现了编码
                计算机人为制造的,运算规则也是人为制造的
                
                汉字或者英文字母在存储的时候 指定了什么规则???  这个映射规则称为编码
                    将汉字或者英文字母 每一个字对应着一个数字 
                    例如
                       a ===> 97
                       一 ===> 19968
                    
                常见的编码规则有:
                    ASCII码  --- 只设置128个符号对应的数字  包括英文字母
                    GB2312 --- 国家编码标准 2312序列号
                    GBK --- 国标扩展   
                    Unicode --- 国际编码标准 【收录是世界语言在内的】
                        Python的编码就是unicode下UTF-8  
                    
                
2. 通过通道把数据传递到文件中
'''
handle = open(r', 'a', encoding='utf-8')
print('床前明月光,疑是地上霜。', file=handle, flush=True)
​
​
# \u  每一个unicode编码值 都对应着一个文字
print('\u4e00')  # 一
​
# 路径中 C:\users\...
# 怎么解决转义的问题? 有些情况下 不需要转义符进行转义,保持转义符的本意
# 方式1: 对转义符再次转义  \\  保持\本身的含义
print('\\n')  # \n
​
# 方式2: 使用r修饰字符串   字符串中每个符号都保持数据本身的含义
print(r'\n')  # \n
​
​
"""
open(文件路径, 操作文件的模式, 文件的编码形式)
文件路径有两种格式:
    1. 绝对路径
            windows系统  从盘符开始 到 具体的文件的路径  就是绝对路径
            Mac系统 从根路径 /开始到具体文件结束
                
    2. 相对路径[建议]
         需要文件配置在项目路径下   
         相对路径是有参照物的:当前正在编辑的文件  
         相对路径中有两个特殊的符号:
            .  ---  当前操作的文件所在的文件夹 Day02
            .. --- 当前操作的文件所在的文件夹上一级  代码
"""
handle1 = open('./静夜思.txt', 'w', encoding='utf-8')
print('床前明月光, 疑是地上霜', file=handle1)
​
​
# handle1 = open('../李白.txt', 'w', encoding='utf-8')

类型转换

"""
让用户输入两个数,求两个数的和
"""
# num1 = input('请输入第一个数:')
# num2 = input('请输入第二个数:')
# print('两个数据的和', num1 + num2)  # 两个数据的和 1728
"""
为什么是这个结果???
input 不管用户输入的是什么格式的数据 在程序中拿到的都是字符串类型的
字符串数据之间进行相加 完成的是拼接的动作
"""
# print('a' + 'b')  # ab
​
​
# 目的是求和,不是拼接
# 想要完成这个目的,num1和num2接受到数据类型得是整数类型的才可以,但是现在是字符串类型的
# 想让字符串格式的数值变成整数类型,就需要进行类型转换
"""
操作语法【这个格式是固定的】
    int(数据/变量名)
"""
value = '1673'
print(type(value))  # <class 'str'>
​
num = int(value)
print(type(num))  # <class 'int'>
​
# 注意事项: 把字符串格式的数值转化为整型时  数值的格式必须满足整数形态
# int('3.14')
# ValueError: invalid literal for int() with base 10: '3.14'
# 不合法的数据
​
# int('17a')
# ValueError: invalid literal for int() with base 10: '17a'
​
# 改进:才能达到需求
# 输入一个数值 将转换为整型 并赋值给num1
num1 = int(input('请输入第一个数:'))
num2 = int(input('请输入第二个数:'))
print('两个数据的和', num1 + num2)  # 两个数据的和 45
​
​
"""
把字符串数据转化成浮点型 
float(数据/变量名)
    注意:转换的时候要满足数字的形态  【可以是整数 也可以小数】
"""
data = '3.14'
res = float(data)
print(type(res))  # <class 'float'>
​
data = '10009'
res = float(data)
print(type(res))  # <class 'float'>

算术运算符

"""
运算符:
    算术运算符
        一元运算符: 正负号  +17   -89
        二元运算符
            加法 +
            减法 -
            乘法 *
            除法 /  和 //
            取余 %
            幂数 **
    复合赋值运算符
    比较运算符
    逻辑运算符
    成员运算符
"""

a = 17
b = 6
print('加法', a + b)
print('减法', a - b)
print('乘法', a * b)
print('除法', a / b)  # 结果是浮点型的
print('向下整除', a // b)   # 有一个向下取整的操作: 结果是<=商 且最接近于商的整数
print('取余', a % b)  # 两数相除 获取余数
print('幂数x的y次方', a ** b)
运行结果:
"""
加法 23
减法 11
乘法 102
除法 2.8333333333333335
向下整除 2
取余 5
幂数x的y次方 24137569
"""
print(2 ** 3)
​
# 开方
# 对8开3次方  === 8的三分之一次方

课堂代码

import time
print(time.localtime())
import keyword
print(keyword.kwlist)
print(10,20,30,40,sep=',',end='\n')
print('hello',end='&')
print('world')
handle=open('D:\新建文件夹 (2)\pp\过零丁洋.txt','w',encoding='utf-8')
print('人生自古谁无死,留取丹心照汗青',file=handle,flush=True)
# 路径中C:\users\...
# 怎么解决转义的问题?有一些情况
handle1=open('./将进酒.txt','w',encoding='utf-8')
print('君不见黄河之水天上来,奔流到海不复回。',file=handle1,flush=True)
handle2=open('./阿毛.txt','a',encoding='utf-8')
print('雄关漫道真如铁,而今迈步从头越',file=handle2,flush=True)
'''
print('\u4e01')
name=input('请输入你的姓名')
print('请确定你的名字输入是否正确:',name)
print(type(name))
num1=int(input('请输入第一个数:'))
num2=int(input('请输入第二个数:'))
print('两数的和:',num1+num2)
num3=float(input('请输入一个数:'))
num4=float(input('请输入一个数:'))
print('和为:',num3+num4)
data=1
res=str(data)
doc=float(res)
print(type(doc))
'''
a=81
b=4
print('加法',a+b)
print('减法',a-b)
print('乘法',a*b)
print('除法',a/b)
print('向下除法',a//b)
print('幂',a**b)
print('开方',a**(1/b))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值