一、标识符和关键字

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)