python2.x与python3.x的区别
python2.x中编码规则为ascii码,python3.x中为UTF-8,若在python2.x中使用汉字,需要在程序上部加
#-*- encoding:utf-8 -*-
在linux系统中运行python时,需要在程序上部加上 #!/user/bin/env python
*ascii 码中一字符占一字节 、汉字也一样 utf-8中 ascii码还是一字符占一字节 、汉字占3字节
python 3中用4个字节表示一个unicode字符
python 2中用 --enable-unicode = ucs2和--enable-unicode = ucs4分别指定用2个还是4个字节表示一个unicode字符
Ascii码、unicode、utf-8、gbk
Ascii码:字母、数字、特殊字符 用一个字节表示
Unicode: 起初,Unicode 用2个字节表示 后来用4个字节表示
utf-8: 英文 1个字节 欧洲 2个字节 中文 3个字节
gbk: 英文 1个字节 中文 2个字节
变量
定义:将运算的结果暂时保存在内存中
特点:1、定义时可以使用字母(大小写均可)、数字、下划线组成,但第一位不能是数字
2、变量的定义尽量具有可描述性
3、不能是python中的关键字
推荐的定义方式:
#驼峰法 TheAgeOfOldBoy = 56 #下划线法 the_age_of_oldboy = 56
变量赋值的特点:
当为一个变量赋值时,是让变量指向一个内存
常量
定义:在运算中一直保持不变的量
在python中,常量的定义默认所有字母大写
如:
THE_BIR_OF_CHINA = 1949
注释
为了让所有人能更好的理解代码,必要时要添加注释
单行注释: #被注释部分
多行注释:''' 被注释部分 ''' 或者 """ 被注释部分"""
注:在python中,单引号和双引号作用一样,但写代码时注意区分
基础数据类型
数字: int() 在64位系统中范围为-2**63~2**63-1
数字可以进行 + - * / ** % 运算
字符串: 字符串类型 str python中加了引号的字符都被认为是字符串
字符串可以相加(拼接) 以及和整型数字相乘
#字符串相加(拼接)
>>> a = '帅哥'
>>> b = '美女'
>>> c = '爱'
>>> print(a+c+b)
帅哥爱美女
#字符串与整型相乘
>>> d = '泰格'
>>> print(8*d)
泰格泰格泰格泰格泰格泰格泰格泰格
布尔值: Ture /False 主要用在判断语句
>>> a=3 >>> b=4 >>> a > b False >>> a < b True
type() 是查看数据类型的方法
用户程序交互
运行下面脚本会发现,程序会等你输入后才继续执行:
name = input('your name is:') age = input('your age is:') print(name,age)
注:input()输入的数据全部为字符串类型
条件语句之if else语句
if 基础语句
count = 0 if count < 1: pass
if else语句:在条件不成立时执行else语句
count = 0 if count < 1: pass else: print(False)
多重 if else语句
score = input('请输入成绩:') if score >100: print('满分才100呢') elif score >= 90: print('A') elif score >=70: print('B') elif score >=60: print('C') elif score >=40: print('D') else: print('要加油哦')
if if 嵌套语句
count = 0 if count < 1: if count >= 0: pass else: print(False)
要注意代码从上到下依次判断,满足了一个条件就不往下走了
从上面代码中可以看到,python中是利用缩进4个字符来确定代码块
Python的缩进有以下几个原则:
- 顶级代码必须顶行写,即如果一行代码本身不依赖于任何条件,那它必须不能进行任何缩进
- 同一级别的代码,缩进必须一致
循环语句之while语句
语句格式:while
条件:
# 循环体
# 如果条件为真,那么循环体则执行
# 如果条件为假,那么循环体不执行
break语句中止循环
continue语句跳出本次循环进行下一次循环
while else 语句
_username = 'haohao' _password = 'abc234' count = 0 while count < 3: username = input("请输入账户名:") password = input("请输入密码:") if username == _username and password == _password: print("登陆成功") break else: print("登陆失败..,您还有%d次登陆机会" %(2-count)) if (2 - count) == 0 : result = input("你是否还想试试:y/n") if result == "y" : count = 0 continue count += 1 else: print("you have trying too much times...")
在while的条件不成立,且不被break中断时才会执行else语句
while 1: 比while True:效率高