Python入门

博主今天闲来无事,决定重新捡起python进行复习,于是就膜拜了廖雪峰大神的博客及python官网,总结如下内容

一.输入和输出

  • 输入函数input()
  • 输出函数print()
  • input()print()是在命令行下面最基本的输入和输出,但是,用户也可以通过其他更高级的图形界面完成输入和输出,比如,在网页上的一个文本框输入自己的名字,点击“确定”后在网页上看到输出信息。

二.Python基础

任何一种编程语言都有自己的一套语法,编译器或者解释器就是负责把符合语法的程序代码转换成CPU能够执行的机器码,然后执行。

1.数据类型和变量
  • 整数
  • 浮点数【对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x10的9次方就是1.23e9】
  • 字符串
    • 使用转义字符\对字符进行转移
    • 使用r''表示''内部的字符串默认不被转义
    • 如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用'''...'''的格式表示多行内容
  • 布尔值
    • 布尔值 Ture/False
    • 布尔值可以使用and/or/not运算
  • 空值
    • Python中的空值用None表示
  • 列表/字典类型在之后进行讲解
  • 变量
    • 变量名必须是大小写英文、数字和_的组合,且不能用数字开头
    • 等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量
    • 这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。例如Java是静态语言。
  • 常量
    • 常量就是不能变的变量,比如常用的数学常数π就是一个常量。在Python中,通常用全部大写的变量名表示常量。【用全部大写的变量名表示常量只是一个习惯上的用法,本质上也是一个变量,一样可以进行修改】
    • 除法
      • /进行除法结果是浮点数,即使可以整除,结果一样是浮点数
      • //进行真除(又称地板除),取到的是除完之后整数部分
  • 注意
    • 对变量赋值x = y是把变量x指向真正的对象,该对象是变量y所指向的。随后对变量y的赋值不影响变量x的指向
    • Python的整数没有大小限制,而某些语言的整数根据其存储长度是有大小限制的,例如Java对32位整数的范围限制在-2147483648-2147483647
    • Python的浮点数也没有大小限制,但是超出一定范围就直接表示为inf(无限大)
2.字符串和编码
  • ASCII编码表:127个字符,包含大小写英文字母/数字和一些符号,1个字节
  • GB2312编码表:两个字节,包含了中文
  • Unicode编码表:所有语言都统一到一套编码中,常用两个字节表示一个字符,非常偏僻的则4个字节
  • UTF-8编码表:UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节
  • 计算机系统通用的字符编码工作方式:在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里(读取到记事本中的编码格式为Unicode),编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件(保存到文件中的编码格式为UTF8)。浏览网页的时候,服务器会把动态生成的Unicode内容转换为UTF-8再传输到浏览器。所以你看到很多网页的源码上会有类似<meta charset="UTF-8" />的信息,表示该网页正是用的UTF-8编码(在服务器中是Unicode编码存储,输出的网页是UTF-8)
  • Python3字符串的编码是Unicode,直接支持多语言
  • 当str和bytes互相转换时,需要指定编码。最常用的编码是UTF-8。Python当然也支持其他编码方式,比如把Unicode编码成GB2312。将字符串变成字节称为编码encode(),将字节变成字符串称为解码decode()。
  • Python格式化字符串
    • 使用%实现,如'Hello, %s' % 'world' 'Age: %s. Gender: %s' % (25, True)
    • 使用format()实现,如'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)
    • 常用占位符
占位符替换内容
%d整数
%f浮点数
%s字符串
%x十六进制整数
  • python文件开头定义文件信息
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
  • 第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;
  • 第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。声明了UTF-8编码并不意味着你的.py文件就是UTF-8编码的,必须并且要确保文本编辑器正在使用UTF-8 without BOM编码 。
3.list和tuple的使用
  • list
    • list是python内置的一种数据类型,是有序的集合,可以随时添加和删除其中的元素
    • 往list中追加元素到末尾list.append(元素)
    • 将元素插入到指定的位置list.insert(索引,元素)
    • 删除列表末尾的元素list.pop()
    • 删除列表指定索引的元素list.pop(索引)
    • 直接替换指定索引的元素list[索引] = 元素
  • tuple
    • tuple是python内置的一种数据类型,是有序列表,但tuple一旦初始化就不能修改(指向不变)
    • 它也没有append(),insert()这样的方法,其他获取元素的方法和list是一样的
    • 指向不变的含义是,tuple的每个元素指向不变,但如果其指向list,list内部的元素指向是可以变的
4.条件判断
  • 使用if...elif...else执行条件判断,从上到下匹配,当满足条件时执行对应的块内语句,后续的elif和else都不再执行
5.循环
  • for循环
    • 使用for ... in ...:进行循环的遍历
  • while循环
    • 使用while 条件:进行循环的遍历
  • break
    • 跳出整个循环
  • continue
    • 跳出当前循环,直接开启下一次循环
  • range(上限下标)
    • 使用range()函数可以生成整数序列,使用list(range(x))或tuple(range(x))可以将对应的序列转换成列表或元组
6.dict和set的使用
  • dict【用空间换时间】
    • 使用键-值存储,具有极快的查找速度
    • 一个key只能对应一个value,当多次对一个key放入value,后面的值会把前面的值冲掉
    • 避免key不存在的错误,有两种方法,一是通过in判断key是否存在,二是通过dict提供的get()方法,如果key不存在则会返回None
    • 使用pop(key)方法删除一个key和对应的value
    • dict的key必须是不可变对象【dict根据key来计算value的存储位置,key计算位置的算法称为哈希算法(Hash)】
  • set
    • set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
    • set是无序列表,且通过add(key)添加元素,可以重复添加,但不会有效果,通过remove(key)来删除元素
    • set和dict的唯一区别仅在于没有存储对应的value,但是,set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”
  • list 和dict比较
    • dict:查找和插入的速度极快,不会随着key的增加而变慢;需要占用大量的内存,内存浪费多
    • list:查找和插入的时间随着元素的增加而增加;占用空间小,浪费内存很少
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值