一、标识符和关键字
1.标识符
标识符就是我们在程序中需要用到的变量、常量、函数、属性、类、模块等需要我们来自己定义的名字。尽管我们可以自主定义标识符,但是构成标识符有一定的规范:
1. 字母数字下划线组成,不能以数字开头
2. 不能以保留字命名
3. 变量名区分大小写
4. 定义的变量名应该有意义
2.关键字
关键字是Python语言中被赋予特殊含义的单词,这些关键字不可以被用作标识符来使用。
Python是区分大小写的,例如关键字if是不可以用作标识符,但是IF是可以用作标识符的。Python关键字有33个,分别是:
| False | None | True | and | assert | as | async | await | break | class |
| continue | def | elif | else | except | finally' | for | from | global | if |
| import | in | is | lambda | nonlocal | not | or | pass | raise | try |
| while | with | yield |
其中只有前三个是首字母大写,其余都是小写,Python中关键字可以在IDLE中或者Pycharm等中查看。
3.标识符的其他命名规则
标识符的命名,除了要遵守上文所述的几条规则外,在不同场景中其命名也是有一定规则的,如下所示:
• 函数名、类中属性名、类中的方法名:全部使用小写字母,多个字母之间可用下划线_分隔,例如user_age、user、book_num等。
• 常量名:全部使用大写字母,多个字母之间可用下划线_分隔,例如DEF_NUMBER、AGE、YEAR等。
• 类名:单词首字母大写,例如User、Book、Blog等。
• 包名:应尽量简短,全部使用小写字母,多个字母间可用.分隔,例如com.baidu、com.python、net.csdn.editor等。
• 模块名:应尽量简短,全部使用小写字母,多个字母间可用下划线_分隔,例如 user_login、game_login、book_name等。
二、注释
1.注释的作用
• 防止遗忘
• 特殊含义,指定编码
• 给程序添加说明信息
2.注释的种类:
1. 单行注释 Ctrl + / 代码上方,右方, # xxxxx
2.多行注释 三个双/单引号 """注释内容"""、'''注释内容'''
3.其他注释
4.会被解释器识别的注释,如指定编码格式 # -*- coding: utf-8 -*-
三、变量
在编程语言中,变量是一个必不可少的词,大家也可以把变量理解成名字,也可以理解为一个标签。
Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。
等号(=)用来给变量赋值。 格式为:变量名 = 值,例如:
counter = 100 # 整型变量
miles = 1000.0 # 浮点型变量
name = "hello" # 字符串
四、运算符
运算通常可以根据最终获得的值不同,可以分两类,即结果为具体的值和结果为bool值,那么哪些结果为具体的值-->算数运算、赋值运算,哪些结果又为bool值?--->比较运算、逻辑运算和成员运算。
1、算术运算

2、赋值运算

3、比较运算

4、逻辑运算

5、成员运算

五、基本数据类型
Python3 中有六个标准的数据类型:
• Number(数字)
• String(字符串)
• List(列表)
• Tuple(元组)
• Set(集合)
• Dictionary(字典)
Python3 的六个标准数据类型中:
• 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组)
• 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)
1. Number(数字)
Python3 支持 int、float、bool、complex(复数)。
在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
像大多数语言一样,数值类型的赋值和计算都是很直观的。内置的 type() 函数可以用来查询变量所指的对象类型。
>>> a, b, c, d = 20, 5.5, True, 4+3j >>> print(type(a), type(b), type(c), type(d)) <class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
注意:在 Python2 中是没有布尔型的,它用数字 0 表示 False,用 1 表示 True。到 Python3 中,把 True 和 False 定义成关键字了,但它们的值还是 1 和 0,它们可以和数字相加。
2. String(字符串)
Python中的字符串用单引号 ' 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串:
>>> s = "hello world" >>>print(s) hello world >>> print('hello \nworld') hello world >>> print(r'hello \nworld') hello \nworld
另外,反斜杠(\)可以作为续行符,表示下一行是上一行的延续。也可以使用 """...""" 或者 '''...''' 跨越多行。
3. List(列表)
List(列表) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
#创建列表 list1 = ['hello', 23, '张三', 70.2,8.88] 或者 list2 = list(['hello', 23, '张三', 70.2,8.88])
4.Tuple(元组)
元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。
#创建元组 t = ('hello', 23, '张三', 70.2,8.88) 或者 t = tuple(('hello', 23, '张三', 70.2,8.88))
虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。
tuple = ( 'hello', 23, '张三',8.88,[11,45,67] )
构造包含 0 个或 1 个元素的元组比较特殊,所以有一些额外的语法规则:
t1 = () # 空元组 t2 = (18,) # 一个元素,需要在元素后添加逗号
注意:string、list 和 tuple 都属于 sequence(序列)
5.Dictionary(字典)
字典(dictionary)是Python中另一个非常有用的内置数据类型。
列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。键(key)必须使用不可变类型,在同一个字典中,键(key)必须是唯一的。
#创建字典 person = {"name": "张三", 'age': 18} 或 person = dict({"name": "张三", 'age': 18})
6.Set(集合)
集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员,基本功能是进行成员关系测试和删除重复元素。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
#创建集合 set1 = {"hello","张三","lily","python"} 或者 set2= set( "hello","张三","lily","python")
六、格式化输出
程序中经常会有这样场景:要求用户输入信息,然后打印成固定的格式,比如要求用户输入用户名和年龄,然后打印如下格式:
My name is xxx,my age is xxx.
1. 格式化操作符 % (不推荐)
% 被称为 格式化操作符,专门用于处理字符串中的格式, 这就用到了占位符,如:字符串是 %s,整数 %d,浮点数%f
#%s字符串占位符:可以接收字符串,也可接收数字 print('My name is %s,my age is %s' %('张三',18)) #%d数字占位符:只能接收数字 print('My name is %s,my age is %d' %('egon',18)) %f ——保留小数点后面六位有效数字,%.2f,保留2位小数位 print('My name is %s,my age is %d,my salary is %.2f' %('egon',18,888.88)) #注意:接收用户输入,打印成指定格式 name=input('your name: ') age=input('your age: ') #用户输入18,会存成字符串18,无法传给%d print('My name is %s,my age is %s' %(name,age))
2. 使用format方法
• 不带参数,即{}
• 不指定序号,会自动按照顺序去匹配
• 带数字参数,可调换顺序,即{1}、{2}
• 带关键字,即{name}、{age}
• 通过列表索引,使用方括号 [] 来访问索引值
• 通过字典key,使用方括号 [] 来访问键值 :
# 不带参数,按默认顺序传参 print('My name is {},my age is {}' .format('张三',18)) # 带数字参数 print('My name is {0},my age is {1}' .format('张三',18)) # 结果:hello world # 参数顺序倒乱 print('My name is {1},my age is {0}' .format(18,'张三')) # 带关键字参数 print('My name is {name},my age is {age}' .format(name='张三',age=18)) # 通过列表索引 sex = ("张三", "李四") print('男: {0[0]}; 女: {0[1]}'.format(sex)) # 结果:'X: 3; Y: 5' # 通过字典key键参数 persion = {'name': '张三', 'age': 18} print('姓名: {0[name]}; 年龄: {0[age]}'.format(persion))
3. format的用法变形
python3.6版本新增了f-String格式化的方式,在字符串前加f以达到格式化的目的,在{}里加入对象,此为format的另一种形式
name = "张三" age = 18 print(f'My name is {name},my age is {age}')
七、输入和输出方法
1. 输入(input())
Python使用input()函数来存入用户输入的信息。
2. 输出(print())
Python使用print()函数来输出信息到屏幕
name = input("What is your name?") print( "my name is :", name ) #输入时候指定输入内容的类型 age = int(input('我的年龄是:')) print( "我的年龄是:", age ) #输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法 import getpass pwd = getpass.getpass("请输入密码:") print(pwd)