python 学习第一天:初识python
1.python简介
1989年,为了打发圣诞节假期,Guido开始写Python语言的编译/解释器。Python来自Guido所挚爱的电视剧Monty Python's Flying Circus (BBC1960-1970年代播放的室内情景幽默剧,以当时的英国生活为素材)。他希望这个新的叫做Python的语言,能实现他的理念(一种C和shell之间,功能全面,易学易用,可拓展的语言)。Guido作为一个语言设计爱好者,已经有过设计语言的(不很成功)的尝试。这一次,也不过是一次纯粹的hacking行为!
2.python和其他语言对比
c语言:直接翻译成机器码。
其他高级语言:先是编译成字节码,然后翻译成机器码
3.python种类
cpython: 代码 -> c字节码 -> 机器码 (一行一行的预编译)
pypy: 代码 -> c字节码 -> 机器码 (全部转换完) -> 执行
其他python:代码 -> 其他字节码 - > 机器码
4.编码介绍
python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
注:此处说的的是最少2个字节,可能更多...
UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...
5.注释
当行注释:# 被注释的内容
多行注释:""" 被注释的内容 """
6.pyc文件
pyc文件是执行python代码时候,自动生成的一个与其同名的文件,该文件就是python编译器编译之后产生的字节码
7.变量
申明变量,变量名可以有字母,下划线,数字,组成,不能由数字开头,不能使用python内置关键字。
变量的作用:昵称,其代指内存里某个地址中保存的内容
申明一个变量:
8.输入
#!/usr/bin/python # -*- coding:utf-8 -*- # 输入用户名 name = input("请输入用户名") # 打印输入 print(name)
如果想输入的看不到,需要引入getpass模块
9.条件语句
if 条件1:
如果成功了,走这里
elif 条件2:
如果成功了,走这里
...
else:
失败了走这里
10.while
while 条件:
continue #立即开始下次循环
break #跳出当前的循环
11.python数据类型
1 a. 整数 int 2 - 创建 3 a = 123 4 a = int(123) 5 - 转换 6 age = "18" 7 new_age = int(age) 8 b. 布尔值 9 - 创建 10 a = True 11 b = False 12 - 转换 13 - 数字转换,只有0是False,其他True 14 - 字符串, 只有""是False,其他True 15 - 待续... 16 17 c. 字符串 18 - 创建 19 a = "alex" 20 a = str('alex') 21 - 转换 22 age = 19 23 new_age = str(age) 24 - 字符串的拼接 25 name = 'alex' 26 gender = '女' 27 new_str = name + gender 28 print(new_str) 29 30 - 字符串格式化 31 # 占位符, 32 name = '我叫李杰,性别:%s,我今年%s岁,我在说谎!' 33 new_str = name %('男',19,) 34 print(new_str) 35 36 - 判断子序列是否在其中 37 38 content = "hello, nihao, zhidao, mingbai," 39 40 if "hello" in content: 41 print('包含敏感字符') 42 else: 43 print(content) 44 45 - 移除空白 46 val = " alex " 47 print(val) 48 new_val = val.strip() # 左右 49 new_val = val.lstrip()# 左边 50 new_val = val.rstrip() # 右边 51 print(new_val) 52 53 - 分割 54 user_info = "alex ls123 9" 55 v = user_info.split('|') 56 v = user_info.split('|',1) 57 v = user_info.rsplit(' ',1) 58 print(v) 59 - 长度(字符) 60 val = "李杰sb" 61 v = len(val) 62 print(v) 63 - 索引 64 val = "李杰" 65 v = val[0] 66 print(v) 67 68 val = input('>>>') 69 i = 0 70 while i < len(val): 71 print(val[i]) 72 i += 1 73 - 切片 74 75 name = '我叫李杰,性别我今年岁,我在说谎!' 76 print(name[0]) 77 print(name[0:2]) 78 print(name[5:9]) 79 print(name[5:]) 80 print(name[5:-2]) 81 print(name[-2:]) 82 83 d. 列表 84 - 创建: 85 a = ['alex','123','eric',123] 86 a = list(['alex','123','eric',123]) 87 88 - 判断: 89 if 'al' in a: 90 pass 91 - 索引: 92 val = a[0] 93 - 长度: 94 val = len(a) 95 - 切片: 96 a = ['alex','123','eric',123] 97 v = a[0::2] 98 print(v) 99 - 追加: 100 a = ['alex','123','eric',123] 101 a.append('xxoo') 102 print(a) 103 - 插入: 104 a = ['alex','123','eric',123] 105 a.insert(0,'1') 106 print(a) 107 - 删除: 108 a = ['alex','eric','123','eric',123] 109 a.remove('eric') 110 del a[0] 111 print(a) 112 - 更新: 113 a = ['alex','eric','狗','eric',123] 114 a[1] = 'lesd' 115 print(a) 116 - For循环: 117 a = ['alex','eric','123','eric',123] 118 for item in a: 119 print(item) 120 121 e. 字典操作 122 - 创建 123 v = { 124 'name': 'alex', 125 'password': '123123' 126 } 127 - 索引获取值 128 n = v['name'] 129 print(n) 130 131 - 增加,无,增加;有,修改 132 v['age'] = 19 133 print(v) 134 135 - 删除 136 del v['name'] 137 print(v) 138 139 - 循环 140 for item in v.keys(): 141 print(item) 142 for item in v.values(): 143 print(item) 144 for key,val in v.items(): 145 print(key,val)