欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

从0到1入门Python(笔记1)

程序员文章站 2024-03-26 10:53:29
...

Preparation before class

< First intro book of python for rookies >


Fundimental

tips:

1 文件开头加上 #coding:utf-8

2 function()基本可以无限嵌套

  • exp
a=3 
b=int(str(int(str(a))))
print(type(b))

run: <class 'int'>

3 Python区分大小写

一、变量

例:answer=42
answer = 42
标识符 赋值符
var赋值时,= 后可为int,int可进行四则运算;可为string,string可相加,表示链接多个string,可与int相乘,表示复制,复制次数=int,可套用函数。
  • exp
a=1/5+7*2-10
b='2'*2
c=int(b)
d='de'+' '+'amor'
code result
print(a) 4.199999999999999
print(b) 22
print(c) 22
print(d) de amor

二、print()

print()内可进行四则运算,可套用函数运算。
  • exp
code result
print(a+c) 26.2
print(a-c) -17.8
print(a*c) 92.39999999999998
print(a/c) 0.1909090909090909
print(type(c)) <class 'int'>

三、String

单引号和双引号公用是一样的,三个引号被用于过长段的文字或者说明,只要三引号不玩就可以随意换行写下文字。
string可相加,表示链接多个string,可与int相乘,表示复制,复制次数=int,可套用函数

1、string分片索引,string[ ]
  • rules

    lyric = "Isn't she lovely"

    I s n ' t s h e l o v e l y
    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
    -16 -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1
  • exp

    lyric="Isn't she lovely"
    
    code result
    print(lyric[2]) n
    print(lyric[-3]) e
    print(lyric[0:10]) #the 10th is excluded,截取第0~第9个字符 Isn't she
    print(lyric[-4:-1]) #the -1st is excluded vel
    print(lyric[-1:-4] 空,说明无法R-->L倒排索引到字母
    print(lyric[-3:]) #From -3 to the end ely
    print(lyric[:7]) #From start to 7 Isn't s
  • 实际应用场景

    url = 'http://ww1.site.cn/14d2e8ejw1exjogbxdxhj20ci0kuwex.jpg'
    file_name = url[-10:]
    print(file_name)
    
    run result: 0kuwex.jpg
    
    phone_number1 = '13862861236'
    hiding_number1 = phone_number1.replace(phone_number1[3:7],'*' *4)
    print(hiding_number1)
    
    run result: 138****1236
    
2、字符串的方法

Python的对象拥有各种功能、特性,专业术语称之为——方法(method)
假设对象为 computer,computer可以计算。则语法可表示为 computer.calculate()

3、字符串格式化符

对于需要填空的情况,可用.format()进行批量处理。

  • exp
print('Thomas get {} runs in the {} inning'.format('2','8'))
print('Thomas get {run_number} runs in the {inning_number} inning'.format(run_number=3+1,inning_number='9+1'))
print('Thomas get {1} runs in the {0} inning'.format('2','8'))

run result:
Thomas get 2 runs in the 8 inning
Thomas get 4 runs in the 9+1 inning
Thomas get 8 runs in the 2 inning

变量需在.format()内赋值,否则报错,例子如下

run_n=1
inning_n=1
print(run_n)
print('Thomas get {run_n} runs in the {inning_n} inning'.format(run_n,inning_n))

run result:
1
Traceback (most recent call last):
  File "D:/python_lab/test.py", line 5, in <module>
    print('Thomas get {run_n} runs in the {inning_n} inning'.format(run_n,inning_n))
KeyError: 'run_n'






<center>? 疑问</center>

下面的代码为何可以先对变量赋值,然后可以带入,还需要学习

city = input("write down the name of city:")
url = "http://apistore.baidu.com/microservice/weather?citypinyin={}".format(city)

此段代码可以填补空缺中的城市数据






四、函数

Python3.50 版本有68个内建函数(build-in function)。
内建函数:就是python自带函数
python官网中对各函数的介绍:https://docs.python.org/3/library/functions.html

  • 创建函数
    • 常见语法单词

      1. def(即define)含义是创建/定义函数 ←关键字
      2. arg(即argument,参数)
      3. return(即返回结果) ←关键字

      Syntax 语法

      def function (arg1, arg2):
          return 'something'
      

      语法口诀

      Define a function named 'function' which has two arguments: arg1 and arg2, returns the result ---'something'

      注意!

      • 符号只能使用英文符号
      • 需要缩进的地方一定要缩进,缩进是为了表明语句和逻辑的从属关系,是python中最显著的特征之一。
  • exp
    def fahrenheit_converter(C):#定义Fahrenheit_converter函数,函数参数为 C
         fahrenheit = C*9/5+32 #定义变量fahrenheit与C的转换关系
         return str(fahrenheit)+'°F' #返回string化的Fahrenheit
    C2F =fahrenheit_converter(35) #定义变量C2F等于Fahrenheit_converter,参数值等于35
    print(C2F) #打印C2F变量
     
      ---
    run result:
    95.0°F
    
  • Practice
    def hypotenuse_calculator(a,b):
        h=pow(pow(a,2)+pow(b,2),0.5)
        return str(h)
    
    long_side=hypotenuse_calculator(3,4)
    print('the longest side equals to '+long_side)
    
    ---
    run result:
    the longest side equals to 5.0
    

五、传递函数与参数类型

传递参数的方式有两种:a.位置参数 positional argument b.关键词参数 keyword argument

  • 位置参数:按照参数的位置传入参数值的方式叫位置参数。

    def trapezoid_area(base_up, base_down, height):
        return 1/2*(base_up + base_down)*height
        
    trapezoid_area(1,2,3)
    
  • 关键词参数:直接带上关键词赋值,关键词的顺序可以随意排列。

    def trapezoid_area(base_up, base_down, height):
        return 1/2*(base_up + base_down)*height
        
    trapezoid_area(base_up=1,base_down=2,height=3)
    

    注意: 位置参数和关键词参数可混用,但关键词方式不能放在前部,且必须按照定义参数时,参数的排列顺序来。

  • exp
trapezoid_area(1,2,height=3)     #正确
trapezoid_area(base_up=1,base_down=2,3)    #错误
trapezoid_area(height=3,base_down=2,1)    #错误

?P48-50有疑问

六、设计自己的函数

  • exp

    def text_create(name,msg): #定义函数的名称和参数;
        desktop_path='c://users/lokoR/Desktop/' #open打开新建文件的路径
        full_path=desktop_path+name+'.txt' #传入的参数加上桌面路径再加上后缀就是完整的文件路径
        file=open(full_path,'w') #打开文件,'w'代表作为写入模式,意思是:如果没有就在该路径创建,如果有则覆盖
        file.write(msg) #写入传入的参数msg
        file.close() #关闭文本
        print('Done') #显示 Done
     text_create('hello','hello world') #给参数赋值,name=hello,msg=hello world
    

转载于:https://www.jianshu.com/p/2316372b591f