2.python的基本语法知识

第二天的学习内容喵,请大大们检查~ 

2.1代码初尝试

python中输出功能为print(输出数据)

  1. 数据是数字,直接写print(10)

  2. 数字是文本,书写的时候加引号就可以输出,不区分单双引号print(‘hello world’)

2.2编码规范

2.2.1语句和缩进

语句:完成逻辑的表达式称为语句

在编程语言中习惯语句结束的时候使用分号标记[;]在Python中不建议写分号,建议一条语句独占一行 如果写代码的时候,一行中有多条语句,语句之间必须使用分号隔开

空格缩进:在Python中是体现代码块包含的意思【有些代码需要满足一定的条件才能执行(if语句),是需要被包含在一个条件内】,不能随便在开头增加空格缩进。

2.2.2注释

程序员为了更好的解读代码,给代码添加的标注,这个标准不被计算机当作程序识别,或一些代码功能暂时不被启动,需要将代码注释

注释分为两种

  1. 单行注释,#加空格

  2. 多行注释,格式三对引号包含,单双引号都可以,推荐使用三对双引号。

2.2.3print的使用

"""
项目名称: 02_print与注释.py
用户名: liuyanan
创建日期: 2023-9-20
flag标语:键盘敲烂 月薪过万!!!!
"""
​
# print的使用  按住ctrl键 点击功能名称
# print()
# print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
"""
1.value, ..., 代表的是print可以一次性输出多个数据,书写的时候,数据之间使用逗号隔开 
2.sep=' '  代表的是print一次性输出多个数据展示结果时,数据之间的分隔符默认为空格
        也可以进行修改, 为了避免print将设定的分割符识别成输出的数据,设置分割符的时候格式为
            print(数据1, 数据2, 数据3, sep=分隔符)
3.end='\n' 代表的是print输出内容的结束符,这个结束符默认是换行
        一个知识点: 转义符\,可以将某些特定的符号转变其他的含义
            比如符号n  加上\就变成换行符  \n
            符号t  \t代表的是tab键 称为制表符 【四个空格】
            符号u  转义符会把u后面的内容当做unicode编码 想去获取其对应的文字
                4e00 ===> 一
        因为end默认是换行 所以每个print打印的结果都是独占一行的
            也可以对end进行修改 修改格式类似于sep 
            print(数据1, 数据2, 数据3, sep=分隔符, end=结束符)
4.file=sys.stdout  代表的内容输出的目的地 默认是控制台上输出
5.flush 冲洗刷新的意思
"""
print(10)
print('hello world')
print(10, 20, 30, 40)
​
# 打印的时候 分隔符没有使用sep指定  会被识别成多个数据中的一个进行打印输出
print(10, 20, 30, 40, '+')  # 10 20 30 40 +
# 想要展示内容使用+分割 必须使用sep指定
print(10, 20, 30, 40, sep='+')  # 10+20+30+40
​
# 转义符
print('and')  # and
print('a\nd')
"""
a
d
"""
print('heath')  # heath
print('hea\th')  # hea  h
​
print('\u4e00')  # 一
​
# 报错 报错的原因是 把sers当做了unicode编码  但是sers没有对应的文字
# print('\Users')
​
# 修改结束符
print(10, end='\t')
print(20)  # 10 20
​
​
# 演示把内容输出到文件中
"""
目的:要在一个文件中写内容
如果使用文件系统图形化界面的形式 向文件中写入内容
1. 按照路径找到文件
2. 打开文件
3. 进行书写
4. 保存关闭
"""
# 如何使用Python代码按照路径打开文件
# open这个操作
# 格式: open(文件路径, 操作模式, encoding=文件存储编码形式)
"""
文件路径:
    可以是绝对路径,也可以是相对路径
        绝对路径 从盘开始一直到具体的文件
        相对路径:参照物
            当前所在的路径使用.来表示
            ..表示的是上一级路径
            举例:
                现在路径是C:\WorkContent\喵喵\喵喵python\day03_Python入门须知与运算符\代码\Day03
                
                有一个路径 为 ./demo.py  这个文件就在现在的路径下
                有一个路劲为 ../demo.py  这个文件在代码文件夹下
                有一个路径为 ../../demo.py 这个文件在 day03_Python入门须知与运算符 这个文件夹下
                有一个路径为 ../../笔记/demo.py
                    先回到 day03_Python入门须知与运算符这个文件夹 再进入到文件夹下的笔记文件夹中 有一个demo.py
操作模式
    w -- write 代表的是写
        如果路径对应的文件不存在 会先创建文件 再写入
        如果文件存在,会清空文件 再写入
    a -- append 代表的是写
        如果路径对应的文件不存在 会先创建文件 再写入
        如果文件存在,不会清空文件 在原本的基础上追加写
encoding 文件的编码形式
"""
# open的操作就相当于是将Python程序与文件建立联系
print('hello file', file=open('./hello.txt', 'w', encoding='utf-8'))
​
print('hello file', file=open('./hello1.txt', 'a', encoding='utf-8'))

2.4变量与数据类型

2.4.1变量

变量定义源于数学,和数学方程式里的变量是一样的,只不过在计算机里定义格式不一样,变量不仅仅是数字,还可以是其他格式的数据。

使用某个标记名,标记数据,这个标记名叫做变量名。

变量,从名字来进行判定,它标记的数据是可变化的,

在python中,定义变量的格式是 变量名 = 数据值,这里的变量名起名的时候要遵守一定的规则,这个规则来源于标识符

变量定义的其他格式:

  1. 同时定义多个变量名赋予相同的值 比如a =b =c = 10

  2. 同时定义多个变量但是值不相同[变量名1, 变量名2, 变量名= 值1, 值2, 值3] 比如a,b=10,20

注意:变量在使用之前一定要先定义并被初始化【赋予初始值】

2.4.2标识符

计算机中自定义的名字称为标识符,比如自定义项目名称/python文件名称/变量名/函数名/类名等等

规则:

  1. 包含数字 字母 下划线

    字母:注意python的编码是UTF-8,是国际编码标准,收录的是世界语言在内的,这里的字母包括各国语言文字,换句话说各国语言文字统称为字母【英文、汉字等等】

    虽然是各国语言都能定义,但还是建议使用英文字母

  2. 不能以数字开头

  3. 不能使用关键字与保留字

    关键字:在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']

    保留字:在python中已经被使用定义的名字【会根据定义覆盖原本的含义】

    初次定义提示出来的就是保留字,就不要使用了,想用的话后面加个数字

不同内容的命名规范:

  1. 项目名称在满足标识符规则的基础上,定义的时候建议采用大驼峰【每个单词首字母大写】

  2. python文件名称/变量名/函数名在满足标识符规则的基础上,定义的时候英文字母都是小写的,单词和单词之间用下划线隔开【比如max_value】

  3. 尽量做到见名知意

2.4.3数据类型

计算机中能处理的数据不仅仅只有数字,还可以处理文本/图形/音频/视频/网页等等各种各样的数据,再做处理的时候按照数据的特征进行了归类

在python在基本的数据类型有:

  1. 整型(int) 整数类型,该类型的数据值全部都是整数。Python可以处理任意大小的整数,包括负整数,写法与数学上的一样,比如10、-29等等

  2. 浮点型(float) 小数类型,之所以叫浮点类型,是因为数字可以使用科学计数法表示,小数点可以移动的,eg:1.23×10^9=1.23e9=12.3e8

整数运算精确,浮点的不精确

  1. 布尔类型(bool) 布尔值与布尔代数的表达形式是一样的,布尔值只有两个true和false,表达逻辑表达式运行的结果的

  2. 字符串类型(str) 表达的是文本数据,是由单引号或双引号包含起来的任意文本,

    比如'hello world',

    注意: '0'和0不是同一个内容,前者是一个字符串,文本,没法做算术运算;后者是一个数字,可以算术运算。

    ASCII码中看到的字符0对应的十进制数据是48,这个是 '0',不是数字0。

    在内存中存储的时候

    '0'====>48====>11 0000
    0===>0000000...(32个0)
    字符串是一个有序的,不可变的容器型数据
    ​
    •  字符串是有0个或者多个字符组合而成的,容器里面的数据元素就是字符
    ​
    •  字符:长度为1的字符串就叫做字符,
    ​
    当字符串是一对空引号称之为空字符串【容器中什么符号都没有】eg:''
       空字符串不等价于空值None
         把容器理解成箱子
    •      'abc'箱子中有数据a数据b数据c
    •      ''一个空箱子
    •       None就是连箱子都没有
  3. 空类型(NoneType) 有一个值就是None,这个表示空值【可以理解成什么都没有,不能理解成0,0还是有意义的数字的】

tips:获取数据类型的方式print(type(数据名称))

python是属于动态类型的语言,变量的类型是由值来决定的,新值覆盖原来的值,再打印的时候看到的是新值的类型

静态类型的语言,特点是定义变量的时候必须指明变量类型,且赋值时只能赋予指明类型的值,比如Java

int age = 19;

python中整数可以是任意大小的,没有数据范围;在Java里最大的整型叫长整型,占据8个字节,如果没有复数,数据范围从0到2的64次方。print(2**64)

tips:数据太大时,定义的时候可以用下划线将数据分割,但是输出的时候不带下划线

定义的时候默认时十进制的数据

定义其他进制的数据加上进制标记就可以,eg: b=0b1001,打印的时候会自动转化成十进制数据

定义浮点型的可以用科学计数法eg:f1=3.4e10,输出的时候是展开的

2.4.4类型转换

在有些场景下需要把数据设置为相同类型的才能进行计算,这个就需要类型转换

  1. 把数据转化为整型,格式int(数据) 应用场景:1.浮点型取整,

    2.将整数内容的字符串转化为整型

键盘输入两个数 获取两个数的差 input('提示语:'),input里输入的是str格式,

对input数据运算需要先转化成整型,再运算。不过input输入的必须是整数。

3.把其他进制的字符串转化为十进制的整数类型,要求:解读数据的时候,数据是几进制的就得按照几进制进行解读,

eg:
result=int('0b101010101', base=2)
print(result)       ==>341
​
oct_data = input('请输入一个八进制数据:') ===>467
result = int(oct_data, base=8)
print('转换为十进制的结果是:', result)    ===>311
  • bin(整型数据),把整型数据转化为二进制的操作, 任何进制都可以,只能是整型数据,加上引号会报错

value = bin(0o713)  
print(value)      ===>0b111001011

ps:将八进制数据转化为二进制数据,先用int把input的八进制数据(str)转化为十进制(int),然后再用bin转化成二进制。

  • oct(整型数据),把整型数据转化为八进制的操作

  • hex(整型数据),把整型数据转化为十六进制的操作

  • ord:获取字符对应的十进制数据,按照编码规则UTF-8(兼容ASCII码)

print(ord('a'))  ===>97
  • chr:按照编码规则获取十进制对应的字符

print(chr(48))   ====>0

tips:# 注释的快捷键 :ctrl+/

practice
将小写字母转换为大写  a(97)--->A(65)
获取小写字母对应的十进制数据 减去32 再将结果转化为字符
  1. 把数据转化为浮点型,格式float(数据)

    场景是,字符串格式的小数转化成浮点类型的

    float的input既可以是小数也可以是整数,int必须是整数的

  2. 把数据转化为布尔类型,格式bool(数据)!!!! 可以把任何类型的数据转化为布尔类型,规则是:

    1. 数字格式的数据,非0即为true,bool(0)--->false

    2. 容器类型数据,非空容器即为true,bool('')--->false;bool(' ')--->true

    3. None空值为false,bool(None)--->false

    与后面的逻辑判断有关,将数据应用到逻辑判断中运用的就是这个规则

2.5运算符

分为一元、二元、三元运算符(python中没有三元)

一元是由一个数据参与运算,比如正负号 +78,-10,~19(按位取反)

二元是由两个数据参与运算,比如两个数据的加减

2.5.1算术运算符
加法 +
减法 -
乘法 *
除法 /  结果是浮点类型的  除不尽 商会有小数
	// 结果是整型的  对商进行向下取整 
		小于等于(<=)商且最接近于商的整数 称为向下取整
取余数 %  A除以B除不尽 会余下数据 这个余下的数据就是余数
	11除以3得3余2  这个2就是余数
	11 % 3 = 2
求幂数 **  比如x**y,求x的y次方 
	y如果是正整数N  对x求幂数次方
	y是1/N 小数格式  对x进行开方
	
	x = 2
	y = 3
	x ** y = 2的3次方 = 8
	
	x = 27
	y = 1/3
	x ** y = 27的三分之一次方 
	开方的时候结果是浮点型的  8**(1/2)

算术运算符的优先级别:** > -负号(有例子记得补上) > *、/、//、% > 加减

提高表达式的优先级使用小括号( )包含

print(-2 ** 2)  # -4,先运算了**,再在前面加负号
print((-2) ** 2)  # 4,括号()提高了优先级

2.5.2赋值运算符
2.5.3比较运算符/关系运算符
2.5.4逻辑运算符
2.5.5成员运算符
2.5.6身份运算符
2.5.7海象运算符
2.5.8位运算符

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值