python定义数据类型不需要声明,属于动态解释性强类型语言
1.主流解释器:
官方版本的解释器:Cpython(运行速度非常慢)
金融常用的解释器:IPython
运行跑得快的解释器:PyPy(对于我们学习来讲跟用CPython一样,没有明显变化)
python 2.x 默认编码是ASCII编码
python 3.x 默认编码是utf-8编码
#!/usr/bin/env python
声明解释器,告诉操作系统我要用什么方式来解释这段代码(习惯上最好都加上这么一句)
2.变量\字符编码
变量名只能是字母,下划线,数字的组合
变量名第一个字母不能是数字
变量名不能为关键字:and、as、assert、break、class、continue、def、del、elif、else、except、exec、finally、for、from、global、if、import、in、is、lambda、not、or、pass、print、raise、return、try、while、with、yield。
Python3.x支持中文变量名,但是不这么干。
命名一定有含义,以对应的单词命名,不要写拼音
老男孩的女朋友:girl_of_oldboy(加下划线是最好的长变量定义方法)
约定俗成的定义常量:变量名全部大写(python本身不支持定义常量,这就告诉其他人这是一个常量,不要去修改它。)
3.编码
ASCII 美国标准信息交换码 (一个字符占一个字节,8个比特位)
GB18030 中国国家标准
Unicode 万国码(一个占两个字节,16个比特位)
utf-8 Unicode的压缩码(现在通用码,存英文占1个字节,存中文占3个字节)
4.注释
当行注释 #
多行注释 三个引号开始三个引号结束 -----’‘’ 内容 ‘’‘
三引号还可以打印多行
eg:
msg =‘‘‘ 我是一个小兵 我蹦惊了神经 ‘‘‘ print(msg)
python中的单双引号是一样的没有区别,只有单套双或者双套单才有区别
input 输入字符命令
input默认输入的都是当成字符串
5.格式化输出
name = input("name:") age = int(input("age:")) # integer,强制转换为整型 job = input("job:") salary = input("salary:") #第一种 msg = ‘‘‘ --------------info of %s-------------- name : %s age : %d job : %s salary : %s ‘‘‘ %(name,name,age,job,salary) #第二种 msg2 = ‘‘‘ --------------info of {_name}-------------- name : {_name} age : {_age} job : {_job} salary : {_salary} ‘‘‘.format(_name = name, _age = age, _job = job, _salary = salary) #第三种(不推荐,参数多了容易混淆) msg3 = ‘‘‘ --------------info of {0}-------------- name : {0} age : {1} job : {2} salary : {3} ‘‘‘ .format(name,age,job,salary
%s 接收字符串,%d只能接收数字,%f接收浮点型数据
6.密文密码
导入模块 getpass
import getpass password1 = getpass.getpass("password:")
7.条件语句
if、elif、else
8.循环执行:(猜年龄游戏)
# while循环 age_of_oldboy = 60 count = 0 while count < 3: guess_age = int(input("gusee age :")) if guess_age == age_of_oldboy: print("Congratulations,you got it !") break # 跳出循环 elif guess_age > age_of_oldboy: print("Thinking smaller !") else: print("Thinking bigger !") count += 1 if count == 3: countine_confirm = input("do you want to keep guessing? (pelase enter yes or no):") if countine_confirm == ‘yes‘: count = 0
#for循环 age_of_oldboy = 60 for i in range(3): guess_age = int(input("gusee age :")) if guess_age == age_of_oldboy: print("Congratulations,you got it !") break # 跳出循环 elif guess_age > age_of_oldboy: print("Thinking smaller !") else: print("Thinking bigger !")
正常走完程序才会执行else,但是如果break后就不会执行else。
9.range用法
for i in range(0,100,5): # range 前面是起止数字,中间是截止的数字,最后是间距
10.continue和break的区别
continue跳出本次循环,继续下一次循环
break直接终止循环