python之路———第一章

初识python

#以下的代码都是在PyCharm 4.5的编辑工具下执行的,并且python的版本是3.4

  python的第一程序

    print("Hello Word")

    #Hello Word

一、变量名

  一)作用:一是用来存储,二是用来调用

  二)定义规则:

    1)变量名只能是字母、数字、下划线的任意组合

    2)变量名的第一字母不能是数字或下划线

    3)关键字不能声明变量 比如:if、for、 class  

  三)变量的赋值:

    name = "xiao ming"

    上述代码声明了一个变量,变量名是 name, 变量 name 的值为:"xiao ming"

二、常用的数据类型

  1、数字

    int(整型):跟数学中数字的没区别

    long(长整型):int类型中表达不了的数字就用这个

    float(浮点型):有小数点的数字

  2、布尔值

    True  真 或 1

    False  假 或 0

  3、字符串

    1)字符串格式化输出

      name = "小明"

      print ("I am %s" %name)

      #输出:I am 小明

    2)字符串拼接

      name = "小明"

      print ("我是"+ name +"的同学")

      #输出:我是小明的同学

      万恶的字符串拼接:python中的字符串在C语言中体现为是一个字符数组,每次创建字符串是时候需要在内存中开辟一块连续的空间,并且一旦需要修改字符串的话,就需要再次开辟空间,万恶的+号每出现一次就会在内存中重新开辟一块空间,所以为了减少内存空间的使用,一般情况下都不要用字符串拼接。

    3)字符串常用功能

        name = "xiao ming ,xiao gou,{hua}"

      * 移除空白: name.strip()  #把前后的空格或换行都去掉

      * 分割:   name.split(",")  #按逗号把字符串里的字符分割开来变成列表

            "|".join(name)  #按|把分割开来的列表合在一起

      * 长度:  len(name) #

      * 索引:name.find()  #查找字符串中的某个元素,返回值就是该元素的索引

      * 切片:跟列表切片是一样的

      *格式化:name.format(hua = "花")

      *判断:  name.isdigit()  #判断字符串是不是数字

           name.isalnum()  #判断字符串有没有特殊字符

           name.endswith()  # 判断字符串以什么结尾
           name.startswith() #判断字符串以什么开头

           name.upper()    #把字符串都改成大写

           name.lower()     #把字符串都改成小写

           "" in name #判断里面有没有空格

  4、列表

    1)创建列表:

      name = ["小明","xiaohua",36,"5",[3,4,9],"小狗",96,63,5,36,]

    2)基本操作

      索引:name[0]#取第一个值  name[:2]#取前面两个值  name[-3:]#取最后三个值  name[4][1] #取第二层列表里的值

          #每个列表中的元素都对应一个索引,也称下标,下标默认都是从0开始,例如下标0对应的就是第一个元素"小明"

      切片:name[1:4]#取出第二个到第四个的值 xiaohua,36,5

      追加:name.append("小花")#在列表中追加一个新的元素

      删除:name.remove("小狗")#删除一个元素 ,但一次只能删除一个

         name.pop(7) #删除第7个人 这个是删除元素的下标,默认是删除最后一个

         # del name[4] del 删除一个内存中的数据,不但可以删列表,还可以删很多 ,是python 的全局功能,

      步长:name[::2] #隔一个人打印一个人,2就是步长,默认是1,但不能是0

      长度:len(name) #查看列表里有多少元素

      插入:name.insert(2,"小红")#在第三的位置上插入新的元素,但一次只能插入一个

      清空:name.clear() #把这个列表清空

      扩展:name.extend(name2) # 把name2列表的元素追加到了name列表,但name2列表的元素还存在,相当于拷贝了月份

      排序:name.reverse() #把列表里面的元素与之前的顺序倒过来(从后面往前排)

      拷贝:name4 = name.copy() #把一个列表的元素拷贝到另一个列表里,默认只拷贝第一层,属于浅拷贝

         name5 = copy.deepcopy(name) #深层拷贝,首先要声明一个标准库:import copy

        36 in name #判断列表是否存在一个元素,如果有则返回True,没有则返回False

        name.count() #查找列表里相同的元素有几个

        # geshu = name.count(36)   输出结果是 2 说明列表里有2个36

        name.index() #查找某个元素的索引,如果有相同的元素,只能查找到排在最前面的一个        

      for i in range(name.count(36)): #查找列表里有几个36
        suoyin = name.index(36)  #查找元素36的索引
        name[suoyin] = 666   #通过查到的索引来修改元素
      print(name)       #最后的结果把列表里的所有36改成了666

  5、元组(不可变列表)

    1、创建元组:

      ages = (11,22,33,44,55,66) 或 ages = tupe((11,22,33,44,55,66))

  6、字典(无序)

三、数据运算

  一)算数运算

   a = 10        b = 20

运算符 描述 实例
+ 加—— 两个对象相加 a + b  输出结果  30
- 减—— 一个数减去另一个数 a - b   输出结果  -10
* 乘—— 两个数相乘或是返回一个被重复若干的字符串 a * b   输出结果  200
/ 除—— b 除以 a b / a   输出结果   2
% 取模—— 返回除法的余数 b / a   输出结果   0           10 /  3   输出结果   1
** 幂 —— 返回 b 的 a 次幂 b ** a   输出结果  10240000000000
// 取整除—— 返回商的整数部分 9 // 2   输出结果  4     9.0 // 2.0    输出结果是 4.0

  

  

  二)比较运算:

运算符 描述 实例
== 等于—— 比较对象是否相等 (a == b) 返回  False
!= 不等于—— 比较两个对象是否不相等 (a != b) 返回   True
<> 不等于—— 比较两个对象是否不相等 (a <> b) 返回  True
> 大于—— 返回X是否大于Y (a > b) 返回    False
<
小于—— 返回X是否小于Y。 所有比较运算符返回1表示真,返回0表示假。

这分别与特殊的变量True和False等价。注意,这些变量名的大写

(a < b) 返回    True
>= 大于等于—— 返回X是否大于等于Y (a >= b) 返回  False
<= 小于等于——返回X是否小于等于Y (a <= b) 返回  True

  

  

  三)赋值运算

 运算符
描述


示例


=


赋值 - 将右边的值赋值给左边的变量名


c = a + b 将会把a+b的结果赋值给c


+=


自加赋值 - 将+=号左边的值与+=号右边的值相加,然后再把结果赋值给+=号左右的值


c += a相当于 c = c + a


-=


自减赋值


c -= a相当于 c = c - a


*=


自乘赋值


c *= a 相当于 c = c * a


/=


自除赋值


c /= a 相当于 c = c / a


%=


自取模赋值


c %= a 相当于 c = c % a


**=


自求幂赋值


c **= a 相当于 c = c ** a


//=


自取整赋值


c //= a 相当于 c = c // a

 

 

  

  四)逻辑运算符  

运算符 描述 实例
and 布尔  “与” ——如果X为False, X  and  Y  返回 False , 否则它返回 Y 的计算值 (a and b) 返回 True
or 布尔  “或” ——如果X为True, X  and  Y  返回 True , 否则它返回 Y 的计算值 (a or b) 返回 True
not 布尔 “非” ——如果X为True, X and  Y 返回 False , 如果 X 为 False, 它返回 True not(a and b) 返回 False

  

  五)身份运算  

运算符 描述 实例
is is是判断两个标识符是不是引用自一个对象 X is Y ,如果id(X)等于id(Y),is 返回结果 1

 print(type("333") is str)  返回True

  print(type(333) is str)    返回False    

 六)位运算  计算机中能表示的最小单位,是一个二进制位    计算机中能存储的最小单位,是一个二进制位(bit)    8bit       =   byte(1字节)    1024byte =   1kbyte         1024kbyte =  1mbyte    1024mbyte = 1gb    1024gb   =     1T


 运算符
描述  a = 60  b = 13


示例


&


与运算,这个二进制位必须在2组数中都为真,结果才返回真


(a & b)得12,二进制位: 0000 1100


|


或运算,这个二进制位只需在其中一组数据中为真即返回真


(a | b)得 61,二进制位: 0011 1101


^


异或运算,只要这个二进制位在两组数据中不相同就返回真


(a ^ b)得 49 ,二进制位: 0011 0001


<< 


左移运算,将a整体向左移2位


a << 2得240,二进制位: 1111 0000


>> 


右移运算,将a整体向右移3位


a >> 3得 7 ,二进制位: 0000 0111



 

四、表达式:

  一)if...else语句

    name = "小明"
    passwd = 123654
    username = input("请输入用户名:")
    password = int(input("请输入用户名密码:"))

    if name == username and passwd == password:

       print("恭喜你登入成功!")    else:        print("用户名或密码错误,请重新输入!")  二)for循环    #计算1+2+...+10的和    sum = 0    for x in [1,2,3,4,5,6,7,8,9,10]:        sum = sum + x    print(sum)

    #一个登入接口的小程序    name = "小明"    passwd = "123654"    cishu = 0    for i in range(5):       if cishu < 3:            username = input("请输入用户名:")            password = input("请输入用户名密码:")            if username == name and password == passwd:                print("恭喜你登录成功,欢迎你!")                break            else:                print("你输入的用户名或密码不正确,请重新输入!")                cishu += 1        else:            print("你已经输错三次,用户名与密码已被锁定,请明天再试!")            break  三)while循环    count = 0    while True:        count += 1        if 50 < count < 60:            continue        print("你是风儿我是沙,缠缠绵绵到天涯.....",count)        if count == 100:            print("去你大爷的风和沙...")            break
时间: 2024-10-25 20:48:27

python之路———第一章的相关文章

七日Python之路--第一天

网上的资源师丰富的.但难免有些过时的信息,比如我现在使用的是去年下载的python3.3,而网上多数都是Python2.7. 差别比较大的就是:①读取用户输入raw_input()已经不能使用,只能使用input().②文件读取file()也不能使用了,被替换成了open(). 入门教材算是看的<简明Python教程>:地址 http://sebug.net/paper/python/index.html 一共16个章节,大约两个小时看完.这样算是入门了吧. 由于之前研究Java方向是WEB方

《Python CookBook2》 第一章 文本 - 测试一个对象是否是类字符串 &amp;&amp; 字符串对齐

测试一个对象是否是类字符串 任务 有时候需要测试一个对象,尤其是当你在写一个函数或者方法的时候,经常需要测试传入的参数是否是一个字符串. 解决方案 利用内建的isinstance 和basestring 来简单快速地查询某个对象是否是字符串或者是Unicode 对象方法,如下: 代码: >>> def isAString(aaa): return isinstance(aaa,basestring) 运行结果: >>> isAString('aaa') True 字符串

《Python CookBook2》 第一章 文本 - 每次处理一个字符 &amp;&amp; 字符和字符值之间的转换

文本 - 总结: 什么是文本Python 中的string 类型是不可变类型.文本,一个字符的矩阵,每一个单独的文本快可以被缩进和组织起来. 基本的文本操作①解析数据并将数据放入程序内部的结构中:②将数据以某种方式转化为另一种相似的形式,数据本身发生了改变:③生成全新的数据 每次处理一个字符: 任务用每次处理一个字符的方式处理字符串. 解决方案可以创建一个列表,列表的子项是字符串的字符.代码如下: >>> thelist = list('thestring') >>>

《零压力学Python》 之 第一章知识点归纳

第一章(初识Python)知识点归纳 Python是从ABC语言衍生而来的 ABC语言是Guido参与设计的一种教学语言,为非专业编程人员所开发的. Python是荷兰程序员 Guido Van Rossum于1991推出的,保留着ABC的很多功能,而且也融入了Modula-3语言的元素. Modula-3有着简单和安全的特点. Python命名的灵感来自BBC的喜剧<巨蟒剧团这飞翔的马戏团>,这门语言与蟒蛇没有直接的联系,虽然剧团的成员John Cleese最初命名时隐含着"阴险&

Python之路第一课Day2--随堂笔记

入门知识拾遗 一.bytes类型 bytes转二进制然后转回来 msg="张杨" print(msg) print(msg.encode("utf-8")) print(msg.encode("utf-8").decode()) 二.三元运算 如果条件为真:result = 值1如果条件为假:result = 值2 三.进制 二进制,01 八进制,01234567 十进制,0123456789 十六进制,0123456789ABCDEF  二进制

Python之路第一课Day6--随堂笔记(面向对象编程进阶...未完待续 )

本节内容: 面向对象高级语法部分 静态方法.类方法.属性方法 类的特殊方法 反射 异常处理 Socket开发基础 作业:开发一个支持多用户在线的FTP程序 面向对象高级语法部分 一.静态方法 通过@staticmethod装饰器即可把其装饰的方法变为一个静态方法,什么是静态方法呢?其实不难理解,普通的方法,可以在实例化后直接调用,并且在方法里可以通过self.调用实例变量或类变量,但静态方法是不可以访问实例变量或类变量的,一个不能访问实例变量和类变量的方法,其实相当于跟类本身已经没什么关系了,它

python爬虫学习第一章

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption

Python计算机视觉编程-第一章 图像处理基础

图像处理基础 测试1:PIL:Python图像处理类库 PIL(Python Imaging Library,图像处理库)提供了通用的图像处理功能,以及大量有用的基本图像操作.PIL库已经集成在Anaconda库中,推荐使用Anaconda,简单方便,常用库都已经集成.也可以安装python(x,y),但是我一直安装失败,所以就没有装,没有安装也可以自己导入,比如我就是用的pycharm自己导入. 如果安装失败,可以添加一些镜像网站,在进行下载 代码不报错之后,运行代码: 测试代码: # -*-

《Python CookBook2》 第一章 文本 - 改变多行文本字符串的缩进 &amp;&amp; 扩展和压缩制表符(此节内容待定)

改变多行文本字符串的缩进 任务: 有个包含多行文本的字符串,需要创建该字符串的一个拷贝.并在每行行首添加或者删除一些空格,以保证每行的缩进都是指定数目的空格数. 解决方案: # -*- coding: UTF-8 -*- ''' Created on 2014年8月29日 path:E:\Se\core_python\[email protected]: Administrator function: 改变多行文本字符串的缩进 ''' def reindent(s,numSpaces): lea