zoukankan      html  css  js  c++  java
  • python day1 学习整理

    python 学习第一天:初识python


    1.python简介

         1989年,为了打发圣诞节假期,Guido开始写Python语言的编译/解释器。Python来自Guido所挚爱的电视剧Monty Python's Flying Circus (BBC1960-1970年代播放的室内情景幽默剧,以当时的英国生活为素材)。他希望这个新的叫做Python的语言,能实现他的理念(一种C和shell之间,功能全面,易学易用,可拓展的语言)。Guido作为一个语言设计爱好者,已经有过设计语言的(不很成功)的尝试。这一次,也不过是一次纯粹的hacking行为!

    2.python和其他语言对比

       c语言:直接翻译成机器码。

       其他高级语言:先是编译成字节码,然后翻译成机器码

    3.python种类

        cpython:   代码 -> c字节码 -> 机器码 (一行一行的预编译)

        pypy:      代码 -> c字节码 -> 机器码  (全部转换完) -> 执行

        其他python:代码 -> 其他字节码 - > 机器码

    4.编码介绍

           python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)

         ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
    注:此处说的的是最少2个字节,可能更多...

        UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...

    5.注释

        当行注释:# 被注释的内容

        多行注释:""" 被注释的内容 """

    6.pyc文件

        pyc文件是执行python代码时候,自动生成的一个与其同名的文件,该文件就是python编译器编译之后产生的字节码

    7.变量

       申明变量,变量名可以有字母,下划线,数字,组成,不能由数字开头,不能使用python内置关键字。

       变量的作用:昵称,其代指内存里某个地址中保存的内容

       申明一个变量:

      

    8.输入

      

    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    
    # 输入用户名
    name = input("请输入用户名")
    
    # 打印输入
    print(name)
    View Code

    如果想输入的看不到,需要引入getpass模块

         

    9.条件语句

    if 条件1:

       如果成功了,走这里

    elif 条件2:

        如果成功了,走这里

        ...

    else:

        失败了走这里

    10.while

    while 条件:

         continue   #立即开始下次循环

         break        #跳出当前的循环

    11.python数据类型

     

      1 a. 整数 int          
      2    - 创建
      3      a = 123
      4      a = int(123)
      5    - 转换
      6      age = "18"
      7      new_age = int(age)
      8 b. 布尔值             
      9     - 创建
     10       a = True
     11       b = False
     12     - 转换
     13       - 数字转换,只有0是False,其他True
     14       - 字符串,  只有""是False,其他True
     15       - 待续...
     16         
     17 c. 字符串 
     18     - 创建
     19       a = "alex"
     20       a = str('alex')
     21     - 转换
     22       age = 19
     23       new_age = str(age)
     24     - 字符串的拼接
     25       name = 'alex'
     26       gender = ''
     27       new_str = name + gender
     28       print(new_str)
     29             
     30     - 字符串格式化    
     31       # 占位符,
     32       name = '我叫李杰,性别:%s,我今年%s岁,我在说谎!'
     33       new_str = name %('',19,)
     34       print(new_str)
     35 
     36     - 判断子序列是否在其中
     37         
     38       content = "hello, nihao, zhidao, mingbai,"
     39  
     40                 if "hello" in content:
     41                     print('包含敏感字符')
     42                 else:
     43                     print(content)
     44     
     45     - 移除空白
     46       val = " alex "
     47       print(val)
     48       new_val = val.strip() # 左右
     49       new_val = val.lstrip()# 左边
     50       new_val = val.rstrip() # 右边
     51       print(new_val)
     52 
     53     - 分割
     54       user_info = "alex ls123 9"
     55       v = user_info.split('|')
     56       v = user_info.split('|',1)
     57       v = user_info.rsplit(' ',1)
     58       print(v)
     59     - 长度(字符)
     60        val = "李杰sb"
     61        v = len(val)
     62        print(v)
     63     - 索引
     64       val = "李杰"
     65       v = val[0]
     66       print(v)
     67                     
     68       val = input('>>>')
     69       i = 0
     70       while i < len(val):
     71       print(val[i])
     72       i += 1
     73     - 切片
     74               
     75       name = '我叫李杰,性别我今年岁,我在说谎!'
     76       print(name[0])
     77       print(name[0:2])
     78       print(name[5:9])
     79       print(name[5:])
     80       print(name[5:-2])
     81       print(name[-2:])
     82                             
     83 d. 列表                 
     84     - 创建:
     85       a = ['alex','123','eric',123]
     86       a = list(['alex','123','eric',123])
     87                     
     88     - 判断:
     89       if 'al' in a:
     90          pass
     91     - 索引:
     92       val = a[0]
     93     - 长度:
     94       val = len(a)
     95     - 切片:
     96       a = ['alex','123','eric',123]
     97       v = a[0::2]
     98       print(v)
     99     - 追加:
    100       a = ['alex','123','eric',123]
    101       a.append('xxoo')
    102       print(a)
    103     - 插入:
    104       a = ['alex','123','eric',123]
    105       a.insert(0,'1')
    106       print(a)
    107     - 删除:
    108       a = ['alex','eric','123','eric',123]
    109       a.remove('eric')
    110       del a[0]
    111       print(a)
    112     - 更新:
    113       a = ['alex','eric','','eric',123]
    114       a[1] = 'lesd'
    115       print(a)
    116     - For循环:
    117       a = ['alex','eric','123','eric',123]
    118       for item in a:
    119           print(item)
    120        
    121 e. 字典操作                   
    122     - 创建
    123       v = {
    124              'name': 'alex',
    125              'password': '123123'
    126            }
    127     - 索引获取值
    128       n = v['name']
    129       print(n)
    130                 
    131     - 增加,无,增加;有,修改
    132       v['age'] = 19
    133       print(v)
    134                 
    135     - 删除
    136       del v['name']
    137       print(v)
    138                 
    139     - 循环
    140       for item in v.keys():
    141           print(item)
    142       for item in v.values():
    143           print(item)
    144       for key,val in v.items():
    145           print(key,val)

     

     

                

     

     

  • 相关阅读:
    XSS练习小游戏和答案参考
    nxlog以syslog方式发送日志
    Hydra—密码爆破神器
    syslog服务器配置笔记
    信息安全工具汇总整理
    nmap使用指南
    Cleaner, more elegant, and harder to recognize (msdn blog)
    Golang 中的坑 一
    Concurrency Is Not Parallelism (Rob pike)
    golang sql database drivers
  • 原文地址:https://www.cnblogs.com/ybyblog/p/6810512.html
Copyright © 2011-2022 走看看