python学习指南—Python 基础知识

Posted 诗雨时

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习指南—Python 基础知识相关的知识,希望对你有一定的参考价值。

系列文章目录

Python数据科学家养成计划(Python学习指南)

文章目录


前言

随着人工智能的不断发展,数据科学相关技术也越来越重要,很多人都开启了学习数据科学相关知识体系的学习之旅,本文就介绍了数据科学中 Python 的基础内容。


一、语句与注释

1. 语句

语句:程序进行编写,执行的每一行代码,叫做语句。

print("hello world")

2. 注释

注释:对代码的解释和说明,可以提高代码的可读性。

  • 注释分为单行注释和多行注释;
  • 单行注释以 # 开始
  • 多行注释,可以使用三对双引号 “”" “”" 或者三对单引号 ‘’’ ‘’’
# 单行注释
# 输出 hello world 语句

print("hello world")
# 定义字符串变量

name = "貂蝉"

'''
我是多行注释
我是多行注释
我是多行注释
'''
age = 18

"""
我也是多行注释
我也是多行注释
我也是多行注释
"""
sex = "女"

二、变量与赋值

1. 变量的定义

变量:通俗理解就是存储程序数据的容器。

变量定义的格式:

变量名 = 数据(变量名尽量有含义,见名知意,方便理解)

name = "貂蝉"
skill = 450
money = 1.98
is_ok = True

可以通过 Python 内置的 type() 函数查看变量的类型。

type(name)		# str
type(skill)		# int
type(money)		# float
type(is_ok)		# bool

常用的数据类型: int、str、float、bool

2. 变量的命名规则

变量名:是由数字、字母、下划线组成,注意是只有这三种,但是不能以数字开头。

错误的使用:报错 "SyntaxError: invalid syntax"

3name = "貂蝉"    # 以数字开头
name!age = 108    # 出现了 数字、字母、下划线 之外的字符 "感叹号"

变量命名方式:驼峰命名法和下划线命名法

  • 驼峰命名法:小驼峰和大驼峰
    • 小驼峰命名法:第一个单词首字母要小写,其他单词首字母都大写。
    • 大驼峰命名法:每个单词首字母都大写。
  • 划线命名法:单词小写,单词之间使用下划线进行分割。
hero_name = "寒冰射手"        # 下划线命名法 -> 推荐使用
heroName = "德玛西亚之力"     # 小驼峰命名法
HeroName = "诺克萨斯之手"     # 大驼峰命名法

3. 关键字

关键字:在 Python 里面具有特殊功能的标识符(理解成变量名、函数名),关键字不能作为变量名使用。

关键字如下:

‘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) 方法一

a. win+r打开运行窗口输入cmd,打开命令提示符窗口。

b. 打开 Python Shell,输入

import keyword 
keyword.kwlist 

即可。

(2) 方法二

打开 Pycharm,输入

import keyword 
print(keyword.kwlist) 

即可。

4. 数据类型转换

函数函数说明
int(x [,base ])将 x 转换为一个整数
float(x)将 x 转换为一个浮点数
str(x)将对象 x 转换为字符串
complex(real [,imag ])创建一个复数,real 为实部,imag 为虚部
repr(x)将对象 x 转换为表达式字符串
eval(str)计算在字符串中有效 Python 表达式,并返回一个对象
tuple(s)将序列 s 转换为一个元组
list(s)将序列 s 转换为一个列表
chr(x)将一个整数转换为一个 Unicode 字符串
ord(x)将一个字符转换为它的 ASCII 整数值
hex(x)将一个整数转换为一个十六进制字符串
oct(x)将一个整数转换为一个八进制字符串
bin(x)将一个整数转换为一个二进制字符串

错误的使用:报错 "TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’"

a = 100
b = "200"

result = a + b
print(result)

正确的使用:

a = 100
b = "200"

result = a + int(b)
print(result)		# 300

三、输入与输出

1. Python 中的输入

input:用来获取用户输入的数据。

# 接收用户输入的数据
name = input("请输入你的名字:")
# 输出用户输入的名字
print(name)

注:当你运行完毕 name = input(“请输入你的名字:”) 代码并将鼠标光标移动到控制台,Python 交互式命令就等待输入,可以输入任意字符,然后按回车完成输入。



重点:不论输入框中输入任何数据类型的数据,等号左边的变量接收到的输入值都为 str 类型。

2. Python 中的输出

print:用于打印输出。

print() 函数语法如下:

print(*objects, sep=’ ‘, end=’\\n’, file=sys.stdout, flush=False)

参数

  • objects – 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。
  • sep – 用来间隔多个对象,默认值是一个空格。
  • end – 用来设定以什么结尾。默认值是换行符 \\n,我们可以换成其他字符串。
  • file – 要写入的文件对象。
  • flush – 输出是否被缓存通常决定于 file,但如果 flush 关键字参数为 True,流会被强制刷新。

(1) 输出字符串和数字

print("Hello World")    # 输出字符串    Hello World

print(100)              # 输出数字     100

str = "Hello World"
print(str)              # 输出变量     Hello World

l = [1, 2, "a"]         # 列表        [1, 2, 'a']
print(l)                               

t = (1, 2, "a")         # 元组        (1, 2, 'a')
print(t)                               

d = "a": 1, "b": 2    # 字典        'a': 1, 'b': 2
print(d) 

(2) 格式化输出整数

支持参数格式化,与 C 语言的 printf 类似。

str = "%s的平均薪资是%d元人民币。" % ("数据科学家", 30000)
print(str)    # 数据科学家的平均薪资是30000元人民币。

Python 字符串格式化符号:

符 号描 述
%c格式化字符及其 ASCII 码
%s格式化字符串
%d格式化整数
%u格式化无符号整型
%o格式化无符号八进制数
%x格式化无符号十六进制数
%X格式化无符号十六进制数(大写)
%f格式化浮点数字,可指定小数点后的精度
%e用科学计数法格式化浮点数
%E作用同 %e,用科学计数法格式化浮点数
%g%f 和 %e 的简写
%G%f 和 %E 的简写
%p用十六进制数格式化变量的地址

格式化操作符辅助指令:

符 号功 能
*定义宽度或者小数点精度
-用做左对齐
+在正数前面显示加号(+)
<sp>在正数前面显示空格
#在八进制数前面显示零(‘0’),在十六进制进制前面显示 ‘0x’ 或者 ‘0X’(取决于用的是 ‘x’ 还是 ‘X’)
0显示的数字前面填充 ‘0’ 而不是默认的空格
%‘%%’ 输出一个单一的 ‘%’
(var)映射变量(字典参数)
m.n.m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

(3) 格式化输出 16 进制,10 进制,8 进制

#%x – hex 十六进制
#%d – dec 十进制
#%o – oct 八进制

nHex = 0xFF
print("nHex = %x, nDec = %d, nOct = %o" %(nHex, nHex, nHex))

# nHex = ff, nDec = 255, nOct = 377

(4) 格式化输出浮点数(float)

pi = 3.141592653
print("%10.3f" % pi)    # 字段宽 10,精度 3    3.142(注意整数3的前面有5个空格)
print("pi = %.*f" % (3, pi))    # 用 * 从后面的元组中读取字段宽度或精度    pi = 3.142

pi = 3.142
print("%010.3f" % pi)    # 用 0 填充空白    000003.142
print("%-10.3f" % pi)    # 左对齐           3.142
print("%+f" % pi)        # 显示正负号       +3.142000

(5) 自动换行

print() 函数会自动在行末加上回车,如果不需回车,只需在 print 语句的结尾添加一个英文逗号,并设置分隔符参数 end,就可以改变它的行为。

自动在行末加上回车:

for i in range(0, 6):
    print(i)
0
1
2
3
4
5

不需回车:

for i in range(0, 6):
    print(i, end=" ")
0 1 2 3 4 5 

(6) print 不换行

在 Python 中 print() 函数默认是换行的:

for i in range(0, 3):
    print(i)
0
1
2

要想不换行,应该写成 print(i, end = " ")

for i in range(0, 3):
    print(i, end=" ")
0 1 2  

四、运算符

什么是运算符?

答:举个简单的例子 4 + 5 = 9 。例子中,45 被称为 操作数 ," + " 称为运算符。

Python 语言支持的运算符:

  • 算术运算符
  • 比较(关系)运算符
  • 赋值运算符
  • 逻辑运算符
  • 位运算符
  • 成员运算符
  • 身份运算符

1. Python 算术运算符

Python 支持以下几种算术运算符:x=10, y=20, z=25

运算符描 述实例
+加 – 两个对象相加x + y 输出结果 30
-减 – 得到负数或是一个数减去另一个数x - y 输出结果 -10
*乘 – 两个数相乘或是返回一个被重复若干次的字符串x * y 输出结果 200
/除 – x 除以 yy / x 输出结果 2
%取模 – 返回除法的余数y % x 输出结果 0
**幂 – 返回 x 的 y 次幂x**y 为 10 的 20 次方,输出结果 100000000000000000000
//取整除 – 返回商的整数部分(向下取整)9 // 2   >>   4      -9 // 2   >>   -5
x, y, z =10, 20, 25

# 加法
sum = x + y
print(" +  = ".format(x, y, sum))           # 30

# 减法
difference = x - y
print(" -  = ".format(x, y, difference))    # -10

# 乘法
product = x * y
print(" *  = ".format(x, y, product))       # 200

# 除法
quotient = y / x
print(" /  = ".format(y, x, quotient))      # 2.0

# 取模
modulus = y % x
print(" %  = ".format(y, x, modulus))       # 0

# 幂运算
power = x ** y
print(" **  = ".format(x, y, power))        # 100000000000000000000

# 取整数(向下取整)
round_numbers = 9 // 2
print("9 // 2 = ".format(round_numbers))        # 4

2. Python 比较运算符

Python 支持以下几种比较运算符:x=10, y=20

运算符描 述实例
==等于 – 比较对象是否相等(x == y) 返回 False
!=不等于 – 比较对象是否不相等(x != y) 返回 True
>大于 – 返回 x 是否大于 y(x > y) 返回 False
<小于 – 返回 x 是否小于 y(x < y) 返回 True
>=大于等于 – 返回 x 是否大于等于 y(x >= y) 返回 False
<=小于等于 – 返回 x 是否小于等于 y(x <= y) 返回 True

注:所有比较运算返回 1 表示真,返回 0 表示假。这分别与特殊的变量 True 和 False 等价。

x, y =10, 20

# 等于
print(" == : ".format(x, y, x == y))    # 10 == 20: False

# 不等于
print(" != : ".format(x, y, x != y))    # 10 != 20: True

# 大于
print(" > : ".format(x, y, x > y))    # 10 > 20: False

# 小于
print(" < : ".format(x, y, x < y))    # 10 < 20: True

# 大于等于
print(" >= : ".format(x, y, x >= y))    # 10 >= 20: False

# 小于等于
print(" <= : ".format(x, y, x <= y))    # 10 <= 20: True

3. Python 赋值运算符

Python 支持以下几种赋值运算符:x=10, y=20

运算符描 述实例
=简单的赋值运算符把 = 号右边的结果 赋给 左边的变量,如 sum = x + y 将 x + y 的结果赋值给变量 sum
+=加法赋值运算符x += y 等效于 x = x + y
-=减法赋值运算符x -= y 等效于 x = x - y
*=乘法赋值运算符x *= y 等效于 x = x * y
/=除法赋值运算符x /= y 等效于 x = x / y
%=取模赋值运算符x %= y 等效于 x = x % y
**=幂赋值运算符x **= y 等效于 x = x ** y
//=取整除赋值运算符x //= y 等效于 x = x // y
# 简单赋值运算符
x, y =10, 20
sum = x + y
print(" +  的值为:".format(x, y, sum))    # 10 + 20 的值为:30
# 加法赋值运算符
x, y =10, 20
sum = x + y
x += y
print(sum == x)                                 # True
print("10 + 20 的值为:".format(x))           # 10 + 20 的值为:30
# 减法赋值运算符
x, y =10, 20
difference = x - y
x -= y
print(difference == x)                          # True
print("10 - 20 的值为:".format(x))           # 10 - 20 的值为:-10
# 乘法赋值运算符
x, y =10, 20
product = x * y
x *= y
print(product == x)                             # True
print("10 * 20 的值为:".format(x))           # 10 * 20 的值为:200
# 除法赋值运算符
x, y =10, 20
quotient = x / y
x /= y
print(quotient == x)                            # True
print("10 / 20 的值为:".format(x))           # 10 / 20 的值为:0.5
# 取模赋值运算符
x, y =10, 20
modulus = x % y
x %= y
print(modulus == x)                             # True
print("10 %= 20 的值为:".format(x))          # 10 % 20 的值为:10
# 幂运算赋值运算符
x, y =10, 20
power = x ** y
x **= y
print(power == x)                               # True
print("10 ** 20 的值为:".format(x))          # 10 ** 20 的值为:100000000000000000000
# 取整数(向下取整)赋值运算符
x, y =9, 2
round_numbers = x // y
x //= y
print(round_numbers == x)                       # True
print("10 // 20 的值为:".format(x))          # 9 // 2 的值为:4

4. Python 位运算符

按位运算符是把数字看作二进制来进行计算的。

下表中 x=60, y=13,二进制格式如下:

x = 0011 1100      y = 0000 1101
x & y = 0000 1100
x | y  = 0011 1101
x ^ y  = 0011 0001
~x     = 1100 0011
x<<2 = 1111 0000
x>>2 = 0000 1111
运算符描 述实例
&按位与运算符:参与运算的两个值,如果两个相应位都为 1,则该位的结果为 1,否则为 0(x & y) 的输出结果 12,二进制解释:0000 1100
|按位或运算符:只要对应的二个二进位有一个为 1 时,结果位就为1(x | y) 的输出结果 61,二进制解释:0011 1101
^按位异或运算符:当两对应的二进位相异时,结果为 1(x ^ y) 的输出结果 49,二进制解释:0011 0001
~按位取反运算符:对数据的每个二进制为取反,即把 1 变为 0,把 0 变为 1。~x 类似于 -x - 1(~x) 的输出结果 -61,二进制解释:1100 0011,在一个有符号二进制数的补码形式
<<左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补 0(x << 2) 的输出结果 240,二进制解释:1111 0000
>>右移动运算符:把 “>>” 左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数(x >> 2) 的输出结果 15,二进制解释:0000 1111

(1) 按位与运算符:参与运算的两个值,如果两个相应位都为 1,则该位的结果为 1,否则为 0。

x, y = 60, 13

# 按位与运算符
z = x & y                                      # 12 = 0000 1100
print(" &  的值为:".format(x, y, z))     # 60 & 13 的值为:12

(2) 按位或运算符:只要对应的二个二进位有一个为 1 时,结果位就为1。

x, y = 60, 13

# 按位或运算符
z = x | y                                      # 61 = 0011 1101
print(" |  的值为:".format(x, y, z))    # 60 | 13 的值为:61

(3) 按位异或运算符:当两对应的二进位相异时,结果为 1。

x, y = 60, 13

# 按位异或运算符
z = x ^ y                                      # 49 = 0011 0001
print(" ^  的值为:".format(x, y, z))    # 60 ^ 13 的值为:49

(4) 按位取反运算符:对数据的每个二进制为取反,即把 1 变为 0,把 0 变为 1。~x 类似于 -x - 1。

x, y = 60, 13

# 按位取反运算符
z = ~x                                         # 49 = 1100 0011
print("~ 的值为:".format(x, z))           # ~60 的值为:-61

(5) 左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补 0。

x, y = 60, 13

# 左移动运算符
z = x << 2                                     # 240 = 1111 0000
print(" << 2 的值为:".format(x, z))       # 60 << 2 的值为:240

(6) 右移动运算符:把 “>>” 左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数。

x, y = 60, 13

# 右移动运算符
z = x >> 2                                     # 15 = 0000 1111
print(" >> 2 的值为:".format(x, z))       # 60 >> 2 的值为:15

5. Python 逻辑运算符

Python 支持以下几种逻辑运算符:x=10, y=20

运算符逻辑表达式描 述实例
andx and y布尔 “与” — 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值(x and y) 返回 20
以上是关于python学习指南—Python 基础知识的主要内容,如果未能解决你的问题,请参考以下文章

机器学习入门------python基础

[PYTHON]基础学习

python学习之列表

Python3基础 print(,end=) 输出内容的末尾加入空格

Python学习基础:If 语句与 While 语句

Python学习

(c)2006-2024 SYSTEM All Rights Reserved IT常识