Python入门——第一章 python编程基础

Python入门


文章目录

  • Python入门
    • 第一章 python编程基础
      • 1.1 基本输入输出
        • 1.1.1使用print()函数进行简单输出
          • chr()函数
          • print()输出到指定文件
          • print()输出年份,月份,日期
        • 1.1.2使用print()函数进行复杂输出
        • 1.1.3使用input()函数输入
      • 1.2 注释
        • 1.2.1单行注释#
        • 1.2.2多行注释
          • '''......'''
          • """......"""
        • 1.2.3中文声明注释
      • 1.3代码缩进
      • 1.4 代码换行与并行
        • 1.4.4代码换行
        • 1.4.2代码并行
      • 1.5编码规范
      • 1.6命名规范
      • 1.7保留字与标识符
      • 1.8变量
        • 1.8.1变量的定义与使用
        • 1.8.2基本数据类型

第一章 python编程基础

1.1 基本输入输出

1.1.1使用print()函数进行简单输出
a=100        #变量a,值为100
b=5          #变量b,值为5
print9#输出数字9
print(a)     #输出变量a
print(a*b)   #输出a*b的运算结果500
print("hello world")   #输出hello world

note:

(1)print()语句输出后会自动换行

print1,2# 1 2
print(1)    #1 
print(2)    #2

(2)可使用 ‘+’(加号)直接连接字符串

print('ab'+'cd')

(3)特殊文字,符号,标志输出

print(chr(字符码))
chr()函数

chr() 函数用一个范围在 range(256)内的(就是0~255)整数(ASCII码,可以是10进制也可以是16进制的形式的数字)作参数,返回一个对应的字符。

print('b')
print(chr(98))
print()输出到指定文件
fp=open(r'D:\mr.txt','a+')
print("要么出局,要么出众",file=fp)
fp.close()
print()输出年份,月份,日期
import datetime   #调用日期模块datetime
print('当前年份:'+str(datetime.datetime.now().year)) #当前年份
print('当前月份'+str(datetime.datetime.now().month)) #当前月份
#当前日期时间:22-01-31 02:54:14
print('当前日期时间:'+datetime.datetime.now().strftime('%y-%m-%d %H:%M:%S'))
1.1.2使用print()函数进行复杂输出
print(value, ...,sep=' ',end='\n',file=sys.stdout,flush=False)
  • value:表示要输出的值,可以是数字,字符串,各种类型的变量等。
  • :表示可以一次性打印多个值:在输出多个值时,需要使用“,”(英文半角逗号)分隔,打印出来各个值之间默认用空格隔开。
  • sep:表示打印值时,各个值之间的间隔符,默认值是一个空格,可以设置为其他的分隔符
  • end:表示打印完最后一个值需要添加的字符串,用来设定输出语句以什么结尾,默认是换行符’\n’,可以换成其他字符串,如end=’\t’或end=’ '等。
  • file:表示输出的目标对象,可以是文件也可以是数据流,默认是sys.stdout。可以设置"file=文件存储对象",把内容存到改文件中。
  • flush:表示是否立刻将输出语句输出到目标对象,flush值为False或True。当flash=False时,表示输出值会存在缓存;当flash=True时,表示输出流强制写入文件。

note:

(1)如果print()函数不传递任何参数,则会输出end参数的默认值,即打印一个空行

(2)sep和end的参数必须是字符串,或者为None。当为None时意味着将使用其默认值。

(3)sep,end,file,flush都必须以命名参数方式传参,否则会被当作需要输出的对象。

1.1.3使用input()函数输入
variable=input("提示文字")

variable为保存输入结果的变量,双引号内的文字用于提示要输入的内容

在python3.x中,无论输入数字还是字符都将被作为字符串读取。如果要接受数值,需进行类型转换

num=int(input("输入数字"))

note:

ord()函数可以将字符的ASCII码值转换为数字

x=input("输入字符")
print(x+" 的ASCII码值为",ord(x))

1.2 注释

1.2.1单行注释#
1.2.2多行注释
‘’’…’’’
“”"…"""
1.2.3中文声明注释
#-*-coding:编码-*-  或  #coding=编码
#coding=utf-8     #保存文件格式为UTF-8

1.3代码缩进

python采用代码缩进和冒号(:)区分代码之间的层次

1.4 代码换行与并行

1.4.4代码换行

(1)在该行代码末尾加上续航符 ’ \ ’

print("2022年\
我在学习\
Python!")
输出结果:2022在学习Python!

(2)语句中包含()、{}、[],分行不需要加换行符

ptint('2022年'
	'我在学习'
	'Python!')
输出结果:2022年我在学习Python!

(3)采用3个单引号

ptint('''2022年'''
	'''我在学习'''
	'''Python!''')
输出结果:2022年我在学习Python!

(4)采用3个双引号

ptint("""2022年"""
	"""我在学习"""
	"""Python!""")
输出结果:2022年我在学习Python!
1.4.2代码并行

在python代码缩进语块中,如果只有一条独立语句,可将其并入”:“后面

num=int(input("输入一个数字:"))
if num%2==0:
    if nuim%5==0:                             #该行不能并到上一行
        print("输入的数字可以整除2和5")           #该行能并到上一行
    else:
        print("输入的数字可以整除2,但不能整除5")    #该行能并到上一行

1.5编码规范

  • 每个import语句只导入一个模块

    #推荐写法
    import os
    import sys
    #不推荐写法
    import os,sys
    
  • 不要在行尾添加分号(;),也不要用分号将两条命令放在同一行。

  • 建议每行不超过80个字符,如果超过,则建议使用小括号()将多行内容隐式地连接起来,而不推荐使用反斜杠”\“进行连接。

    print("...................."
    	  "..................") #推荐
    print("....................\
    ..................")   #不推荐
    
  • 导入模块的语句过长

  • 注释里的URL

    使用必要的空行可以增加代码的可读性。一般在顶级定义(如函数或类的定义)之间空两行,而方法定义之间空一行。另外,在用于分隔某些功能的位置也可以空一行。

    在通常情况下,运算符两侧,函数参数之间,逗号(,)两侧建议使用空格分隔。

    应该避免在循环中使用 “+” 和 “+=” 运算符累加字符串。因为字符串是不可变的,这样做会创建不必要的临时对象。推荐将每个子字符串加入列表,然后在循环结束后使用join()方法连接列表。

    虽然适当使用异常处理结构来源提高程序容错性,但是不能过多依赖异常处理结构,适当的显示判断还是必要的。

1.6命名规范

模块名尽量短小,并且全部使用小写字母,可以使用下划线分隔多个字母。例如,game_main。

包名尽量短小,并且全部使用小写字母,不推荐使用下划线。例如,com.mr,com.mr.book。

类名采用单词首字母大写形式(Pascal风格)。例如,BorrowBook。

模块内部的类采用下划线"_" + Pascal风格的类型组成。例如,在BorrowBook类中的内部类,可以使用 _BorrowBook命名。

函数,类的属性和方法的命名规则同模块的命名规则类似,也是全部使用小写字母,多个字母之间使用下划线分隔。

常量命名时采用全部大写字母,可以使用下划线。

使用单下划线”_“开头的模块变量或函数是受保护的,在使用from xxx import*语句从模块中导入时,这些模块变量或函数不能被导入。

使用双下划线”__“开头的实例变量或方法是类私有的。

1.7保留字与标识符

  • python中的标识符不能包含空格,@,%和$等特殊字符

  • 区分字母大小写

  • python中以下划线开头的标识符一般有特殊意义,一般应尽量避免使用与之相似的标识符

    以单下划线开头的标识符(如_width)表示不能直接访问的类属性,也不能通过"from xxx import *"导入

    以双下划线开头的标识符(如__add)表示类的私有成员。

    以双下划线开头和结尾的是Python里的专用的标识符,例如,__ init __()表示构造函数。

1.8变量

1.8.1变量的定义与使用
  • type() :返回变量类型

  • python中变量的类型可以随时变化

    myname = "名字"  #字符串类型
    print(type(myname)) 
    # 
    myneme= 123   #整型
    print(type(myname))
    # 
    
  • 在python中允许多个变量指向同一个值。

    no = 1024
    id(no)
    # 493648
    number = 1024
    id(number)
    # 493648
    
    1.8.2基本数据类型
    • 值为假

      • False 或 None
      • 数值中的零,包括0,0.0,虚数0
      • 空序列,包括字符串、空元组、空列表、空字典
      • 自定义对象的实例,该对象的__ bool __ 方法返回False或者 __ len __ 方法返回0
    • 算术运算符

      • ​ +,-,*,/。注:7/2得3.5,除数不能为0。

      • % , 求余。注:如果除数是负数,取得的结果也是一个负值。

      • // ,取整除,返回商的整数部分。注:7/2得3,除数不能为0。

      • ** ,幂。注: 2 ** 4 得16。

    • 赋值运算符

    • 比较运算符

      • ​ python中可写,0
    • 逻辑运算符

      • and 与
      • or 或
      • not 非
    • 位运算符

      • 整数在内存中以二进制数的形式表示,如整型变量 7 以32位二进制数表示是

        00000000 00000000 00000000 00000111

        最高位是符号位,最高位是0表示整数,若为1则表示负数。

        负数采用补码表示,如 -7 以32位二进制数表示为

        11111111 11111111 11111111 11111001

      • 位与 &

        两个操作数的二进制数只有对应位都是1时,结果位才是1,否则为0。

        如果两个操作数的精度不同,则结果的精度与精度高的操作数相同。

        ​ 0000 0000 0000 1100

        & 0000 0000 0000 1000


        ​ 0000 0000 0000 1000

      • 位或 |

        两个操作数的二进制数只有对应位都是0时,结果位才是0,否则为1.

        如果两个操作数的精度不同,则结果的精度与精度高的操作数相同。

        ​ 0000 0000 0000 0110

        | 0000 0000 0000 1010


        ​ 0000 0000 0000 1110

      • 位异或^

        两个操作数的二进制数只有对应位相同(同时为0或同时为1)时,结果为0,否则为1。

        如果两个操作数的精度不同,则结果的精度与精度高的操作数相同。

        ​ 0000 0000 0001 1111

        ^ 0000 0000 0001 0110


        ​ 0000 0000 0000 1001

      • 取反~

        讲操作数对应的二进制数中的1改为0, 1改为0。

      ~ 0000 0000 0111 1011


      ​ 1111 1111 1000 0100

      • 左移位<<

        将一个二进制操作数向左移动指定的位数,左边(高端位)溢出的位被丢弃,右边(低端位)的空位用0补充。

        左移位运算相当于乘以2的n次幂。

        ​ 48 00110000

        ​ 96 01100000

        ​ 192 11000000

      • 右移位>>

        将一个二进制操作数向右移动指定的位数,右边(低端位)溢出的位被丢弃,而在填充左边(高端位)的空位时,如果最位是0(正数),左侧空位填入0;如果最高位是1(负数),左侧空位填入1。

        右移位运算相当于除以2的n次幂。

        ​ 48 00110000

        ​ 24 00011000

        -80 10110000

        -20 11101100

      • 运算符的优先级

        类型 说明
        **
        ~,+,- 取反,正号,负号
        *,/,%,// 算术运算符
        +,- 算术运算符
        <<,>> 位运算符中的左移和右移
        & 位运算符中的位与
        ^ 位运算符中的位异或
        | 位运算符中的位或
        <,<=,>,>=,!=,== 比较运算符

你可能感兴趣的:(Python,python)