我的Python之旅第一天
1. Python介绍
Python是一种面向对象的解释性高级编程语言,具有动态性
为什么写代码?
目的解决生活中的问题
2. Python版本
- Python2.7
- Python3.6
Python2与Python3的区别:
print 函数
Unicode
除法运算
异常
Xrange
详情请参阅:http://www.runoob.com/python/python-2x-3x.html
3. Hello World
hello_world.py print('hello world')
4. 编码
ascii:用1个字节=8位来表示计算机能表达的所有东西。我们日常接触到的文件分ASCII和Binary两种。ASCII是"美国信息交换标准编码"的英文字头缩写,可称之为"美标"。美标规定了用从0到127的128个数字来代表信息的规范编码。2**8 = 256
unicode: 万国码,用4个字节=32位来做对应关系。2**32 = 4294967296
utf-8: 对万国码进行压缩,至少使用1个字节表示,UTF-8的特点是对不同范围的字符使用不同长度的编码。
PS: 中文3个字节=24位
gbk:GBK码是GB码的扩展字符编码,对多达2万多的简繁汉字进行了编码,简体版的Win95和Win98都是使用GBK作系统内码。
PS: 中文2个字节=16位
现象:
py2: 解释器默认编码ascii
# -*- coding:utf-8 -*- 解释器默认编码utf-8
print('王紫薇')
py3:解释器默认编码utf-8
print('要睡觉')
要设置编码格式,只需在开头加一行即可
如:
# -*- coding:gbk -*- # -*- coding: UTF-8 -*-
5. 输入输出
输出:
print("你是风儿我是沙")
输入:
user = input("请输入用户名:")
密码加密:
import getpass pwd = getpass.getpass("请输入密码:")
6. 变量
定义:变量是表示(或指向)特定值得名称。
格式: 变量名 = 值
规范:
a. 数字、字母、下划线 b. 不能以数字开头 c. 不能使用Python的关键字 建议:见名知意; user_pwd = "userpassword"
注意:
示例一:
name = 'alex' user = 'alex'
示例二:
name = 'alex' user = name
7. 条件语句
格式一:
if 条件: 成功之后走这里
格式二:
if 条件: 成功之后走这里 else: 失败之后走这里
格式三:
if 条件: 成功之后走这里 elif 条件: 成功之后走这里 elif 条件: 成功之后走这里 else: 上述都失败走这里
8. 循环语句
while 条件:
条件成立执行
while True: print('钓鱼要钓刀鱼,刀鱼要到岛上钓') while 1==1 and 2==2: print('钓鱼要钓刀鱼,刀鱼要到岛上钓') timer = 0 while timer < 3: print('钓鱼要钓刀鱼,刀鱼要到岛上钓') timer = timer + 1 print('完成')
- break,强制终止当前所在循环
- continue,跳出本次循环,继续下一次循环
9. 常用数据类型
数据结构是以某种方式(如通过编号)组合起来的数据元素(如数字、字符乃至其他数据结构)集合。Python中,最基本的数据结构为序列。
整数:
age = 18
字符串:字符串就是一系列字符。
name = "紫薇"
n1 = name[0] # 获取"紫" n2 = name[1] #获取"薇"
列表:列表由一系列特定顺序配列的元素组成。
可以创建包含字母表中所有字母、数字0-9、或者所有家庭成员姓名的列表;也可将任何东西加入列表中,其中的元素之间没有任何关系。
Python中用" [ ] " 来表示列表,并用逗号来分隔其中的元素。下面是一个简单的列表示例,
user_list = ["紫薇","尔康","18","海量","小鸡"]
n3 = user_list[0] #获取"紫薇" n4 = user_list[1] # 获取"尔康" user_list = ["紫薇","尔康","18","海量","小鸡"] for xxx in user_list: print(xxx) if xxx == '18': break
字典:字典由键及其相应的值组成,这种"键-值"(key-value)对称为项(item)
user_info = {"name":"紫薇","age":18}
n5 = user_info["name"] #结果为"紫薇" n6 = user_info["age"] #结果为"18" user_info['count'] = 666 #增加键值对,结果为 {"name":"紫薇","age":18,"count":666}
数据类型嵌套:
n7 = ["alex","eric",[11,22,33]]
n7[1] #取"eric" n7[2][1] #取"22" n8 = [ "alex", {'name':'日天','age':18}, [11,22,33] ] n8[1]["age"] = 19 #修改"age"的值