虽然起步有点晚,但是终于开始学习Python了,本系列文章作为我的学习笔记,主要是为了自己温故知新用,同时也与感兴趣的你们进行分享。

本篇文章主要涉及内容索引

   1、编辑创建自己的Python模板

  2、print()函数
      3、转义字符
      4、标识符和保留字
      5、变量的定义和使用
      6、数据类型及运算和转换
      7、注释
      8、input()函数
      9、Python中的运算符
     

 10、对象的布尔值

文章正文部分

  1、编辑创建自己的Python模板

 我设置了如下简单的模板,设置方式如下图所示:

在这里插入图片描述

 2、print()函数的使用

   (1) print()函数输出的内容可以是数字、字符串(要加引号,单引号/双引号都行)、含有运算符的表达式等,例子如下:

print(291.299)
print('hello world')
print(291+299)    

  (2)print()函数可以将内容输出的目的地可以是显示器也可以是文件,默认是输出至显示器,如果想要输出至文件可以使用以下语句,其中open函数的第一个参数是文件的路径及文件名,如下所示为E盘下,名为Python_text.txt的文件,第二个参数a+意为以读写的格式打开文件(若此时该路径下没有此文件则生成该文件),并将该文件赋给一个名为fp的变量(当然名字可以任意起,对应起来就行),第二行语句就是在文件中添加的输出内容(注意是在文件已有的内容后面追加输出的内容,并不删除文件中已有的内容),如例子中的Dear X2 : It seems that I am getting to like you. 后面要写file=fp(这个fp就是上面设置的变量),第三行语句就是关闭该文件。

fp = open('E:/Python_text.txt', 'a+')
print('Dear X2 : It seems that I am getting to like you. ', file=fp)
fp.close()

 运行结果如下:

   (3)print()函数输出的内容可以换行输出,也可以不换行,默认是换行的,不换行的输出可以采用如下格式:

print('hello', 'X', '2')

 运行结果如下:

hello X 2

3、转义字符

   (1) 换行符: \n

print('hello\nworld')

   运行结果如下:

hello
world

(2) 一个制表位(相当于留出四个空格位置): \t

   若\t前的制表位没用用完则空出该制表位剩余部分(实际空出的位置小于四个空格位置),若\t前的制表位已用完,则空出一个完整的新的制表位(相当于留出四个空格位置)

print('hello\tworld')

 运行结果如下:

hello	world

 (3) 回车: \r

   可以理解为回到行首开始输出的位置,将已有的内容hello覆盖掉

print('hello\rworld')

  运行结果如下:

world

 (4) 退一个格: \b

   可以理解为删除\b前的一个位置

print('hello\bworld')

   运行结果如下:

hellworld

(5) 此外有些字符在语法中已经被占用比如 \ 和’ ',想要输出这些被占用的字符,可以通过转义字符的形式输出,比如我们想要输出\ \和’可以通过如下方式

print('\\\\')
print('\'')

   运行结果如下:

\\
'

 (6) 如果想要转义字符不起作用,可以在输出的字符串前加上r或R,如下所示,但是字符串的最后的元素不可以是\,可以是\\

print(r'hello\nworld')

   运行结果如下:

hello\nworld

4、标识符和保留字

   使用以下两行语句可以查看Python中的保留字有哪些,也就是我们在起名字时那些名字不能用

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’, ‘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中的标识符是严格区分大小写的(变量是标识符的一种)


  5、变量的定义和使用

变量由三部分组成:标识、类型、值

  (1) 标识:表示对象所存储的内存地址,使用内置函数id(obj)来获取

    (2) 类型:表示的是对象的数据类型,使用内置函数type(obj)来获取,常用的类型有int、float、bool、str

  (3) 值:表示对象所存储的具体数据.使用print(obj)可以将值进行打印输出

例子如下:

time = 11.30
print('标识:', id(time))
print('类型:', type(time))
print('值:', time)

   运行结果如下:

标识: 1748693970512
类型: <class 'float'>
值: 11.3

6、数据类型及运算和转换

   (1)Python中输入的数据默认为10进制,开头加0b表示二进制,开头加0o表示八进制,开头加0x表示十六进制

   (2)部分小数运算时,可能出现不准确的现象,如小数1.1+2.2

x1 = 1.1
x2 = 2.2
print(x1+x2)

   运行结果如下:

3.3000000000000003

 可以发现并不是我们期望的3.3,此时可以调用Decimal模块来对其计算,代码如下:

from decimal import Decimal

print(Decimal('1.1') + Decimal('2.2'))

运行结果如下:

3.3

(3)字符串又被称为不可变的字符序列,可以使用单引号”双引号"”三引号""“或”"""""来定义,单引号和双引号定义的字符串必须在一行,三引号定义的字符串可以分布在连续的多行

str1 = """嗨,你在干嘛呢"""
str2 = """嗨,
你在干嘛呢"""
str3 = '''嗨,
你在干嘛呢'''

   运行结果如下:

嗨,你在干嘛呢
嗨,
你在干嘛呢
嗨,
你在干嘛呢

 (4)类型转换,主要使用str() 、int() 、float() 函数进行类型转换,将字符串转换成int型时必须为数字串,而且必须是整数数字串,将字符串转换成floatt型时必须为数字串

 比如在输出:我来着中国,今年20岁了 时,若数字20为变量,可采用类型转换的方法进行如下输出,其中+为连接符(连接相同的类型,所以需要对int型的数字进行类型转换成str型),如:

age = 20
print('我来自中国,今年' + str(age) + '岁了')

   运行结果如下:

我来自中国,今年20岁了

 7、注释

   单行注释用 # 多行注释三引号"""或’’’

  8、input()函数

   (1)input()函数是输入函数,可以在()内添加提升内容,如:

get_date = input('请输入你最喜欢的数字:')
print(get_date)

   运行结果如下:

请输入你最喜欢的数字:  9(这个9是输入的)
  9

 (2)input()函数是输入格式默认为str型,当需要使用其他类型时,比如进行计算时,需要进行类型转换,如:

get_date = int(input('请输入你最喜欢的数字:'))
get_date2 = int(input('请输入我最喜欢的数字:'))
print(get_date+get_date2)

   运行结果如下:

请输入你最喜欢的数字:9
请输入我最喜欢的数字:6
15

9、 Python中的运算符

   (1)加:+ 、减:-、乘 * 、除法分为除法运算 / 和整除运算//,取余运算%,幂运算 * * 如下所示:

print(99/2)
print(99//2)
print(99%2)
print(2**10)

   运行结果如下:

49.5
49
1
1024

(2)一正一负的整除向下取整,比如-9//2或者9//-2,其值为-4.5,向下取整,所以整除后结果为-5,如下所示:

print(-9//2)

   运行结果如下:

-5

(3)一正一负的取余时,要遵循公式:余数=被除数-除数X商,比如-9%2,其值为-9-2x(-5)=1,再如9%-2,其值为9-(-2)x(-5)=-1如下所示:

print(-9 % 2)
print(9 % -2)

   运行结果如下:

1
-1

   (4)赋值运算符

print(-9 % 2)
print(9 % -2)

   运行结果如下:

1
-1

   (4)Python支持链式赋值 如a=b=c=20,注意,此时变量a、b、c均指向同一地址






a=b=c=20
print(a,b,c)

   运行结果如下:

20 20 20

   (7)对于Python而言,交换两个变量的值非常简单,如 a,b= b,a

a,b=20,30
print(a,b)
a,b=b,a
print(a,b)

   运行结果如下:

20 30
30 20

   (8)比较运算符>、<、>=、<=、==、!=、的结果均为bool类型,如:

a,b=20,30
print(a>20)

   运行结果如下:

False

 (9)== 和!=比较的是两个变量的值是否相同,而is 和is not 比较的是两个变量的标识(也就是地址是否相同),如:

a=10
b=10
print(a==b)
print(a is b)

  运行结果如下(说明两个变量的值和地址均相同):

True
True

 (10)布尔运算符and(相当于c/c++中的&&)、or(相当于c/c++中的||)、not(对bool类型操作数进行取反)、in、not in,一些例子如下:

a=True
print(not a)

b='hello GLY'
print('e' in b)
print('GLY' in b)
print('a' in b)

   运行结果如下(说明两个变量的值和地址均相同):

False

True
True
False

(11)位运算符&、|、<<、>>
   位与& :对应数位都是1,结果数位才是1,否则为0
   位或| :对应数位都是0,结果数位才是0,否则为1
   左移位运算符<< :高位溢出舍弃,低位补0,每左移一位相当于乘以2
   右移位运算符>>:低位溢出舍弃,高位补0,每右移一位相当于除以2
   一些例子如下:

a=48
b=25
print(a|b)
print(a<<1)

 运行结果如下(说明两个变量的值和地址均相同):

57
96

  上面两个例子的分析过程如下所示:

在这里插入图片描述


在这里插入图片描述


   (12)运算符的优先级问题,通常按照如下的顺序进行计算:算术运算符、位运算符、比较运算符、布尔运算符、赋值运算符

 10、 对象的布尔值

   (1)Python一切皆对象,所有对象都有一个布尔值, 使用内置函数bool(),可以获取对象的布尔值

print(bool(0))
print(bool(1))

   运行结果如下:

False
True

              (2)以下对象的布尔值为False:False、数值0、None、空字符串、空列表、空元组、空字典、空集合

   (3)其他对象的布尔值为True