一、Python的历史
2008年Python同时更新了两个版本
python2x 和 python3x的不同
python2x:源码不规范,源码重复较多
对于中文报错
默认编码方式:ASCII(包含英文)
在python2x版本下显示中文,在此文件首行加上:# -*- encoding:utf-8 -*-
python3x:源码清晰,优美,简单
打印的中英文全部都能显示
默认编码方式:utf-8(包含中文,英文,欧洲文字)
二、语言分类
编译型:将代码一次性编译成字节码,再执行
代表语言:C
优点:执行速度快
缺点:不能跨平台
开发速度慢
不好调试
解释型:代码从上至下逐行解释并运行
代表语言:Python
优点:便于调试
跨平台
开发效率高
缺点:执行速度相对慢
三、基础数据类型
变量:将一些数据的中间结果暂存,以便后续程序调用
变量的定义规范:1.变量只能由数字、字母、下划线任意组合
2.不能以数字开头
3.不能是python的关键字
4.变量要有描述性
5.变量不能使用中文
6.变量不能过长
7.变量不能使用拼音
8.官方推荐使用
驼峰体:HelloWorld = 1000
下划线:hello_world = 1000
常量:一直不变的量
常量的定义规范:1.python中的常量:将变量全部大写
2.常量往往会放在文件最上面
注释:单行注释:#注释内容
多行注释:'''注释内容'''
或"""注释内容"""
数字类型:float 浮点型
int 整型
字符串类型:s1 = 'hello'
1.单双引号配合使用:
s1 = "I'm robot"
print(s1)
#I'm robot
2.字符串的拼接:字符串可以相加
s1 = 'wdn'
s2 = 'md'
print(s1+s2)
#wdnmd
3.字符串和数字相乘:
s1 = '坚强'
print(s1*8)
#坚强坚强坚强坚强坚强坚强坚强坚强
4.定义换行字符串使用三引号:
msg = '''银鞍照白马,
飒沓如流星'''
print(msg)
'''
银鞍照白马,
飒沓如流星
'''
bool值:
print(2 > 1)
#True
print(2 < 1)
#False
四、函数
input出来的数据全部是字符串类型
name = input('请输入用户名:')
age = input('请输入年龄:')
print(name)
print(type(age))#判断此数据的数据类型
print('此用户的姓名是' + name + ',' + '此用户的年龄是' + age)
if elif
choice = int(input('输入你猜的数字:'))#将字符串类型转化为int型
if choice == 3:
print('请你吃饭')
elif choice == 4:
print('请你抽烟')
elif choice == 6:
print('请你大宝剑')
else:
print('什么也没有')
if else
嵌套
username = input('请输入用户名:')
password = input('请输入密码:')
if username == 'ZhanHQ':
if password == 'root':
print('登录成功')
else:
print('密码错误')
else:
print('用户名错误')
while
num = 1
while num < 101:
print(num)
num += 1
标志位
flag = True
num = 1
while flag:
print(num)
num += 1
if num == 101:
flag = False
break
num = 1
i = 2
while True:
num += i
i += 1
if i == 101:
print(num)
break
continue:结束本次循环,继续下一循环
while True:
print(111)
print(222)
continue
print(333)
while else结构:如果while循环被break打断,则不执行else代码
num = 1
while num < 6:
print(num)
num += 1
if num == 3:
break
else:
print(6)
'''
1
2
'''
输出1 - 2 + 3 - 4…+ 99结果的两种方法
count = 1
num = 2
while num < 100:
count = (-1)**(num - 1)*num + count
num += 1
# if num % 2 == 0:
# count -= num
# else:
# count += num
# num += 1
print(count)
用户登录(三次机会),显示剩余次数
i = 0
while i < 3:
username = input('请输入用户名:')
password = input('请输入密码:')
if username == 'ZhanHQ' and password == 'root':
print('登录成功')
break
else:
print('用户名或密码错误')
i += 1
print('剩余次数%d' % (3 - i))
格式化输出
name = input('请输入用户名:')
age = input('请输入年龄:')
sex = input('请输入性别:')
# % 占位符 s 数据类型为字符串
#第一种方式 元组
msg = '你的名字是%s,你的年龄是%s,你的性别是%s' % (name,age,sex)
#第二种方式 字典
msg2 = '你的名字是%(name1)s,你的年龄是%(age1)s,你的性别是%(sex1)s' % {'name1':name,'age1':age,'sex1':sex}
print(msg)
bug点:在格式化输出中,只想单纯表示一个%
时,应用%%
表示
msg = '我叫%s,今年%d,我的学习进度1%%' % ('ZhanHQ',24)
五、逻辑运算符
() > not > and > or
print(1 < 2 and 3 > 4 or 8 < 6 and 9 > 5 or 7 > 2)
#True
x or y
if x is True,return x
print(1 or 2)#1
print(-1 or 2)#-1
print(0 or 2)#2
x and y
if x is False,return x
print(0 and 2)#0
print(1 and 2)#2
not x
if x is False,then True,else False
print(not 333)#False
print(not 0)#True
逻辑运算符练习
print(0 or 3 and 5 or 4)#5
print(1 > 2 or 3 and 4 < 6)#True
print(2 or 3 and 4 < 6)#2
int和bool的转化
print(bool(1000))#True
print(bool(0))#False
print(int(True))#1
六、编码初识
ASSII:ASCII码是基于拉丁字母的一套电脑编码系统,ASCII码中只包含英文字母,数字以及特殊字符与二进制的对应关系,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。
Unicode:包含全世界所有的文字与二进制的对应关系。UCS-2用两个字节编码,UCS-4用4个字节编码。
起初:Unicode规定一个字符用两个字节表示:
英文:a b c 六个字节 一个英文2个字节
中文:中国 四个字节 一个中文用2个字节
Unicode最多有65535种可能,可是中国文字有9万多,所以改成一个字符用四个字节表示:.
a 01000001 01000010 01000011 00000001
b 01000001 01000010 01100011 00000001
中 01001001 01000010 01100011 00000001
UTF-8:包含全世界所有的文字与二进制0101001的对应关系(最少用8位一个字节表示一个字符)。
最少用8位数,去表示一个字符.
英文:8位,1个字节表示.
欧洲文字:16位,两个字节表示一个字符.
中文,亚洲文字:24位,三个字节表示.
GBK:只包含本国文字(以及英文字母,数字,特殊字符)
英文:一个字节
中文:两个字节
单位转换:
8bit = 1byte
1024byte = 1KB
1024KB = 1MB
1024MB = 1GB
1024GB = 1TB
1024TB = 1PB