机器学习基础(二)Python知识串讲(2)

机器学习基础知识笔记记录

1. UTF-8 字符集

UTF-8编码是可变长的编码,把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符会被编码成4-6个字节。在这种情况下,如果需要传输的文本包含大量英文字符,用UTF-8编码就能节省空间。UTF-8编码还有额外的好处,就是ASCII编码实际上可以被看成是UTF-8编码的一部分,所以它可以适应ASCII编码的软件。

# 查找数字对应字符
ch = chr(65)
print(ch)

# 查找字符对应数字
num = ord('A')
print(num)

# 查看1-30000的数字与字符
# 可以看到字符编码对应的中文
for i in range(0, 30000, 1):  # range(start, end, step)
    print(chr(i), ":", i)
    pass

类似的其他类型转化有

int('字符串')  # 转化成整型
float('字符串') # 转化成浮点型

在这里插入图片描述

2. 标识符和保留字

  • 标识符是指用来标识某个实体的符号,在不同的应用环境下有不同的含义。在编程语言中,标识符是用户编程时使用的名字,对于变量、常量、函数、语句块也有名字,统称为标识符。
    (1)在Python里,标识符有字母、数字、下划线组成,但不能以数字开头。
    (2)Python中的标识符是区分大小写的。
    (3)以下划线开头的标识符是有特殊意义的,以单下划线开头。例如_foo,代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用from xxx import * 导入。
    (4)以双下划线开头的 foo 代表类的私有成员。
    (5)以双下划线开头和结尾的__foo
    __ 代表python里特殊方法专用的标识,如__init__()代表类的构造函数。
  • Python可以同一行显示多条语句,方法是用;分开。但在通常情况下不使用分号,而是直接进行换行。
  • 保留字指在高级语言中已经定义过的字,使用者不能再将这些字作为变量、常量、函数、语句块等的命名使用。保留字包扩关键字未使用过的保留字,关键字指在鱼眼中有特定含义、成为语法中的一部分的那些字。(如for / if / pass / …)
andexecnot
assertfinallyelif
breakforor
classfrompass
continueglobalprint
defifraise
importtry… …

3. 语法规范

  • Python的代码块不使用大括号来控制区分函数、逻辑判断和代码块等语句块的作用域范围和控制区域。Python最具特色的就是用缩进来写模块。
  • 缩进的空白数量是可变的,但是所有代码块必须包含相同的缩进空白数量,具有行缩进一致的相邻代码块被认定为是1个块结构
# 所有类默认继承的父类是object;
# 在没有指定类的情况下,可以忽略括号;
class Animal(object):
    def __init__(self, name):  # self == this, 代表当前对象
        print("构造函数")
        self.name = None  # None = null, 定义了类的成员属性
        pass

    def eat(self, food): # 成员方法
        print("吃" + food)
        pass
    pass

dog = Animal()  # 创建类的对象
dog.eat("大棒骨")

pass 保留字主要是为了补齐代码结构, 不写也可以。
由于行缩进导致编码执行报错,经常会出现两种情况:

IndentationError:unexpected indent  # 错误是文件里格式不对,可能是tab和空格没对齐的问题。所有Python对格式要求非常严格。
IndentationError:unindent does not match any outer indentation level # 错误表明使用的缩进方式不一致,有的是tab键缩进, 有的是空格缩进, 改为一致即可。
  • Python 语句中一般以新行作为语句的结束符。有的时候一行代码太长,使用斜杠(\)将一行语句氛围多行显示。
a = 1
b = 2
c = 3
d = a + b \
    + c
print(d)
  • 语句中包含[] , {}或()就不需要使用多行连接符,因为它们属于序列数据类型。

4. 单行注释、多行注释及跨行字符串

# 注释和字符串
# 1. Python没有字符类型, 只有字符串类型''""
string1 = '123456'
string2 = "abcdef"  # 字符串定义

# 多行注释
'''
多行注释
注释
注释
'''

"""
多行注释
注释
注释
"""

# 2. 定义跨行字符串
string3 = """
春花秋月何时了
往事知多少
小楼昨夜又东风
故国不堪回首月明中
雕栏玉砌应犹在
只是朱颜改
问君能有几多愁
恰似一江春水向东流
"""
print(string3)

在这里插入图片描述
函数注释,三个单引号,自动生成里面内容:

def sum(a, b):
    '''
    求两个数的和
    :param a: 第一个参数
    :param b: 第二个参数
    :return: 返回求和结果
    '''
    pass

5. 输入输出

  • input() 函数: 等待用户输入,实际上是将当前运行的程序线程挂起,暂停程序的运行。等待用户交互操作之后,再按回车或输入待定字符之后,恢复程序挂起的线程,继续执行,同时处理输入的数据。
  • input(‘……输入提示内容……’) 该函数用接收的数据全部为str字符串类型。
  • 若想转换成其他类型,需使用强制类型转换,如类型名称(str数据)。
  • print() 函数: print() 打印输出函数是在开发中用得很多的函数, 代表输出并换行。其语法结构也有很多。
    (1)格式化输出规范1:
# 输入
rs = input("请输入")
print(rs)

# print(self, *args, sep = '', end = '\n', file = None):
# args 可以接收任意长度的参数
# sep 是分隔符,默认使用空格进行分割
# end 是换行处理
print(1,2,3,4,5,6,7,8,9, sep="-", end="\n")

name = 'zhangsan'
age = 20
phone = '12345678'
print(name, age, phone, sep='\n')

在这里插入图片描述
(2) 格式化输出2:

name = 'zhangsan'
age = 20
phone = '12345678'
money = 10000000000.101101
print(name, age, phone, sep='\n')

# printf 1. %字符串的格式化输出 2. format函数, 是str类里面的函数
print("姓名: %s, 年龄: %d, 手机号: %s, 余额: %.2f" % (name, age, phone, money))  # 占位符
print("姓名: {0}, 年龄: {1}, 手机号: {2}, 余额:{3}".format(name, age, phone, money))

在这里插入图片描述

6. argv 命令行参数

import sys

sys.argv  # public static void main(String[], args)
print(sys.argv)

以terminal的方式启动该文件
在这里插入图片描述

import sys

sys.argv  # public static void main(String[], args)

print(sys.argv)

name = sys.argv[1]
age = sys.argv[2]
if name == '-V':
    print("version", "1.0.0.1")
    pass

print("name", name, 'age', age)

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值