python3 第一天 基本语法数据类型

一python

1.python 可定义为 面向对象的脚本语言。

2.python标准实现方式是将源代码的语句编译(或者说转换)为字节码的形式,再将字节码翻译出来。

字节码是一种与平台无关的格式,具有可移植性

3.冻结二进制文件 

         让python程序生成独立可执行二进制代码,将程序的字节码、pvm(解释器)以及需要的python支持程序捆绑起来形成的文件包

4.交互的运行代码  在linux终端输入 python3 进入交互模式

每天命令输入回车后都会立即执行,用一个空行结束复合语句

5.作为脚本运行 将代码保存为 .py

运行: python3 1.py

二 基本语法

  1.          变量不需要声明,每个变量在使用前必须赋值,标识符大小写敏感,字母或"_"开头 ,其他部分有数字、字母
  2.            #     表单行注释              ""” / '''  三个双/单引号多行注释 首位使用双/单引号,必须一致
  3.         “ 和 ‘  双引号和单引号使用完全相同 
  4.          \反斜杠 表接下一行,在” “、' '、{ } 、[ ]、( )、中不能使用
  5.          仅在{ } 、[ ]、( )中使用逗号分隔
  6.         使用行和缩进
    1.          缩进的空格数可变(必须>0) 同一代码块包含相同缩进空格数
    2.         习惯    将空行作为分隔,分隔两段不同功能的代码

     7.          python支持分号分隔语句(不推荐使用分号作为语句的结束标志,同一行中多条语句时分号不可省略)

                  python主要通过换行来识别语句的结束,通常一行只写一条语句(特色)

     8.       代码块 if、while、def、class 这样的复合语句,首行以关键字开始,以冒号结束,之后该行一行或多行构成一个代码块

     9.        python 不支持单字符类型   

    10         python中的不可变数据类型,不允许变量的值发生变化,如果改变了变量的值,相当于是新建了一个对象

     11      可变数据类型:列表list和字典dict;不可变数据类型:整型int、浮点型float、字符串型string和元组tuple。

三 数据类型 Number、String、List、Tuple、Sets、Dictionary

  1.数Number

 一: 数的类型   bool、int、float(12.1  、3E-2)、complex(1+2j)

a,b,c,d=10,1e-2,False,1+2j
print(type(a),type(b),type(c),type(d))
print(c)
print(c+1)

<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
False
1
  • 1.  bool中True值为1  False为0
  • 2.  python 可以同时给多个变量赋值,
  • 3.  变量赋值时Number对象就会被创建,del语句 del(a[,b...])或 del a[,b...]    []为可选择
  • 4.   复数赋值的两种方式
  •       c=complex(1,-1)
  •        d=2+3j
a=b=c=1
d,e=0.1,2j
del(a)
print(a)

运行出错
Traceback (most recent call last):
  File "1.py", line 4, in <module>
    print(a)
NameError: name 'a' is not defined

#复数赋值的两种方式
c=complex(1,-1)
d=2+3j
print(c)
print(d)
#运行结果
(1-1j)
(2+3j)

 

二:数的运算

+-减  *

/ 除法 (两整数相除得到浮点数)

// 除法(两整数相除得到整数,小数舍去)

三、进制转换

a=20
print(hex(a))
print(oct(a))
print(bin(a))
0x14
0o24
0b10100

2.字符串String

  1.       不可以更该其子串,可以将变量重新赋值
  2.       使用"'进行赋值
  3.       使用"""'''可以指定多行赋值
  4.       python 不支持单字符类型 
  5.       特殊字符使用  \ 转义  
  6.       在字符串前加 R或r 
x='''ab
c\nd'''
#运行结果
ab
c
d

x=R'''ab
c/nd'''
#运行结果
ab
c/nd

  字符串的运算

a="abcde"   b="xy"                                                                 运算            结果

1. +字符串连接                                                                     a+b                abcdexy

2. * 重复输出字符串                                                             b*2                 xyxy

3. [ ] 通过索引来获取字符串中的字符                                  a[1]                 b

4. [ : ]截取字符串的一部分                                                   a[1:3]                bc

5. in成员运算符 包含给的字符返回True                               'ab' in a              True

6. not in成员运算符 b不包含给的字符返回True                   'ab' in a              False

8. R/r

9.% 格式输出     

         %% b百分号 

          %s 字符串

         %d 整数

         %u无符号整数 %x 无符号八进制 %x无符号十六进制

         %f浮点数 %e 科学计数格式化浮点数      

          %g 浮点数字(根据值的大小采用%e或%f)       

         %p 指针(用十六进制打印值的内存地址)

         %n 存储输出字符的数量放进参数列表的下一个变量中

      

3列表     List [ ]        (类似数组?)

1.写在[ ]内 用逗号分隔开元素列表

2.元素可以是列表(可以嵌套)

3. 元素值可更改

4.元素类型可为数、字符串、元组、列表、集合、字典

5.可被切片和截取 0为开始 -1为尾部的位置

一:len(list)返回最外层元素的个数

二:max(list)/min(list) 当list元素同一类型是可以比较

三: list(seq)将元组转换成列表(仅转换最外层元素)

a=((1,2),3,(4))
print(list(a))
#运算结果
[(1, 2), 3, 4]

方法

1 list.append(obj)
在列表末尾添加新的对象
2 list.count(obj)
统计某个元素在列表中出现的次数(仅统计最外层)
3 list.extend(seq)
在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表,无返回值,但会在已存在的列表中添加新的内容。)
4 list.index(obj)
从列表中找出某个值第一个匹配项的索引位置
5 list.insert(index, obj)
将对象插入列表   无返回值
6 list.pop([index=-1])
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7 list.remove(obj)
移除列表中某个值的第一个匹配项,无返回值
8 list.reverse()
反向列表中元素,无返回值
9 list.sort(cmp=None, key=None, reverse=False)
对原列表进行排序 ,cmp比较的具体规则,key比较的元素(当多维时),False 是升序(默认)

4 元组 Tuple()

1.创建()内 逗号分隔 

                      创建空 tup1=()

                      仅含一个元素 tup2=(1,)

2.元素不可修改

3.下标从0开始 可截取,-1为尾

4 +连接                *重复            in 成员运算符       长度len(tup)     min(tup)         max(tup)  

5 del删除

5 字典 Dictionary

1.字典 { }  无序的键:值对的集合   ,创建空字典必须使用{}

2. 键key必须使用不可变类型 同一字典 key唯一

3.内置构造函数 dict() 以及 clear() keys() values()

6 集合 set ()       或     {  } 

set集合 无序不重复元素的序列   (类似枚举?)

1.创建      {  } 元素间逗号隔离

             set( "字符串" )  将每个字符当作一个元素 ,创建 空集合

             set({   })   小括号内使用{},创建多个元素 的集合

2.无法通过下标索引

3.不可变类型无法修改元素

4.操作           

求交集:                                                                 set1 & set2

求并集:                                                                 set1 | set2

相当于set1|set2 -(set1&set2):                              set1 ^ set2

求差集:                                                                 set1 - set2

判断是否是子集or超集:                    set1.issubset(set2)  or set1.issubset(set2)

转变成list or tuple:                                    list(set1) or tuple(set1)

7 转换

1.      str(x)  将对象x转换成字符串   一般是将数值转成字符串

2.      repr(x) 将对象x转换成 表达式字符串
repr()是将一个对象转成字符串显示,注意只是显示用,有些对象转成字符串没有直接的意思。如list,dict使用str()是无效的,但使用repr可以,这是为了看它们都有哪些值,为了显示之用。

3.   dict(d)   创建一个字典 d必须是一个序列{key,vaue}元组

4    set(x)   转换成 可变集合

5    frozenset(s)  转换成不可变集合

6. chr(x)  将一个整数转换成字符      unichr(x) 转换成unicode字符

7.   ord(x) 将一个字符转换成整数

8.int(x)   float(x) 

9     eval(expression, globals=None, locals=None)  --- 官方文档中的解释是,将字符串str当成有效的表达式来求值并返回计算结果。globals和locals参数是可选的,如果提供了globals参数,那么它必须是dictionary类型;如果提供了locals参数,那么它可以是任意的map对象。

猜你喜欢

转载自blog.csdn.net/y2052/article/details/81204490