基础语法

Python标识符

标识符的含义

  • 所谓的标识符就是对变量、常量、函数、类等起对象起的名字。

标识符的命名规定

第一个字符必须是字符表中的字符或者下划线
  • 例如,a,abc,_id,等都是可以的。
  • 例如 a ( 以 a(以 a(开头的是PHP的变量语法),~abc,123a都是不可以的。
  • 中文可以作为标识符但是不建议做。
  • 以下划线开头的标识符通常都有特殊意义。以单下划线开头的变量,例如_foo代表禁止外部访问的类成员,需通过类提供的接口进行访问,不能from xxx import 导入。而以双下划线开头的,例如__foo,代表类的私有成员 以双下划线开头和结尾的__foo__是python里特殊方法专用的标识。如__init__代表类的构造函数。
标识符的其他部分由字母、数字和下划线组成
  • 标识符除了首字符不可以是数字外,其他部分还可以包含数字。需要注意特殊字符是不可以的。例如:a123b,bbc,a_b_c_1这些都是可以的。但是a&b,a-b-c这些都是不可以的。
    另外要注意的是,由于l(小写的L)和数字1, 大小写的o与数字0在外观上的相似性,请尽量不要让它们相邻出现,保持语义的清晰性,确保不会发现错误认读的情况。
  • 英文中夹塞中文在语法上是可行的,但在实际操作中绝对不要做!

标识符要严格区分大小写

变量名全部小写,常量名全部大写

  • 这条不能算语法层面的要求,而是代码规范的要求。可以用PI来表示一个变量,但通常我们都会认为这是代表圆周率的一个常量

函数和方法名用小写加下划线

  • 这算是一个代码的规范,我们在定义一个方法的时候。尽量用get_images,count_apple之类的命名方式。当然也可以采用小驼峰的方式,getImages,countApple这种。

类名用大驼峰

  • 同样也是代码规范,例如ThreadMinxIn,ButtonClick这种。就是每个单词的首字母大写,组合在一起就像是驼峰一样高低排列

模块和包的名字用小写

  • 小写模块和包的名字,并且不要和标准库以及著名的第三方库同名。如果同名程序运行会报错。变量的命名不要用关键字和内置函数的名称!!

python保留字

  • Python保留字/关键字,是Python语言官方确定的用作语法功能的专用标识符,不能把它们用作任何自定义标识符名称。关键字只包含小写字母。可以通过python提供的库输出这些关键字
  • Python的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:import keyword
  • 如果用关键字来当做变量系统会直接提示语法错误

Python注释

我们写的程序里,不光有代码,还要有很多注释。注释有说明性质的、帮助性质的,它们在代码执行过程中相当于不存在,透明的。

单行注释

  • Python中,以符号’#'为单行注释的开始,从它往后到本行的末尾,都是注释内容。快捷键:CTRL+/
    在这里插入图片描述

多行注释

  • Python没有真正意义上的多行注释(块注释)语法。选中需注释的代码,再使用快捷键CTRL+/
    在这里插入图片描述
    在这里插入图片描述

注释文档

在某些特定的位置,用三引号包括起来的部分,也被当做注释。
在这里插入图片描述
在这里插入图片描述

注意事项

很多时候,我们在一些py脚本文件的开头都能看到类似的以#开头的代码,它们不是注释,是一些设定
在这里插入图片描述
第一行:用于指定运行该脚本的Python解释器,Linux专用,windows不需要。env方式下,系统会自动使用环境变量里指向的Python。还有一种方式,#!/usr/bin/python3.6,这会强制要求使用系统中的python3.6解释器执行文件,这种方式不好,一旦你本地的Python3.6版本删除了,会出现找不到解释器的错误。无论两种方式的哪一种,都指的是在linux下使用
第二行:代码的编码方式。不是程序要处理的数据的编码方式,而是程序自己本身的字符编码。在Python3中,全面支持Unicode,默认以UTF-8编码,我们不用再纠结中文的问题,乱码的问题,所以本行其实可以不需要。但在Python2中,对字符的编码是个非常令人头疼的问题,通常都需要指定这么一行。如果要自定义别的编码类型的话,可以像这样:# – coding: cp-1252 --,但如果没有强制需求的话,不要自己作死,请坚持使用utf-8编码。
这里的-*-没有任何意思
第三行是:时间
第四行是:作者
第五行是:文件名
第六行是:软件名
如何设置呢,上一篇文章有讲到https://blog.csdn.net/stone_szf/article/details/109336385

语句和缩进

语句

  • 在代码中,能够完整表达某个意思、操作或者逻辑的最短代码,被称为语句。
a = 6
b = 8
a, b = b, a  # 把b a赋值给 a b
print('a =', a, 'b =', b)  # 输出结果

代码块

为完成某一特定功能而联系在一起的一组语句构成一个代码块。有判断、循环、函数、类等各种代码块。代码块的首行通常以关键字开始,以冒号( : )结束。比如

a = input('请输入你的id_card:')  # 输入变量
if a.isdigit():  # 判断变量是否全数字
    print('输入正确,你的id_card为:', a)  # 是,输出id
else:
    print('id_card格式错误,请重新输入')  # 不是,输出提示

缩进

Python最具特色的语法就是使用缩进来表示代码块,不需要使用大括号,python一般用四个空格就是tab来缩进。在pycharm中tab自动回转成4个空格。Linux环境中,如VIM编辑器,建议使用空格。那么怎么才是正确的缩进方式呢?

  • 所有的普通语句,顶左开始编写,不需要缩进
  • 所有的语句块,首行不用缩进,从冒号结束后开始下一行,都要缩进
  • 直到该语句块结束,就退回缩进,表示当前块已结束
  • 语句块可以嵌套,所以缩进也可以嵌套

多行语句

前面是多条语句在一行,但如果一条语句实在太长,也是可以占用多行的,可以使用反斜杠()来实现多行语句
在这里插入图片描述
如果不是被逼无奈,该换行就换行。

pass语句

pass语句是占位语句,它什么都不做,只是为了保证语法的正确性而写。以下场景中,可以使用pass语句:

  • 当你不知道后面的代码怎么写的时候

  • 当你不需要写代码细节的时候

  • 当语法必须,又没有实际内容可写的时候

  • 其它的一些你觉得需要的场景

字符串的表示形式

abc可能是个变量,但是"abc"一定是个字符串。在编程语言中,所有的符号都是英文状态下的。
在python中单引号和双引号的作用完全相同。在其他语言中,单双引号还是有一定区别的。
原生字符串: 通过在字符串前加r或R,如 r"this is test \n",表示这个字符串里的斜杠不需要转义,等同于自身

变量与常量

定义

通俗的讲变量与常量都是容器
变量:在程序运行过程中,值会发生变化的量
常量:在程序运行过程中,值不会发生变化的量
无论是变量还是常量,在创建时都会在内存中占用空间,用于保存它的值。
注意:在python中是不需要声明数据类型的。这是根据Python的动态语言特性而来。变量可以直接使用,而不需要提前声明类型。

变量

变量的定义
  • 把程序运算的中间结果临时存到内存里,以备后面的代码继续调用,这几个名字的学名就叫做“变量”。
变量的作用
  • 变量用于存储要在计算机程序中引用和操作的信息。它提供了一种用描述性名称标注数据的方法,以便于更清楚地理解程序。
  • 可以将变量看作保存信息的容器。它们的目的是在内存中标注和存储数据。然后,可以在整个程序中使用这些数据。
变量的创建
  • Python 中的变量不需要声明类型
 a = 4
type(a)
<class 'int'>

 b = "hello"
type(b)
<class 'str'>

这些变量都是不需要声明它的类型的,在C和Java中是必须要声明的。这里的=是赋值而不是等于的意思。每个变量在使用前都必须赋值,变量赋值以后才会被创建。如果一个变量没有赋值,直接用的话。系统会报出错误
这里的等号要理解并读作“赋值”,而不是“等于”,“赋值”是对变量的操作,而“等于”是对两个变量进行比较。

  • 每个变量在使用前都必须赋值,变量赋值以后才会被创建
    新的变量通过赋值的动作,创建并开辟内存空间,保存值。如果没有赋值而直接使用会抛出赋值前引用的异常或者未命名异常

在这里插入图片描述

  • Python中,一切事物都是对象,变量引用的是对象或者说是对象在内存中的地址
  • 在Python中,变量本身没有数据类型的概念
    通常所说的“变量类型”是变量所引用的对象的类型,或者说是变量的值的类型
a = 1
a = "haha"
a = [1, 2, 3]
a = { "k1":"v1"}

例子中,变量a在创建的时候,赋予了值为1的整数类型,然后又被改成字符串“haha”,再又变成一个列表,最后是个字典。变量a在动态的改变,它的值分别是不同的数据类型,这是动态语言的特点。

  • =”号这个赋值运算符是从右往左的计算顺序。
a = 1
b = 2
c = a + b       # 先计算a+b的值,再赋给c
print('c=', c)

c= 3
  • Python允许同时为多个变量赋值。
    例如:输出a,b,c的值都为2
a = b = c = 3
print('a=', a)
print('b=', b)
print('c=', c)

a= 3
b= 3
c= 3

例如:输出a,b,c的值分别为1,2,3

a, b, c = 1, 2, 3
print('a=', a)
print('b=', b)
print('c=', c)

a= 1
b= 2
c= 3
变量创建

a = 'ABC‘时,Python解释器干了两件事情:
1.在内存中创建了一个‘ABC’的字符串对象;
2.在内存中创建了一个名为a的变量,并把它指向’ABC’。

常量

常量的定义

常量就是不变的量,或者说在程序运行过程中不会改变的量。比如常用的数学常数圆周率就是一个常量。在Python中,通常用全部大写的变量名表示常量:

PI = 3.14159265359

但事实上,从Python语法角度看,PI仍然是一个变量,因为Python根本没有任何机制保证PI不会被改变。你完全可以给PI赋值为10,不会弹出任何错误。所以,用全部大写的变量名表示常量只是一个习惯上的用法。

PI = 3.1415
print('PI=', PI)
PI = 10
print('PI=', PI)

PI= 3.1415
PI= 10

Python输入输出

input输入函数

  • input()是内置函数,用来获取用户输入,返回值为字符串。
返回值为字符串
name = input('请输入你的名字:')
age = input('请输入你的年龄;')
print(name)
print(age)
print(type(name))
print(type(age))
inp1 = input('请直接敲回车:')
inp2 = input('请输入身高和体重用,连接:')
print(inp1)
print(inp2)
print(type(inp1))
print(type(inp2))


请输入你的名字:stone
请输入你的年龄;22
stone
22
<class 'str'>
<class 'str'>
请直接敲回车:
请输入身高和体重用,连接:182,90

182,90
<class 'str'>
<class 'str'>

以上代码可以看出,输入的值不管是什么,返回值类型都是字符串

阻塞或暂停程序
print("程序前面部分执行完毕......")
input("请按回车继续......")       # 在这里程序会暂停,等待你的回车动作
print("继续执行程序的后面部分......")

程序前面部分执行完毕......
请按回车继续......
继续执行程序的后面部分......

在这里插入图片描述
在这里敲回车在这里插入图片描述

print输出函数

print() 方法用于打印输出,最常见的一个函数。
语法:print(self, *args, sep=' ', end='\n', file=None)
常用参数
sep:分隔符符号,在值之间插入的字符串,默认为空格,也可替换为其他

print('hello', 'world')
print('hello', 'world', sep='**')

hello world
hello**world

end字符串追加在最后一个值之后,默认为换行符\n。如果,设置end=’’,则可以不换行,让print在一行内连续打印。活用print的参数,可以实现灵活的打印控制。

print('hello')
print('world')

print('hello', end=',')
print('world')

hello
world
hello,world

课堂扩展

数据类型

  • 整数 : 所有整数 例如 : a = 1 b = 100 c =999 都是int类型
  • 浮点数/小数常量 : 所有小数 例如 a = 1.2 b=6.66 用float表示
  • 字符串:由数字、字母、下划线组成的一串字符,用str表示 Python中用一对双引号或者一对单引号包裹的内容就是字符串、单独的单引号和双引号不能混合使用
  • 布尔值:只有2个值一个是True (真)一个是False(假)个人理解是做判断用
  • type()可以查看数据类型
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值