Python自学笔记(一)

    技术2022-07-11  119

    @Python自学Python3第一天

    关键词:输入输出 变量命名 赋值 数据类型 运算 函数 包 模块

    Python输入输出

    【输出】print函数

    python使用print函数输出

    print(变量)print(字符串)

    【输入】input函数

    input() 返回类型是 字符串print(字符串)

    以下为jupyter运行代码

    #!/usr/bin/env python coding: utf-8

    Python的注释

    单行注释 - 以#和空格开头的部分多行注释 “”" 多行注释 - 三个引号开头,三个引号结尾 “”"

    Python输出函数

    输出函数input ,输出类型为字符串

    print("Hello World")

    ##输出变量

    import numpy as np import matplotlib.pyplot as plt t=np.arange(0,4,0.1) plt.plot(t,t,t,t+2,t,t**2) print(t) #输出变量t

    Python输入函数input

    price=input('input the stock price of Apple:') price type(price) #输入是字符串类型 price=int(input('input the stock price of Apple:')) #用int或float函数改变成我们需要的字符类型 price type(price) price=eval(input('input the stock price of Apple:')) #用eval()这个函数当成有效的Pyhton表达式来求值并返回计算结果 price type(price)

    举个栗子

    x=input('Enter a number:') x #是字符串类型 x=int(input('Enter a number:')) x

    Python 续行

    if signal=='red' and\ #'\'续行 car=='moving': car='stop' elif signal=='green' and car=='stop': car='moving'

    缩进

    #增加缩进表示语句块的开始

    #用相同的缩进表示同级别语句块

    #减少缩进表示语句块的退出

    变量

    变量名:引用对象;标识对象. 使用时需要给变量起一个名字,叫做变量名

    变量名命名规则:

    标识符:指Python中允许作为变量名 或 其他对象名称的有效符号

    1、首字符是字母或下划线
    2、其余可以是字母、下划线、数字
    3、大小写敏感
    #variable p=3.14 #做了赋值操作。p是变量名,表示后面的浮点数 myString='variable' #myString代表后面的字符串 pi='one word'

    避免使用 首字符是下划线 的变量名,_xxx 一般是私有变量名(内置)

    避免用 汉语拼音 做变量名

    尽量做到 见名识义

    多个英文单词做变量名:1、驼峰式,(第一个单词小写,后面的单词首字母大写)如stuName;2、下划线式:单词之间用下划线连接,如stu_name

    关键字 :是Python语言的关键组成部分,不可随便作为其他对象的标识符

    False None True and as assert break class continue def del elif else except finally for from global if import in is lambda nonlocal not or pass raise return try while with yield

    表达式

    用 运算符 连接各种类型数据的式子 就是表达式 算数运算符:乘方** 正负号± 乘除*/ 整除// 取余% 加减±位运算符:取反~ 与& 或| 异或^ 左移<< 右移>> 比较运算符:小于< 大于> 小于等于<= 大于等于>= 等于== 不等于!=逻辑运算符:非not 与and 或or 1、运算符有优先顺序:如 乘除 高于 加减

    2、表达式必须有运算结果

    #expression PI=3.14159 r=2 c_circ=2*PI*r # 2*PI*r是表达式。运算结果赋值给c_circ print("The circle's circum is",c_circ)

    赋值语句

    变量第一次赋值,同时获得类型和“值”

    1、Python是动态的强类型语言

    2、不需要显式声明,根据“值”确定类型

    3、以“引用”的方式实现赋值

    x=3.5 y=x y is x z=3.5 #z is x #变量x 和 z 引用了两个不同的3.5,即指向了不同的3.5,两个3.5虽然值相同,但它们有各自的内存空间。可通过id()函数查看 id(x) id(z) id(y) p=3 q=3 p is q p=256 q=256 p is q p=257 q=257 p is q

    ⚠️ python中 相同的若干个小整数,默认范围是[-5,256]的部分仅包含数字字母和下划线的字面常量字符串 会被驻留 即分配同以内存空间。这些对象比较常用,这种高效的存储方式可以优化程序的运行速度。

    增量赋值

    增量赋值操作符 += -= *= /= %= **= <<= >>= &= ^= |=

    #assignment m=18 m %= 5 #即m=m%5 m m**=2 m

    链式赋值

    #assignment PI=pi=3.14159 PI pi #assignment PI=3.14159 pi=PI=PI*2 pi

    多重赋值

    等号左右两边都以元组的方式出现

    #assignment x=1 y=2 x,y #逗号是Python中用来创建一种特殊的数据结构 成为元组 。元组 用 圆括号 括起来 x,y=y,x x,y #assignment PI,r=3.14159,3 PI r (PI,r)=(3.14159,3) #same as no round brackets

    语句

    #完整执行一个任务的一行逻辑代码

    1、赋值语句完成了赋值 2、print输出语句完成了输出

    语句:完成一个任务;表达式:任务中的一个具体组成部分

    Python标准数据类型

    (长)整型 浮点型 复数型 布尔型 字符串 列表 元组 字典

    整型

    1、整型 和 长整型 不严格区分

    2、Python2支持整型值后加“L”即为长整型

    #interger type(3)

    整型不会出现溢出的错误

    布尔型

    1、整型的子类

    2、仅有两个值:Ture、False。本质上使用整型的1、0分别存储的

    #boolean x=True int(x) y=False int(y)

    浮点型

    1、即数学中的实数

    2、可以类似科学计数法表示

    #float 3.22 9.8e3 -4.78e-2 type(-7.8e-2)

    复数型

    1、实数+虚数 就是复数

    2、虚数部分必须有j

    #complex 2.4+5.6j type(2.3+5.6j) 3j #可以没有实部 type(3j) 5+0j #虚部可以为0 type(5+0j)

    复数可以分离实数部分和虚数部分

    -复数.real #实部

    -复数.imag #虚部

    复数的共轭 -复数.conjugate()

    #complex x=2.4+5.6j x.imag x.real x.conjugate()

    序列类型

    1、字符串:单引号、双引号、三引号内的都是字符串。不可变类型

    2、列表:强大的类型,用方括号[]界别。可变类型

    3、元组:与列表相似,用小括号()界别。不可变类型

    字符串

    myString='Hello World!' print(myString) myString="Hello World!" print(myString) myString='''Hello World!''' #三引号可以表示多行字符串。三引号中可以自由的使用单引号和双引号 print(myString) #取Hello World 中的字母e,可以用索引操作符 myString[1] #e所在的位置是1 这样的运算符可以把两个字符串连接起来

    映射类型 字典

    1、用大括号{}界别

    2、类似于哈希表的建值对。它的成员都是键key和值value(键值对称为项item)

    #dictionary d={'sine':'sin','cosine':'cos','PI':3.14159} d['sine']

    基本运算

    算数运算

    算数运算符的优先级:乘方** 、正负号± 、乘除*/ 、整除// 、取余% 、加减± 。 乘除 高于 加减。运算对象两边的运算符优先级相同时,要考虑结合方向,是从左往右 还是 从右往左结合。

    #arithmetic pi=3.14159 r=3 circum=2*pi*r #圆的周长 x=1 y=2 z=3 result1=x=3/y-z%2 result2=(x+y**z*4)//5 print(circum,result1,result2) 3+4 3*4 3**2 8%5 1/2 1//2 (-3)**2

    比较运算

    1、数值比较:按值比大小

    2、字符串的闭阿娇:按ASCII码值大小

    #compare 3<4<7 #same as 3<4 and 4<7。4的两边各有一个小于运算符,相同的,优先级一样;小于运算符的结合性,是从左往右 4>3==3 #same as 4>3 and 3==3 。 ==是比较等于,或逻辑等于。和赋值等于一个等于号是不一样的 4<3<5!=2<7 #compare 2==2 2.46<=8.33 'abc'=='xyz' #a和x比较,b和y比较,c和z比较 'abc'>'xyz' 'abc'<'xyz'

    逻辑运算

    逻辑运算符优先级:not and or

    #logical x,y=3.14159,-1024 x<5.0 not x<5.0 #取反 x<5.0 or y>2.718 x<5.0 and y>2.718 not x is y 3<4<7 #same as 3<4 and 4<7

    字符运算符

    1、原始字符串操作符(r/R):用于一些不希望转义字符起作用的地方

    2、所有的字符串都是Unicode字符串:Python2.x中需要转换成Unicode字符串

    #u in Python 2.x print u'Hello\nWorld' #r f=open('c:\python\test.py','w') #open函数可以打开一个文件,文件的路径就是它的第一个参数,w是写文件。在c盘这个目录下新建一个test.py的文件。这样写会报错 f=open(r'c:\python\test.py','w') #前面带一个r 就不报错。都按字面意思解释 f=open('c:\\python\\test.py','w') #不加r,要用转移字符,用\\表示\

    位运算符

    按位运算符是把数字看作二进制来进行计算的。

    a=60 #二进制 a=0011 1100 b=13 #二进制 b=0000 1101 a&b #按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0。(a & b) 输出结果 12 ,二进制解释: 0000 1100 a|b #按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。(a | b) 输出结果 61 ,二进制解释: 0011 1101 a^b #按位异或运算符:当两对应的二进位相异时,结果为1。(a ^ b) 输出结果 49 ,二进制解释: 0011 0001 ~a #按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1。(~a ) 输出结果 -61 ,二进制解释: 1100 0011,在一个有符号二进制数的补码形式。 a<<2 #左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。a << 2 输出结果 240 ,二进制解释: 1111 0000 a>>2 #右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数.a >> 2 输出结果 15 ,二进制解释: 0000 1111

    综合运算

    算数运算符、位运算符、比较运算符、逻辑运算符

    #mix 3<2 and 2<1 or 5>4 x+3/y-z%2>2 3-2<<1 #左移 3-2<<1<3

    小练习

    从键盘输入两个整数,求两个整数的和、差、积、商(尝试用一般除法和整除两种方式)并输出。

    x=2 y=4 z1=x+y z2=x-y z3=x*y z4=x/y z5=x//y print(x,y,z1,z2,z3,z4,z5) # 参考答案 x=int(input("Input x:")) y=int(input("Input y:")) print("x+y=",x+y) print("x-y=",x-y) print("x*y=",x*y) print("x/y=",x/y) print("x//y=",x//y)

    函数 模块 包

    import math help(math)

    函数(一)

    1、类似与数学中的函数,完成一个特定功能的一段代码

    -绝对值函数abs(x)

    -类型函数type(x)

    -四舍五入函数round(x)

    内建函数

    -str()和type()等适用于所有标准类型

    数值型内建函数:abs() bool() oct() round() int() hex() divmod() ord() pow() float() chr() complex()

    实用函数:dir() input() help() open() len() range()

    dir(__builtins__) #可以看到python中的异常名和属性名,和从abs开始到zip结束的一些内建函数名 help(zip) ⚠️ #四舍五入函数:四舍五入,逢五看奇偶,奇进偶不进 round(3.5) round(2.5) round(3.1) round(3.4) round(3.9)

    模块

    非内建函数如何使用? 首先把模块import(导入)进来

    模块:一个完整的Python文件即是一个模块

    -文件:物理上的组织方式 math.py

    -模块:逻辑上的组织方式 math

    Python通常用“import 模块“的方式将现成模块中的函数、类等 重用到其他代码块中

    -math.pi的值可以直接使用,不需要自行定义

    #round-off floor import math math.floor(-35.4) math.floor(-35.5) math.floor(-35.8) floor(-35.3) #module import math math.pi

    导入多个模块:用逗号分隔

    import ModuleName1,ModuleName2,… #导入多有函数或类

    在模块里导入指定的模块属性,from 模块名 import 模块属性

    from Module1 import ModuleElement #导入其中部分函数或类

    一个有层次的文件目录结构。定义了一个由模块和子包组成的Python应用程序执行环境

    AAA/ #最顶层的包 __init__.py bbb.py #它的模块 CCC/ #它的子包 __init__.py c1.py #它的模块 c2.py #它的模块 DDD/ #它的子包 __init__.py d1.py #它的模块 EEE/ #它的子包 ...

    #调用模块c1中的func1函数

    #方法一 import AAA.CCC.c1 #包名.子包名.模块 AAA.CCC.c1.func1(123) #调用模块c1中的func1函数

    #方法二 from AAA.CCC.c1 import func1 func1(123) #

    库是一组具有相关功能的模块的集合。

    有强大的标准库、第三方库、自定义模块

    包 包含了 模块 和 库,在模块 或 库 里有 函数 或 类

    小练习

    简单的输入输出:编程实现输入姓、名的提示语 并 接受用户输入,并单独显示姓、名和全名,执行效果如下所示: Input your surname:ZHANG Input your firstname:Dazhuang Your surname is:Zhang Your firstname is:Dazhuang Your full name is:Zhang Dazhuang

    surname=input("Input your surname:") firstname=input("Input your firstname:") print("Your surname is:",surname) print("Your firstname is:",firstname) print("Your full name is:",surname+' '+firstname) print("Your full name is:",surname,firstname)
    Processed: 0.010, SQL: 9