第2章 python基础知识
1 编码
ascii,英文,8位表示一个东西,2*8 8位 = 1字节
unicode,万国码,32位表示一个东西,2*32 32位=4个字节
utf-8,给unicode压缩,用尽量少的位数表示一个东西,以8个位为单位
ascii 8位=1字节 unicode 32位=4字节 utf-8 最少用1字节=8位,最多用4字节=32位示。中文:3字节=24位表示
unicode编码一般用于计算机内存里面计算。
utf-8编码一般用于网络传输或者数据存储。
unicode:
ecs2 unicode通过两个字节表示一个东西
ecs4 unicode通过四个字节表示一个东西。现在一般都是用的是ecs4
utf-8:中文用3个字节, 一个字母一个字节。
gbk :中文用2个字节,一个字母一个字节。
gb2312 :中文用2个字节。
说明:
字符串: "中国" "hello"
字 符: 字符串:"中国" 里有2个字符 ; 字符串:"hello"里有5个字符
字 节(byte):
unicode -----> 中(32位) 4个字节
unicode -----> e (32位) 4个字节
utf-8 ------> 中 (24位) 3个字节
utf-8 ------> e 1个字节
位(bit):由0和1组成,8位表示一个字节,如(01001100)。
单位
8bit = 1byte |
1024byte = 1KB |
1024KB = 1MB |
1024MB = 1GB |
1024GB = 1TB |
1024TB = 1PB |
1024TB = 1EB |
1024EB = 1ZB |
1024ZB = 1YB |
1024YB = 1NB |
1024NB = 1DB |
常⽤到TB就够了 |
注:编写文件时,保存文件时都推荐用 utf-8格式。 统一编码,防止出现乱码现象。(以什么编码保存,就要用什么编码方式打开,否则出现乱码).
python解释器编码:
python2 默认使用的是 ASCII 编码
python3 默认使用的是 UTF-8编码
指定python的编码:
# -*- coding:utf-8 -*- 指定了python的编码为utf-8 头文件指定
2 解释器
文件:a.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-
print('你好')
运行:解释器 文件路径
在linux上有一种特殊的执行方法:
给文件赋予一个可执行的权限。
./a.py 自动去找文件的第一行 #!/usr/bin/env python
3 输出(print)
print(你想要输出的东西)
特点:
py2: print '你好'
py3: print('你好')
print(666) #打印的是数字 666
print('666') #打印的是字符串 666
print('你"好') #打印双引号 你"好
print("你'好") #打印单引号 你'好
print(True) print(False) #打印bool值 True False
print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end="":
# 换行输出
x="a"
y="b"
print( x )
print( y )
打印
a
b
#"""作用:可以换行
print("""明月几时有,
把酒问青天。""")
打印
明月几时有,
把酒问青天。
# 不换行输出
x="a"
y="b"
print( x, end=" " )
print( y, end=" " )
print()
打印
a b
4 输入(input)
#注意:input不管你输入的是什么永远都属于字符串类型
案例:输出姓名 syxk
# 1、input('请输入你的姓名:')
# 2、user_name = input('请输入你的姓名:')
# 3、打印 syxk加油
user_name = input('请输入你的姓名:') message = user_name + "加油" print(message)
# 4、打印 你的用户名是:syxk;你的密码是:123456
user_name = input("请输入你的姓名:") password = input("请输入你的密码:") # 用户名和密码拼接connect = "你的用户名是:" + user_name + ";你的密码是:" + password #输出用户名和密码拼接结果print(connect)
5 注释
单行注释:
#
多行注释(使用三个单引号(''')或三个双引号(""")):
"""
多行注释的内容
"""
6 python保留字(关键字)
保留字即关键字,我们不能把它们用作任何标识符名称。Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:
import keyword name=keyword.kwlist print(name)
打印
['False', 'None', 'True', 'and', 'as', 'assert', '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']
7 行与缩进
python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数(缩进不一致,会导致运行错误)。实例如下:
if True: print ("True")
else: print ("False")
打印
True
以下代码最后一行语句缩进数的空格数不一致,会导致运行错误:
if True: print ("aa") print("True") else: print ("ab") print("False")
打印(报错信息如下:)
IndentationError: unindent does not match any outer indentation level
8 多行语句
Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠(\)来实现多行语句,例如:
total = "item_one + \ item_two + \ item_three" print(total)
打印
item_one + item_two + item_three
在 [], {}, 或 () 中的多行语句,不需要使用反斜杠(\),例如:
total = ['item_one', 'item_two', 'item_three', 'item_four', 'item_five'] print(total)
打印
['item_one', 'item_two', 'item_three', 'item_four', 'item_five']
9 type()函数
type()函数:一个参数返回对象类型, 三个参数,返回新的类型对象。(查看是什么数据类型)
# 判断是什么数据类型,可知如下X为整数类型。
X = type(1) print(X)
# 判断类型是否相等
x = 1 X = type( x ) == int print(X)
# 返回新的类型对象
X = type('X', (object,), dict(a=1)) print(X)
打印
<class 'int'>
True
<class '__main__.X'>
10 常量
一直不变的量
11 变量
定义:变量就是将一些运算的中间结果暂存到内存中,以便后续代码块调用。
要求:
1、必须由数字、字母、下划线任意组合,且不能数字开头。
2、不能是python中的关键字(保留字)。如:‘print’ 'and' 'or' 'break'等。
3、变量具有可描述性(见名知意)
4、如果一个英文字母不足以表达变量的名字,中间可以_进行隔开
5、建议:不要是中文(看着很捞)
案例:
age =22
color = “red”
user_name = input('请输入你的姓名:')
12 python2与python3的区别
1、python2默认使用ASCII进行编码,python3默认使用utf-8进行编码,但是可以改变
2、输出不同
python2
print '你好,世界' (高版本的python2,也是print('你好,世界'))
python3
print('你好,世界')
3、输入不同
python2
name = raw_input('请输入姓名')
python3
name = input('请输入姓名')
4、
python2
int
32位电脑: -2^31~2^31-1 之内的数可以识别
64位电脑: -2^63~2^63-1 之内的数可以识别
超出范围后python自动将其转换成long(长整形)
python3
只有int,不会出现long
5、
python2
除法只能保留整数位 ,除非加入:from __future__ import division
python3
默认会保留小数位
示例:#python 2低版本需要加这个from __future__ import division,不然得到的值是1,而非1.5
from __future__ import division value = 3/2 print(value)
13 编译型语言和解释型语言区别
编译型:代码写完后,编译器将其变成成另外一个文件,然后交给计算机执行。如:C C++ JAVA C# Go
解释型:写完代码交给解释器,解释器会从上到下一行行代码执行:边解释边执行。 【实时翻译】如:PYthon PHP Ruby
14 pycharm快捷键
ctrl + / #单行注释
ctrl + d #单行复制
更多快捷键详情参考:
https://www.cnblogs.com/liangmingshen/p/9297381.html
出处:https://www.cnblogs.com/syxk
^_^如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,您的“推荐” 将是我最大的写作动力^_^。
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。