首页 > 代码库 > 第一章-Python基础

第一章-Python基础

1 数据类型和变量

1.1整数

  16进制数前面加0x

1.2 浮点数

  1.23x109就是1.23e9

1.3 字符串

  单引号或者双引号

  要输入引号可以用\转义

  在输出前面加r表示后面不转义

    例如: print(r"\\\\t\\")

  表示多行内容 ‘‘‘内容里面直接回车就好了‘‘‘ 内容会保留成回车

1.4 布尔值

  只有TrueFalse两种值

  可以进行and or not 运算

1.5 空值

  None表示

1.6 变量

  变量名必须是大小写英文数字下划线的组合,且不能用数字开头

  python是动态语言, 赋值的时候不用管类型, 新建的时候也不用声明类型

  静态语言诸如java, 要声明类型, 赋值也要看类型

1.7 常量

  通常用全部大写的变量名表示常量

1.8 除法

  /计算的结果始终为浮点型

  //叫做地板除, 结果是小于除法结果的最大整数

2 字符串和编码

2.1 字符编码

  最开始的时候电脑将1个比特作为一个字节, 因而最大表示的整数就是255

  最开始的编码只有127个字符编入, 使用的也是一个字节, 也就是ASCII

  中文由于数量众多, 因而采用两个字节, 形成了GB2312

  Unicode是将所有语言都编入进去的语言, 采用两个字节, 少数的字会有四个字节

  由于这样比较费空间, 因而形成变长的UTF-8, 常用的英文字母被编码成1个字节, 汉字通常是3个字节, 只有很生僻的字符才会被编码成4-6个字节

2.2 Python的字符串

   Python 3是Unicode字符集

    使用ord和chr可以将实际编码与字符对应上

  ord(‘字符‘)  获取字符的整数表示

  chr(整数)  根据整数获得字符 

  一般还可以用十六进制表示字符

  

  正常字符串  一个字符对应若干个字节

  b‘字符串‘  一个字符只用一个字节表示,用于网络传输或者保存到磁盘上

 

  转换成别的编码类型

    字符串.encode(‘目标编码‘)

    通常有 ascii 和 utf-8

 

  计算一个字符串有多少个字符

    len(字符串)

    技术分享

  

  为了避免乱码问题,应当始终坚持使用UTF-8编码对str和bytes进行转换

  

  在有中文的源码中, 最好保存为UTF-8的格式

  

  通常文件头写上如下的代码

#!/usr/bin/env python3# -*- coding: utf-8 -*-

    第一句表示Linux系统这是一个Python程序

    第二句告诉Python解释器以UTF-8的编码读源代码  

 

  字符串的处理

    replace方法

    字符串A.replace("要替换的","替换成的")

    注意: 返回的结果是替换的内容, 但是字符串A本身不会发生变化

>>> a = ‘abc‘>>> a.replace(‘a‘, ‘A‘)‘Abc‘>>> a‘abc‘

 

3 格式化

  ‘字符串内容 占位符‘%(占位符的内容)

>>> ‘Hello, %s‘ % ‘world‘‘Hello, world‘>>> ‘Hi, %s, you have $%d.‘ % (‘Michael‘, 1000000)‘Hi, Michael, you have $1000000.‘

  常见的占位符:

  技术分享

  补0

>>> ‘%2d-%02d‘ % (3, 1)‘ 3-01‘

  限制小数点位数:

>>> ‘%.2f‘ % 3.1415926‘3.14‘

  想要输出% 用%%表示

>>> ‘growth rate: %d %%‘ % 7‘growth rate: 7 %‘

 

  

 

3 list和tuple

3.1 list

定义

   classmates = [‘Michael‘, ‘Bob‘, ‘Tracy‘]

获取list的长度

  len(list名字)

获取数据

  名字[索引]

  从左往右0开始

  从右往左-1开始

list是一个可变的 有序

添加数据

  名字.append(添加的内容)

  添加的数据放到最后

插入数据

  名字.insert(位置,数据)

  数据就放在位置上, 以后的数据依次后延

删除数据

  名字.pop()

  删除最后一个元素

  名字.pop(位置)

  删除某位置的元素

替换元素

  名字[位置]=新换的数据

list里面的元素的数据类型也可以不同

list元素也可以是另一个list

  此时回去数据可以形成多级[][]的形式

list的排序

  list名字.sort()

   一般按照字母的字典排序, 数字的大小排序

3.2 tuple

  tuple又叫元组

  一旦初始化就不能被修改

  定义

   classmates = (‘Michael‘, ‘Bob‘, ‘Tracy‘)

  空tuple的定义

   t = ()

  单个元素tuple的定义

   t = (1,)

  注意: 当tuple的元素当中有类似于list这样可以改变的元素的时候, 该tuple就变的"可变"了

  因此, 在初始化tuple的时候最好保证元素是不可变的

4 条件判断和循环

4.1 条件判断

  if语句的结构

if <条件判断1>:    <执行1>elif <条件判断2>:    <执行2>elif <条件判断3>:    <执行3>else:    <执行4>

  特点: 只会执行其中的一个函数体

4.2 input

  获取用户输入

    变量 = input("输入提示") 

birth = input(‘birth: ‘)

  input()返回的数据类型是字符串类型

  字符串类型转为int类型

    int(字符串)

  同理, 转化为float就是

    float(字符串)

4.3 循环

4.3.1 for..in循环

  可以将list或者tuple的元素迭代出来

names = [‘Michael‘, ‘Bob‘, ‘Tracy‘]for name in names:    print(name)
sum = 0for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:    sum = sum + xprint(sum)

  生成整数序列方法

    range(整数A)

    生成了从 0 开始到小于 整数A 的整数序列

sum = 0for x in range(101):    sum = sum + xprint(sum)

4.3.2 while循环

  满足条件就循环, 不满足就退出

sum = 0n = 99while n > 0:    sum = sum + n    n = n - 2print(sum)

5 dict和set

5.1 dict

  dict也就是字典类型, 全程dictionary, 在其他语言中称为map, 是基于键值对

  特点: 查找速度块 实际存储的顺序和key放入的顺序不一致

  查询块的原因

    因为存储键值对的时候做了处理, 针对key值可以计算出相应的存储位置, 就跟字典的拼音查询一个道理

    正是因为这个原因, 实际存储的顺序与key的顺序是不一致的

  定义

  d = {‘Michael‘: 95, ‘Bob‘: 75, ‘Tracy‘: 85}

  获取值

    1 字典名字[key值]

  d[‘Michael‘]

    2 字典名字.get(key)

  d.get(‘Thomas‘)

      当所输入的key值不在字典当中, 就会输出None值

      此时还可以设置遇到这种情况输出自己的值的时候,可以 字典名字.get(key, 为None时的默认值)

  d.get(‘Thomas‘, -1)

  判断key是不是在字典中

    key in 字典名字

  ‘Thomas‘ in d

  设置值

    字典名字[key值]=值

  d[‘Adam‘] = 67

    重复对同一个key赋值, 最后存储的值是最后一次赋值的值

  删除值

    字典名字.pop(key)

  d.pop(‘Bob‘)

  注意: 字典类型的key最好是设置为不可变的对象

    因为如果key值变化, 存储的内容地址就会跟着发生变化

5.2 set

  特点:

    只存储一组key

    存储的key不重复, 重复添加没有什么效果

    表示由花括号表示

    常用于做集合的运算

  定义

    set名 = set([key, key, key])

>>> s = set([1, 2, 3])>>> s{1, 2, 3}

  添加元素

    set名.add(key)

>>> s.add(4)>>> s{1, 2, 3, 4}

  删除元素

    set名.remove(key)

>>> s.remove(3)>>> s{1, 2}

  应用, 两个set可以做并集和交集

>>> s1 = set([1, 2, 3])>>> s2 = set([2, 3, 4])>>> s1 & s2{2, 3}>>> s1 | s2{1, 2, 3, 4}

 

第一章-Python基础