python学习笔记 第二章 python入门

第二章 python入门

代码的三大追求

1.时间复杂度 (效率)

2.空间复杂度 (内存占用率)

3.用户体验

2.1环境的安装

  • 解释器:py2 / py3 (环境变量)
  • 开发工具:pycharm / Notepad++

强制更新pip,采用清华的镜像

python3.7 -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple/

安装第三方库的时候可以采用其他高校的镜像

2.2编码

2.2.1编码基础

  • ascii
  • unicode
  • utf-8
  • gbk
  • gb2312
v1="你好"
#上面的称为字符串,采用的是unicode编码,大小是以字节来算

v2=v1.encode("utf-8")
#把unicode编码转换成其他编码的称为字节类型/bytes类型
v=b"xxxxx"  #一般压缩以后就是这样,就称之为字节类型

gbk:英文字母,数字,特殊字符和中文。又称为国标码

一个英文字母:0000 0001 :a

Unicode:万国码,将世界上所有的文字都记录到这个密码本上。

起初一个字符用两个字节表示:

0000 0001 0000 0001 : a

后来为了涵盖全部文字:

0000 0001 0000 0000 0000 0001 0000 0001 : a

浪费空间浪费资源

Utf-8:最少用一个字节8bit表示一个字符

0000 0001: a 一个字节

0000 0000 0000 0001: 欧洲两个字节

0000 0000 0000 0000 0000 00001 :中文三个字节

2.2.2python编码相关

python默认的解释器编码:

  • py2 : ascii
  • py3 : utf-8

如果想要修改默认的编码,可以使用

# -*- coding:utf-8 -*-

对于文件操作时,要按照:以什么编码写,就要以什么编码打开。

2.3变量

问:为什么要有变量?

答:为了方便以后再次使用,对一个值创建了变量,以后再次使用此值的时候通过变量名即可再次调用。

  • 变量

    name="apple"
    
  • 全局变量

    NAME="ray"
    
  • 函数

    def func():
        pass
    
  • 常量:不允许修改的量

2.3.1变量的命名规则

变量命名规则:

​ 1.变量名只能包含:字母/数字/下划线

​ 2.数字不能作为开头

​ 3.不能是python的关键字

​ python关键字:and, as , assert, break, class, continue, def, del, elif, else, except, exec, finally, for, from,global, if

​ import, in, is, lambda, not, as, or, print, raise, return, try, while, with, yield

​ 4 .建议用下划线命名法,而不是驼峰式命名法,如user_name

​ 5 .见名知意

2.4运算符

2.4.1赋值运算

​ += -= *= /=

​ %= 取模赋值运算符

​ **= 幂赋值运算符

​ //= 取整除赋值运算符

2.4.2运算符的优先级

运算符 描述
** 指数(最高优先级)
~ + - 按位翻转,一元加号和减号(最后两个的方法名位+@和-@)
* / % // 乘,除,取模,取整除
+ - 加法, 减法
>> << 右移,左移
& 位“AND”
^ | 位运算符
<= < >= > 比较运算符
< > == != 等于运算符
= %= /= //= -= += *= /= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not and or 逻辑运算符

is和==的区别

2.4.3逻辑运算符的进阶

9 or 0    #9
0 or 9    #9
9 and 0   #0
0 and 9   #0

2.6输入输出

input()输入:用户输入之后,得到的值返回给一个变量,变量的数据类型是字符串

print()显示输出:根据括号内的内容打印到屏幕输出,输出时也可以用字符串格式化的方法%s或%d,方便书写

  • py2
    • 输入:raw_input
    • 输出:print ""
  • py3
    • 输入:input
    • 输出:print("")

2.7条件语句

2.7.1 if elif else

注意:else后面不能跟条件

name="海绵宝宝"
result=input("请猜一个小时候看的动画片:")
if name == result:
    print("猜对了!")
elif result = "猪猪侠":
    print("好巧哦,我也看过!")
else:
    print("我和你不是一个年代的人!")

2.7.2 三目运算

#v=前面 if 条件 else 后面
age=18
v = "apple" if age==18 else "pear"  #满足if的条件则返回前面的值,满足else的条件则返回后面的值
#不能使用elif
print(v)

2.7.3多个判断的情况

例子:当用户输入f1,输出1,输入f2,输出666,输入f3,输出 888,输入f15 输出999

USER_DICT={
    "f1":1,
    "f2":666,
    "f3":888,
    "f15":999
}
CHIOCE=input("请输入您的选择:")
for i in USER_DICT:
    #字典中循环默认取键
    if i== CHIOCE:
        print(USER_DICT.get(i))  #用get()函数获取值

当学习到函数之后,可以看下面这个例子

def show():
    print("show")
def test():
    print("test")
def func():
    print("func")

INFO={
    "f1":show,
    "f2":test,
    "f3":func
}
CHOICE=input("请输入选择的功能:")
FUNCTION_NAME=INFO.get(CHOICE)  #get获得对应的值,若没有对应的键则返回False
if FUNCTION_NAME:
    FUNCTION_NAME()   #加上括号即可运行函数
else:
    print("输入错误")

2.8循环

2.8.1while循环

当条件成立(True)的时候,继续执行

while True:   
	print("你好帅!")   #会一直打印,由于条件一直为True

2.8.2for循环

可以看作数据类型中的公共功能

#示例一:
for i  in range(0,10):
    print(i)   #会打印处0-9,可以将range看作是生成了0,1,...8,9的一个列表

list=[0,1,2,3,4,5,6,7,8,9]    
for i in list:
    print(i)   #与上面的结果一样

2.9控制语句

2.9.1break

跳出循环

2.9.2continue

跳过此次循环continue以后的语句,进行判断条件是否满足循环的条件,若满足则再次进入循环

2.10占位符

name1="hello %s" %("world")  #当只有一个占位符的时候可以不用加括号
name2="hello %s" %"world"
print(name1,name2)  #hello world hello world
name3="helle %s %s" %("hi","bye")  #需要两个以上的占位符需要加括号
print(name3)  #helle hi bye
原文地址:https://www.cnblogs.com/wrrr/p/13915503.html